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
Kindrecord
Record keytid
Authorityconsentvid.org
Indexed

Record

record · key tid

Properties

adultAttested

requiredboolean

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

authorshipAttested

requiredboolean

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

Strength 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: 64
  • knownValues: attested | self-attested | unverified

compensation

requiredstring

What compensation the contributor declares they expect. Informational only: ConsentVid does not broker or enforce payment.

  • maxLength: 64
  • knownValues: none | credit-only | monetary

createdAt

requiredstring · datetime

Record write time. Informational: there is only ever one consent per video.

expiresAt

string · datetime

Optional expiry; after this time the consent is no longer valid. Must be later than createdAt.

modalities

requiredarray

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: 1
  • maxLength: 8
itemsstring
  • maxLength: 64
  • knownValues: video | audio | transcript | face | voice

modelClasses

requiredarray

WHO may use the data, and under what release model.

  • minLength: 1
  • maxLength: 8
itemsstring
  • maxLength: 64
  • knownValues: academic | open-weights | commercial

peoplePresent

requiredstring

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: 64
  • knownValues: only-me | all-consented | no-identifiable-people

purposes

requiredarray

What the data may be used FOR.

  • minLength: 1
  • maxLength: 8
itemsstring
  • maxLength: 64
  • knownValues: training | evaluation | benchmarking

Basis on which the contributor may grant consent: 'own-recording' = they captured it, 'licensed' = licensed from the creator, 'other-rights-holder' = other documented basis.

  • maxLength: 64
  • knownValues: own-recording | licensed | other-rights-holder

subject

requiredref

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 match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • A 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

  • A 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.

  • A 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.