Permission before generation.
PRE-GEN is an open protocol. Before an AI system generates a real person, brand or work, it asks a registry. The registry answers with a signed decision that anyone can check later.
How it works
- 1. DetectThe provider matches the prompt against the registry's public subject index.
- 2. Ask
POST /v1/verify/with the subject and the intended use. The registry returns a signed decision. - 3. ReportAfter generating, the provider files a receipt that ties the output to that decision.
Four answers
| disposition | Meaning | Provider |
|---|---|---|
| allow | A licence covers this use. | Generate, apply the obligations, file a receipt. |
| not_blocked | Personal use that nothing prohibits. No licence is granted. | May generate under its own policy. Report it; there is no receipt. |
| review | The rights holder has to decide. | Do not generate yet. |
| deny | Refused. The PG_* reason code says why and whether retrying can help. | Do not generate. |
What it does not do
- It does not stop generation by systems that never ask.
- A decision proves what the registry answered to a declared request. It does not prove the output matched the request, or that a use is lawful.
- It is not provenance. C2PA says what was made; PRE-GEN says whether it was allowed. They work together — see C2PA.
One protocol, many registries
The specification and test vectors are Apache-2.0: anyone can run a registry or integrate without asking permission. Each registry gets a four-letter prefix, so codes from different registries never collide (PG-NWRD-000042=). Registries lists who runs PRE-GEN today.
Look up any PG code: pregen.org/lookup.