Fork Any App, Read Its Source
SkillSafe apps can now opt in to forking: anyone can read an app's complete source — prompt and files — and clone it into their own account in one click, with lineage recorded and pricing never copied.
An AI app asks for a strange kind of trust. You type into a box, tokens get metered against your wallet, and something happens on a server you can’t see. The pitch of every hosted-app platform — ours included — is “trust the platform’s review.” That’s necessary, but it shouldn’t be the ceiling.
So we’re raising it. SkillSafe apps can now be forkable: the publisher flips one flag, allow_fork, and from that moment anyone can read the app’s complete source and clone it into their own account in one click. The directory is filling up with apps you can open like a book.
View source, the whole source
For a forkable app, GET /v1/apps/{slug}/source returns everything that makes the app what it is: the pinned system-prompt snapshot and the full file listing of its latest release — static frontend and server functions alike — with each file readable individually. This is the allow_fork contract: not a README or a marketing page, but the actual artifacts the platform serves and runs.
Why does that matter more for AI apps than for ordinary web apps? Because an AI app’s behavior is its prompt. You can’t audit a system prompt from the outside by clicking around — the interesting part is precisely what’s normally hidden. Open-by-default (for apps that opt in) means a user can check what an app is instructed to do with their input before they paste anything sensitive into it, and a fellow builder can learn from a working app instead of reverse-engineering it.
Fork it, make it yours
POST /v1/apps/{slug}/fork clones a forkable app into your account under a slug you choose. A fork is a real, independent app, and it goes through the front door: the source prompt is saved as a fresh skill in your account, the release is re-uploaded, and both pass the same security scan as any new upload. No side channel, no scan exemption for copies.
What a fork copies:
- The prompt snapshot — the app’s brain, copied directly onto your new app.
- The latest release — every frontend file and server function.
- Collection declarations — the app’s data schema, re-synced from the release (never the data itself).
- Secret names only — empty placeholders telling you which secrets the app expects. Values never leave the source app.
What a fork never copies:
- Pricing. Markup resets to 0 — you set your own.
- BYOK provider keys, subscription plans, sponsorship budgets, and custom domains.
- User data. The source app’s users and records stay exactly where they are.
Every fork records forked_from lineage, so a fork is always attributable to its source — credit flows backward even as the code flows forward. And forks start unlisted: your clone isn’t in the directory until you choose to publish it, which runs the normal scan gate.
The fine print, briefly
Forking requires a verified account, and forks count toward your hosted-app cap like any other app: 5 on Free, 50 on Pro, unlimited on Team and Enterprise. allow_fork is opt-in per app — publishers who’d rather keep their prompt closed simply leave it off, and nothing changes for them. Note the asymmetry is deliberate: view-source comes with forkability, because a source you can read but not run somewhere you control is only half a promise.
If you’ve built an app worth learning from, flip the flag. If you’ve been meaning to build one, find a fork-friendly starting point and skip the blank page — the platform mechanics are covered in the Apps Platform docs.