API · Article 50 Attestation
De mededeling, en waar in het gesprek ze gedaan is.
POST https://api.audact.ai/v1/attestation
De publieke API-host. De codevoorbeelden documenteren de bedoelde interface en de endpoints die binnen het huidige product worden gebruikt.
Op deze host wordt nog geen publieke API aangeboden, behalve de gepubliceerde Merkle-wortels op /v1/metachain. De endpoints die binnen het product worden gebruikt zijn niet hetzelfde als een publieke API.
Waarom deze status
- Bewering
- In ontwikkeling · Alleen na aanvraag
- Reikwijdte
- De publieke API-host. De codevoorbeelden documenteren de bedoelde interface en de endpoints die binnen het huidige product worden gebruikt.
- Grond
- Op deze host wordt nog geen publieke API aangeboden, behalve de gepubliceerde Merkle-wortels op /v1/metachain. De endpoints die binnen het product worden gebruikt zijn niet hetzelfde als een publieke API.
- Wat het niet vaststelt
- Dat een afzonderlijk endpoint vandaag werkt. Dat wordt per endpoint bevestigd, en die bevestiging staat open.
- Wat u vandaag kunt krijgen
- Productietoegang zit in een lopend betaald contract. Endpoints worden niet apart geprijsd.
- Laatst nagekeken
- 5 oktober 2026
- Waar u het nakijkt
- /apis
Article 50 Attestation: In gecontroleerde tests
Eén aanroep legt vast dat de persoon te horen heeft gekregen dat hij met een AI spreekt: welke formulering, in welk rechtsgebied, op welk moment in het gesprek. U krijgt een bon terug met de hash van de mededeling, het Merkle-inclusiepad en de schakel naar de vorige bon. De plicht is de mededeling; dit eindpunt zorgt dat u kunt laten zien dát u haar deed.
POST /v1/attestation
curl -X POST https://api.audact.ai/v1/attestation \
-H "Authorization: Bearer $AUDACT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"interaction_id": "call_8h2k9d7",
"modality": "voice",
"article_50_clause": "1",
"disclosure_method": "spoken_intro",
"agent_identity": "ai_agent_v3",
"jurisdiction": "NL",
"subject_hash": "sha256:e3b0c44..."
}'Alleen digest – geen leesbare inhoud
200 OK · compliancebon
{
"event_id": "550e8400-e29b-41d4-a716-446655440000",
"receipts": [
{
"event_id": "c8e04f3a-2b71-4d9e-8a6c-1234567890ab",
"sequence": 1,
"turn": 1,
"verdict": "MODIFY",
"input_hash": "9b1d…e04a",
"output_hash": "a3f7…c12b",
"auth_mechanism": "hmac-sha256",
"signature": "ba7816…",
"receipt_format_version": "1.0.0",
"verifiability": "verifiable"
}
],
"evidence_chain": {
"head_hash": "0b8e…7a13"
},
"merkle_proof": {
"status": "pending",
"merkle_root": "0x4a7d1ed414..."
},
"tsa_timestamp": {
"status": "included",
"timestamp_token": "MIIE…(base64 DER, truncated)",
"tsa_url": "https://freetsa.org/tsr",
"covers": "merkle_root"
},
"auth_mechanism": "hmac-sha256",
"signature": "ba7816bf8f01cfea..."
}receipts[] bevat de volledige ReceiptRef: event_id, sequence, turn, verdict, input_hash en output_hash (zonder sleutel na te rekenen), auth_mechanism, signature, receipt_format_version en verifiability. merkle_proof draagt het insluitingsbewijs (`event_inclusion_proof`, `cross_tenant_proof`, `merkle_root`); `POST /v1/verify-inclusion` controleert één takbewijs zonder sleutel, en de gepubliceerde wortel staat op api.audact.ai/v1/metachain. auth_mechanism is hmac-sha256 onder een symmetrische sleutel die door Audact wordt beheerd — geen handtekening en geen openbare verificatiesleutel. tsa_timestamp draagt een RFC 3161-token van freeTSA.org, een gratis openbare dienst en geen gekwalificeerde vertrouwensdienst onder eIDAS.
Wat de wet vereist
- Wie met een AI-systeem communiceert, moet daarover geïnformeerd worden, tenzij het uit de omstandigheden en de gebruikscontext duidelijk is.
- Verordening (EU) 2024/1689, art. 50(1), van kracht sinds 2 augustus 2026
- De informatie moet uiterlijk bij de eerste interactie worden gegeven, duidelijk en te onderscheiden.
- Verordening (EU) 2024/1689, art. 50(5)
- Aanbieders van systemen die synthetische audio, beeld, video of tekst voortbrengen, moeten die uitvoer machineleesbaar markeren als kunstmatig gegenereerd.
- Verordening (EU) 2024/1689, art. 50(2)
- Een volledige herkomstketen is niet verplicht. De richtsnoeren van de Commissie zeggen dat uitdrukkelijk.
- Richtsnoeren C(2026)5054 van 20 juli 2026, punt (73)
- Systemen die vóór 2 augustus 2026 op de markt waren, hoeven pas vanaf 2 december 2026 aan art. 50(2) te voldoen.
- Digital Omnibus (EU) 2026/1744, in werking 27 juli 2026, invoegend art. 111(4)
Wat dit eindpunt doet
- Legt de mededeling vast met de hash van de formulering en de positie in het gesprek.
- In gecontroleerde tests
- Merkle-inclusiepad en ketenschakel komen in hetzelfde antwoord terug.
- In gecontroleerde tests
- Formulering per rechtsgebied, omdat de nationale laag bovenop artikel 50 verschilt.
- Duitsland: nationale beleidslaag actief. Nederland: in ontwikkeling. België en Oostenrijk: gepland.
- Machineleesbare markering van synthetische audio onder art. 50(2). Die zou in een latere versie zitten; er is geen datum vastgesteld en vandaag zit het niet in het product.
- Gepland
- Een publieke controlepagina voor bonnen.
- Nog niet beschikbaar
Wanneer aanroepen
Eén keer aan het begin, en opnieuw waar het gesprek kantelt.
Het minimum is één vastlegging bij de eerste interactie; dat is wat art. 50(5) vraagt. In de praktijk verdient een tweede zich terug op elk moment dat de aard van het gesprek verandert: een overdracht, een nieuw onderwerp, een moment waarop een beller het redelijkerwijs vergeten kan zijn. De bonnen zijn geschakeld, dus een latere lezer ziet de volgorde en niet alleen de eerste regel.
- Spraakagenten: inkomend en uitgaand, bij aanvang en bij elke wezenlijke wending.
- Chatvensters: elk door AI opgesteld bericht draagt zijn eigen bon.
- Demonstraties met synthetische stem: de mededeling is hier gedekt; de markering onder art. 50(2) zit vandaag niet in het product.
Eerlijk over het mechanisme
Wat een derde kan narekenen, en wat niet.
Drie velden op de bon kan iedereen vandaag narekenen, zonder sleutel en zonder account: de hash van wat erin ging, de hash van wat eruit kwam en de schakel naar de vorige bon. De vierde, de insluiting in de Merkle-wortel, wordt met het insluitingsbewijs uit het artikel 50-rapport van het gesprek getoetst aan de gepubliceerde wortel. Wie de drie narekent maakt elke latere wijziging of herordening detecteerbaar, tegen het bewaarde commitment.
De authenticatiecode is HMAC-SHA256 onder een symmetrische sleutel die door Audact wordt beheerd. Dat is echte cryptografische authenticatie en het is geen handtekening: wie hem kan controleren, kan hem ook maken. Daarom beschrijft deze pagina wat de keten laat zien, en niet wat een handtekening zou bewijzen.
Vragen
- Vereist artikel 50 bewijs dat de mededeling gedaan is?
- Nee. Het artikel vereist de mededeling. Of u kunt laten zien dát ze gedaan is, wordt pas relevant als iemand ernaar vraagt: een klant, een toezichthouder, een rechter. Daar is de compliancebon voor: één per bestuurde interactie, waarvan drie velden door iedereen zonder sleutel na te rekenen zijn — zonder account, zonder toegang tot onze database. Bekijk een bon veld voor veld op /proof.
- Komt de tijdstempel van een gekwalificeerde vertrouwensdienst?
- Nee. Het is een RFC 3161-tijdstempel van freeTSA.org, een gratis openbare dienst. Hij legt een volgorde vast tegen onze eigen keten; freeTSA.org is geen gekwalificeerde vertrouwensdienst onder eIDAS, dus dit is geen gekwalificeerde tijdstempel en we presenteren het ook niet zo.
- En de machineleesbare markering onder art. 50(2)?
- Ze zit vandaag niet in het product en er is geen datum vastgesteld. Dit eindpunt dekt de mededeling onder art. 50(1) en legt die vast; de markeringsplicht onder 50(2) ligt bij de aanbieder van het genererende systeem.
Artikel 50 in het gesprek, niet in een document
De compliancepagina draagt de tekst van de plicht, de richtsnoerpunten die haar verzachten, en de aanbieder-versus-gebruiksverantwoordelijkevraag die bepaalt aan welke kant een bureau valt.
Verwant
Alle zes API's EU AI-verordening De plicht, met haar bronnen.
Evidence Vault Waar de bonnen landen.
Bonverkenner Reken zelf een keten na.
Eigen opzet toetsen Een paar vragen, één antwoord.
Proof Wat de keten laat zien, regel voor regel.
