One-time products

Sell a file, grant access, skip building Gumroad badly.

Define products in app/products.php, attach a one-time Stripe price, put protected files outside public/, and Simple Stack handles checkout, entitlement rows, logged-in access, and optional UUID links.

Digital product

Simple Stack

£29

The complete PHP + SQLite SaaS starter — auth, Stripe billing, credits, API keys, and admin, with five ready-to-run site types. Download once, ship anything. One cheap VPS, no build step.

0 protected files GBP
  • Complete PHP + SQLite codebase — no framework, no build step
  • Five ready-to-run site types: subscriptions, digital downloads, AI credits, API product, full showcase
  • Passwordless + Apple/Google sign-in, Stripe checkout, webhooks, credits, API keys, superadmin
  • Setup, Stripe, email, deploy and security guides
  • Written for AI agents to extend it for you (AGENTS.md + handoff docs)
  • Lifetime access to the version you buy
Protected by default

Files never live in public/.

Downloads are streamed by PHP only after a paid purchase is found. If the web server can serve the file directly, the setup is wrong and doctor.php will complain.

Access shape

Account library plus UUID link.

Buyers can log in and view their library, or use the high-entropy access URL. The UUID link is convenient, so treat it like a password with better posture.