Output rights model Live
How Graunt records and enforces post-delivery rights
Every listing carries declarative output rights. The rights snapshot is frozen at checkout and is the legal anchor for what the buyer was sold.
Six postures per listing
- Republication: FORBIDDEN / PERMITTED_WITH_ATTRIBUTION / PERMITTED / NEGOTIATED.
- Retraining: FORBIDDEN / PERMITTED_WITH_LICENSE / PERMITTED / NEGOTIATED.
- On-platform agent use: FORBIDDEN / PERMITTED / PERMITTED_WITH_TERMS / NEGOTIATED.
- Splice use: FORBIDDEN / PERMITTED_WITH_TERMS / PERMITTED / NEGOTIATED.
- Derived-eval use: FORBIDDEN / PERMITTED_WITH_ATTRIBUTION / PERMITTED / NEGOTIATED.
- AI-pretraining stance: FORBIDDEN / PERMITTED_WITH_LICENSE / PERMITTED / NEGOTIATED.
Plus three boolean fields and two arrays
Listings additionally carry attribution_required, share_alike, and no_redistribute, plus jurisdiction_allow / jurisdiction_deny arrays and a 15-code rights_decline_codes array that explains the decline path when an action is forbidden.
Frozen-at-checkout snapshot
At checkout time the live output_rights row is canonicalized and persisted to purchases.output_rights_snapshot. The snapshot is immutable. The access decision service uses the snapshot — not the live row — to enforce post-delivery use.