org.consentvid.consentV2
A consent receipt (version 2 of org.consentvid.consent) declaring permissions for AI use of an org.consentvid.videoV2 record, signed by the contributor's repo key. The record key MUST equal the record key of the referenced video (a sidecar record, like app.bsky.feed.threadgate); consents with any other key are ignored. So there is at most one consent per video: replacing terms rewrites this record, and deleting it withdraws consent (consent must always be withdrawable, GDPR Art. 7(3)). Vocabulary values must not contain control or format characters, and list fields must not repeat a value.
Details · record, key tid
| Kind | record |
|---|---|
| Record key | tid |
| Authority | consentvid.org |
| Indexed |
Record
record · key tidProperties
The contributor affirms, under their signing key, that they are an adult (18 or older, or the age of majority where they live, if higher) and legally capable of giving this consent. Self-declared, not verified.
const: true
The contributor affirms, under their signing key, that they recorded this video themselves (or are otherwise its rightful author) and are authorized to grant this consent.
const: true
captureProvenance
stringStrength of the capture-provenance guarantee. 'attested' = capture-time cryptographic provenance (e.g. C2PA/CAWG) binds the recording to the contributor's DID; 'self-attested' = signed authorship attestation only; 'unverified' = neither.
maxLength: 64knownValues: attested | self-attested | unverified
What compensation the contributor declares they expect. Informational only: ConsentVid does not broker or enforce payment.
maxLength: 64knownValues: none | credit-only | monetary
Record write time. Informational: there is only ever one consent per video.
expiresAt
string · datetimeOptional expiry; after this time the consent is no longer valid. Must be later than createdAt.
What may be used: 'video' = the picture; 'audio' = the soundtrack; 'transcript' = text derived from the speech; 'face' = identifiable faces (e.g. for face recognition or synthesis); 'voice' = identifiable voices (e.g. for speaker recognition or voice cloning). 'face' and 'voice' are incompatible with peoplePresent 'no-identifiable-people'.
minLength: 1maxLength: 8
maxLength: 64knownValues: video | audio | transcript | face | voice
WHO may use the data, and under what release model.
minLength: 1maxLength: 8
maxLength: 64knownValues: academic | open-weights | commercial
Who identifiably appears or is heard in the video: 'only-me' = only the contributor; 'all-consented' = every identifiable person gave the contributor permission for this use; 'no-identifiable-people' = no identifiable face or voice. Readers reject other values.
maxLength: 64knownValues: only-me | all-consented | no-identifiable-people
What the data may be used FOR.
minLength: 1maxLength: 8
maxLength: 64knownValues: training | evaluation | benchmarking
rightsBasis
stringBasis on which the contributor may grant consent: 'own-recording' = they captured it, 'licensed' = licensed from the creator, 'other-rights-holder' = other documented basis.
maxLength: 64knownValues: own-recording | licensed | other-rights-holder
The exact video version this consent applies to: uri is the DID-form at://<did>/org.consentvid.videoV2/<rkey> in the same repo, with the same record key; cid is that record's CID (dag-cbor). If the video record is rewritten, this consent no longer applies to it.
Similar lexicons
semantic matchLexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
org.consentvid.consent
recordA consent receipt declaring permissions for AI training use of a referenced video record. Cryptographically signed by the user's repo key (inherent to ATproto records). The record key MUST equal the record key of the referenced org.consentvid.video record (a sidecar record, like app.bsky.feed.threadgate); consents with any other key are ignored. There is therefore at most one consent per video; replacing terms rewrites this record, and deleting it withdraws consent. Readers treat a consent as in
-
org.consentvid.videoV2
recordA video registered for inclusion in a consent-first dataset (version 2 of org.consentvid.video). The record commits to the bytes by content hash and says where they are stored; it does not hold them. Its consent, if any, is the org.consentvid.consentV2 record in the same repo with the same record key (a sidecar record). Records are public: never put personal data or filesystem paths in them.
-
org.consentvid.video
recordA video registered for inclusion in a consent-first dataset. Storage of the bytes is decoupled: this record only commits to a content hash and a pointer. Its consent, if any, is the org.consentvid.consent record in the same repo with the same record key.