consentvid.org
ATProtoC2PACroissant-RAIApache-2.0

A consent layer for video AI.

Crowdsourced video clips with per-clip permissions — purpose, model class, modality, expiry — cryptographically signed by the contributor on ATProto. Revocations propagate through the public firehose in real time, and every dataset row traces back to its signed receipt.

consent receipt✓ signed
diddid:plc:u73ld57pmwsta45y45uitdfi
videoat://…/org.consentvid.video/3mkm6izdo6u2o
consentat://…/org.consentvid.consent/3mkm6zmigrx2v
termstraining, evaluation · academic, openWeights · revocable=true

The problem

Video dataset curation has a consent problem.

YouTube rate limits make dataset-scale download infeasible. Bluesky is short-form and never consented to AI use. The nearest alternatives don't fit the gap.

Spawning · Do Not Train

Opt-out only — 80M URLs honored on goodwill, applied to data that already left.

Sony FHIBE

Right idea on images (Nature 2025): ~10k frames, centrally curated, revocable — but small, and not video.

Mozilla Common Voice

Gold-standard opt-in crowdsourcing — but audio, with no per-contribution cryptographic provenance.

ConsentVid

Federated · video · consent-first · cryptographically signed. The empty intersection — filled.

How it works

Three parties, one open protocol.

Every record lives in the contributor's own ATProto repo, signed by their key. No central database. Revocation is a record deletion. Storage is decoupled from metadata.

1

Contributor

Sign consent

Register a clip and a granular receipt on your own PDS — purpose × model class × modality × expiry × revocable. Your repo key signs both.

2

AppView

Index the firehose

Subscribes to Jetstream, indexes every org.consentvid.* record, validating on ingest. Deletions mark consent revoked in real time.

3

Researcher

Cite signed receipts

Export a Croissant-RAI manifest. Each file embeds its consent receipt's AT-URI. Re-sync revocations before each training run.

Status

Working today, on the live network.

Registered, validated, and revoked on live ATProto. Bytes on R2, IPFS, or PeerTube; the platform holds only signed records and hashes.

The AppView indexes Jetstream in real time (validating on ingest); datasets export a Croissant-RAI manifest; consumers re-sync revocations with consentvid resync; consent can be embedded in the bytes as a signed C2PA manifest; and the org.consentvid.* lexicons are published and DNS-resolvable.

contributor did
did:plc:u73ld57pmwsta45y45uitdfi
content hash
sha256-29506f94…e1e3e360
video · at-uri
at://…/org.consentvid.video/3mkm6izdo6u2o
consent · at-uri
at://…/org.consentvid.consent/3mkm6zmigrx2v
"@type": "sc:Dataset", "conformsTo": "…/croissant/1.0",
"distribution": [{ "@type": "cr:FileObject", "sha256": "29506f94…",
  "cr:consentReceipt": {
    "atUri":        "at://…/org.consentvid.consent/3mkm6zmigrx2v",
    "purposes":     ["training", "evaluation"],
    "modelClasses": ["academic", "openWeights"],
    "revocable":    true }}]

Compared

Where ConsentVid sits.

ProjectModalityApproachSignedFederatedRevocable
ConsentVidVideoConsent-firstyesyesyes
Sony FHIBEImageConsent-firstpartialnoyes
Mozilla Common VoiceAudioConsent-firstnonopartial
Spawning DNTGenericOpt-outnonon/a
DECORAITGenericRegistry (DLT)yespartialyes

Why now

The substrate finally exists.

Aug 2026

EU AI Act, Art. 53

GPAI providers must publish training-data summaries with rights-holder opt-outs. ConsentVid is compliance infrastructure — signed, machine-readable, auditable.

May 2025

C2PA v2.2

Added video provenance and AI-training-consent assertions. Sony shipped a C2PA video camera; OpenAI committed Sora outputs.

Mar 2025

ATProto #3617

The community proposed "User Intents for Data Reuse." Active, no implementation. ConsentVid ships a concrete answer.

Roadmap

Shipped — and what's next.

Shipped

Consent, provenance, storage, revocation

Signed records on the live network. R2 / IPFS / PeerTube storage. Revocation re-sync + feed. C2PA in-file provenance. Lexicons published, DNS-resolvable, client-side validated.

Next

Web uploader. First contributor community

A browser uploader for non-CLI contributors; hosted manifests; a hosted AppView. Onboarding one motivated community — egocentric, sign language, or oral history.

Later

Loader. Compensation. Compliance

A consentvid-loader that re-syncs revocations and verifies signatures in one call. Optional compensation. EU AI Act Art. 53 alignment.

Three ways in.

Contribute video

A Bluesky account, the CLI, consent terms you choose. Revoke any time. Your repo, your key.

CLI quickstart →

Train on consented data

Run the AppView, filter by purpose and model class, export a Croissant-RAI manifest, re-sync before each run.

AppView guide →

Collaborate

Funders, academic collaborators, ATproto and dataset-tooling contributors — get in touch.

evangelos.kazakos@cvut.cz