Live op deze site fixture (voorbeelddata)
Jouw regels, zichtbaar gehandhaafd.
Geef een functie toegang tot één veld. Bekijk het resultaat. Zie hoe ze wordt geweigerd bij een privéveld. Trek in, probeer opnieuw en zie de nieuwe poging mislukken. Elke beslissing wordt gehandhaafd tussen de functie en jouw data, en vastgelegd.
De toestand van de scène wordt gemeld in de trace (logboek van beslissingen) hieronder; het beeld bevat geen informatie die niet ook in de trace staat.
Zes stappen, zestig seconden
Wisselen van taal (NL · EN in de kop) opent de pagina in de andere taal bovenaan en start de demonstratie opnieuw; niets van wat je hier deed blijft bewaard.
- 1StartMaak de voorbeelddata aan (een week agenda-afspraken, één privénotitie, drie contacten). Niets verlaat dit tabblad.
- 2Toestemming gevenGeef de planningsassistent alleen toegang tot je vrije tijd.
- 3UitvoerenHij stelt drie tijdsloten voor. Hij vraagt ook om de titels van je afspraken, en wordt geweigerd.
- 4Bekijk de weigeringDe briefingschrijver vraagt om je privénotitie en je contacten, zonder enige toestemming.
- 5Intrekken en opnieuw proberenTrek de toestemming in en voer de assistent opnieuw uit. Hij mislukt, en zegt waarom.
- 6Reset, of speel vrijGeef of trek toestemming in voor elk veld, voor elk van beide functies hieronder, en voer dan uit.
Toestemmingen live op deze site
Elke toestemming geldt voor één functie en één veld. Een functie kan een veld alleen bereiken via het beleid, dat elke beslissing eerst in de trace vastlegt.
Resultaat fixture
Druk op Start.
Trace live op deze site
Negen velden per beslissing: used, permitted, objective, actor, action, contacted, why, rule, result.
Netwerk gemeten
– resourceverzoeken waargenomen · – fetch/XHR-pogingen
Twee aparte tellers, allebei vanaf het moment dat je op Start drukte: resourceverzoeken die de browser van deze pagina waarnam (PerformanceObserver), en fetch- of XHR-aanroepen die deze pagina probeerde te doen (geteld bij verzending). Ze zijn een meting van deze pagina in jouw browser, geen bewijs over iets anders.
Wat dit bewijst live op deze site
- één afgebakende workflow van individuele controle: toestemmingen, weigeringen en intrekkingen, gehandhaafd op het punt van datatoegang
- de handhaving is niet het beeld: de uitvoer van de functie verandert omdat het lezen werd toegestaan of geweigerd — lees, draai en reproduceer het contract
- elke beslissing wordt vastgelegd in een trace van negen velden die je kunt lezen en exporteren
Wat het niet bewijst architectuur
- een complete Agent of One: de twee functies zijn fixtures zonder bijwerkingen; er wordt geen afspraak gemaakt en met niemand wordt contact opgenomen
- iets over servers: de verzoekenteller meet alleen deze pagina
- de onafhankelijkheid van de origin: de controle hieronder toont overeenstemming met wat deze origin publiceerde, geen onafhankelijkheid ervan
Exporteer, controleer en manipuleer dan live op deze site
Controleer de site die deze pagina leverde
Elke pagina en elk bestand dat deze site serveert, staat in een manifest met zijn sha256 — op het manifest zelf en de handtekening ervan na; het manifest is ondertekend met de Ed25519-releasesleutel van de site. Je browser downloadt het manifest, de handtekening, de sleutel en de vermelde statische bestanden van deze origin en controleert ze hier; de geëxporteerde trace en de manipulatiecontrole hieronder blijven in je browser. Buiten deze reikwijdte: het lead-endpoint en alles wat een server uitvoert.
1 · Handtekening en bestanden gemeten in je browser
Haalt /built-manifest.json, de handtekening ervan en de publieke sleutel op van deze origin, verifieert de Ed25519-handtekening met WebCrypto, downloadt daarna elk vermeld bestand en vergelijkt de sha256 ervan met het manifest.
| bestand | sha256 waargenomen | bytes |
|---|
2 · Manipuleer een export gemeten in je browser
De trace die je hierboven exporteert, bevat een sha256-digest (controlegetal) over elk veld van de export behalve digest en digest_of (sleutels gesorteerd), en noemt de release waarbij hij hoorde. Laad hem hier, wijzig een waarde die de digest dekt — een regel, een veld, een tijdstempel, de fixture-vlag — terwijl je de oorspronkelijke digest behoudt, en controleer opnieuw: de digest klopt niet meer en het eerste gewijzigde veld wordt genoemd. Alleen digest_of wijzigen wordt niet gedetecteerd, en een bewerking waarvan de digest opnieuw is berekend, klopt weer: de digest is niet ondertekend.
Wat dit bewijst live op deze site
- consistentie van bestanden: wat deze origin nu serveert, komt bestand voor bestand overeen met het manifest dat hij publiceerde, gehasht in jouw browser
- toeschrijving van de ondertekenaar: het manifest is ondertekend door de houder van de sleutel waarvan deze origin de publieke helft publiceert
- detectie van wijzigingen: zolang de oorspronkelijke digest behouden blijft, klopt een export na een bewerking van een gedekte waarde niet meer met zijn inhoudsdigest en wordt het eerste gewijzigde veld genoemd; digest en digest_of vallen er niet onder, en een opnieuw berekende, niet-ondertekende digest klopt weer
Wat het niet bewijst grens
- de onafhankelijkheid van de origin: sleutel, manifest en controle komen allemaal van dezelfde origin; vergelijk de manifest-sha256 op /built met een die je elders hebt verkregen
- volledige uitvoering of exclusieve opslag: een ondertekend manifest zegt wat er is geserveerd, niet wat elk onderdeel van een systeem deed
- wie een export maakte: de digest ervan is niet ondertekend; hij detecteert een wijziging van de tekst, niet de auteur