Documentation
Pre-generation authorization for AI applications — implements the PRE-GEN protocol. Verify rights before generating content.
How it works
PRAMPTA is a pre-generation rights registry: before your app generates content involving a real, registered person or brand, it asks PRAMPTA for a signed decision. Allowed means generate; refused means stop — and for the most common refusal, the decision itself carries a ready link for the end user to fix it.
A rights holder registers a subject — it gets STD, RND & PRM at once.
Your app calls assertAllowed() (or POST /v1/verify) before generating.
PRAMPTA checks for a valid license and returns a signed decision.
Generate — the decision is your signed proof it was authorized.
Usually PG_NO_LICENSE — decision.remediation.url sends the user to fix it, then retry.
The three license types
Every registered subject offers all three, always, automatically — nobody picks "STD or PRM" at registration. Which one a given generation needs depends on intended_use.use_case in the request.
When a refusal is fixable
Most refusals in the reference list are hard — nothing your user can do fixes them (the subject opted out, a license was revoked). PG_NO_LICENSE is different: it just means no license exists yet, and the decision's remediation.url is a ready link straight to buying or requesting one for that exact subject — send your user there, then retry /verify once they're done. No webhook to build — a refusal that becomes fixable is just a refusal you check again.