For makers selling with Stripe Payment Links
Most static-site kits unlock with an unlisted URL. That URL gets forwarded, pasted and indexed, and every copy keeps working. Check how exposed yours is in two minutes, for free. Then tie access to a real Stripe purchase, on your own free Supabase.
The checker runs entirely in your browser. Nothing you paste leaves this page.
Three quick steps. Only the first is required, but each one makes the result sharper.
Copy it from your browser's address bar, or from your Stripe Payment Link's "after payment" setting.
Open your paid page, right-click and pick "View page source", then select all and paste it here. It's read, never run, and never sent anywhere.
Saved only in this browser.
You don't need a backend, a login system or a monthly bill. You need one small function that asks Stripe a yes-or-no question before anything paid is shown. Here's the whole idea, free to use however you like.
/unlock/?session_id={CHECKOUT_SESSION_ID}. Stripe fills in the real checkout ID for you.The link stops being the product. Old shared links can be retired. Refunds lose access on their own. Lost links come back with an email and a receipt number, and nobody has to email you.
It can't stop a buyer from downloading a file and reposting it. Nothing on the web can. It just makes sure the easy, accidental kind of sharing doesn't hand out your product for free.
I sell small kits from static sites, each with a Stripe Payment Link and an unlisted page behind it. That setup is simple, but the link is the product: you can't tell how many people have it, you can't switch off access after a refund, and you can't change the URL without stranding real buyers.
Paid Page Lock is a do-it-yourself fix for that, written up step by step so you can run it on your own Stripe and Supabase accounts.
Iggy Mwangi
The kit
$39 one time
Everything you need to swap your unlisted link for a real lock:
Runs on your Stripe and your Supabase free plan. Nothing to pay me monthly, and your buyers' data never touches my servers.
Get Paid Page Lock: $39Secure checkout by Stripe. You'll need a Stripe account using Payment Links, a free Supabase account, and a static site you can add one page to. Every setup step is written out, test mode first.
Yes. Anyone who has a file can share it, and no static-site setup changes that. What changes is that the link isn't the product anymore. Most leaks are accidental (a forwarded email, a link in a group chat), and those stop working.
You'll copy files, paste SQL into Supabase's editor, and run a few commands in a terminal. Every step is written out. If you've deployed a static site before, you're fine.
Yes. The unlock page is a single HTML file, and the lock itself runs on Supabase, so any static host works. The guide includes Cloudflare Pages header files and notes for the others.
Supabase pauses free projects after a week of low activity. The kit includes a free daily ping you can run on a Cloudflare Worker (or any scheduler you already use), plus how to check it's working. Supabase's paid plans never pause.
The kit has a migration plan. You import past buyers from a Stripe export, send each one a personal link, and point the old URL at the new unlock page so nobody gets stranded.
Probably not. Those platforms already host and gate your files. This is for people using Stripe Payment Links with their own site.
Yes. One Supabase project can lock as many products as you like. Each product is one row in a table.
Contact Iggy at iggym.github.io.