Who's behind PaidCheck

PaidCheck is built and run by Frank Murcelo, a solo builder in Lancaster, Pennsylvania. It's self-funded, and the code is written with AI assistance and reviewed before it ships. There's no team behind a support queue: email support@paidcheck.app and it reaches Frank.

PaidCheck compares Stripe with who actually has access in your app, and flags people who paid but are locked out, people who stopped paying but still have access, double charges and failed webhooks. Because that means handing over a Stripe key, this page explains plainly what that key can see and what happens to it. The Security page and Privacy Policy have the full detail.

What the read-only key can see

PaidCheck asks for a Stripe restricted key (rk_live_… or rk_test_…). When you create it, you set these to Read and everything else to None:

CustomersReadmatch a subscription to the customer's email, ID and metadata
Subscriptions (Billing)Readknow who is active, trialing, past_due, unpaid or canceled, and seat quantities
ChargesReaddetect duplicate charges, refunds and one-time payments
EventsReadfind events whose webhook delivery failed (pending_webhooks > 0)
Webhook EndpointsReaddetect disabled endpoints and endpoints missing key events
Checkout SessionsRead (optional)one-time purchases (mode=payment) and telling separate checkouts apart
InvoicesRead (optional)link charges to subscription periods (fewer double-charge false positives) and invoice emails
EntitlementsRead (optional)count Stripe active entitlements as paid access

With those permissions, PaidCheck reads customers (ID, email and user-ID metadata), subscriptions (status, price, interval, quantity), charges from the last year (amount, currency, time, refund status, billing or receipt email, description and metadata), events from the last 30 days that weren't delivered to your webhooks, and your webhook endpoints' URLs, status and event types. If you add the optional permissions, it also reads invoices, completed Checkout Sessions and active entitlements.

What it can't see or do

What's stored, and what isn't

The Security page lists every item and how long each is kept.

How to revoke the key

  1. In the Stripe Dashboard, go to Developers → API keys.
  2. Find the restricted key you created for PaidCheck and roll or delete it. PaidCheck can't read anything after that.
  3. If you have a monitored app, use Delete app & keys on its page to delete the encrypted credentials, report and history right away. To delete your whole account, email support@paidcheck.app.

For the free report there's nothing to delete on our side, since nothing was stored, but you can still delete the key in Stripe when you're done.

Run the free report or look at an example report first.