Skip to content

Proof

A released bundle you can open.

This is the whole output of one case, an employee asking for everything her employer holds on her, run through the product end to end and released the way an operator releases one. Download it, open the manifest, read the documents. Everybody in it is invented, and the archive says so in its own first file.

ZIP, 264 kB, 9 documents, 9 pages. No sign-up.Skip to the download

01 / The manifestCase VC-2026-0001 · Sheet 01 of 03 · Updated 17 Sep 2026

Every source document, and what became of it.

Read out of the archive's own manifest: 9 documents, 8 released and 1 withheld, 9 pages in all. Detector 1.13.1, verifier 1.7.0, redactions found by mistral-large-latest.

001innsynssak_2026_114_epostraad.emlupload001_innsynssak-2026-114-epostraad.pdf
001atidslinje_innsynssak.pdfemail attachment001a_tidslinje-innsynssak.pdf
002personalmappe_utdrag.docxupload002_personalmappe-utdrag.pdf
003varslingssak_2025_09_notat.docxupload003_varslingssak-2025-09-notat.pdf
004fravaersregister_2025.xlsxupload004_fravaersregister-2025.pdf
005arkivpakke_hms_og_lonn.zipupload005_arkivpakke-hms-og-lonn.pdf
005abedriftshelse_uttalelse.pdfarchive entry005a_bedriftshelse-uttalelse.pdf
005blonnstrekk_2025.txtarchive entry005b_lonnstrekk-2025.pdf
006eksportert_chatlogg_teamskanal.htmluploadwithheldin a format the system cannot read, so its contents could not be checked for personal data

What you are downloading

  • The real output of a real run. Ingest, extraction, detection, entity resolution, policy, render, an independent verification pass, packaging, a spot check, and release through the same door an operator uses.
  • Redaction decisions made by a real model, replayed from recorded completions rather than derived from an answer key.
  • An HR file the size a company actually holds: an email thread with a cc list, a quoted reply and a forwarded customer complaint, a personnel record, an investigation note naming a complainant and two witnesses, an absence register, and a payroll summary.
  • One output document per source document, numbered so the containers are visible: an email and its attachment, and an uploaded archive with the two documents inside it.
  • The manifest, as machine readable JSON and as a document, and the quality report.

What it is not

  • Not a customer case. Veil has no customers, so there is no real disclosure to publish.
  • Not anonymised real material. There was nothing real to anonymise: the people are invented, the email domain is reserved and cannot resolve, and the identifiers are generated to satisfy their own checksums.
  • Not a scan. The one component this run could not replay from a real model is optical character recognition, so the case deliberately contains no scanned document.
The manifest is in the archive twice, as JSON and as a document. The quality report and the README sit beside it.
02 / The quality reportGenerated 20 Sep 2026, 20:40 UTC · Sheet 02 of 03 · Updated 17 Sep 2026

What the run did, document by document.

The report the product wrote for this case, read off its own pages. One row per document: how it was read, how many entities the pass found, how many it could not place, and whether the independent check cleared it for release.

001eml493cleared for release0
001apdf183cleared for releasenone
002docx282cleared for releasenone
003docx213cleared for releasenone
004xlsx203cleared for releasenone
005container00cleared for releasenone
005apdf94cleared for releasenone
005btxt102cleared for releasenone
006none00withheldin a format the system cannot read, so its contents could not be checked for personal datanone

Source coverage, from the report

How much of each source reached detection, counted in the unit that format has: pages for a PDF, rows for a spreadsheet, paragraphs for everything else. A file the product could not open carries no figures at all, and the report says why rather than leaving it open.

00116 of 16 paragraphsall read
001a9 of 9 pagesall read
00210 of 10 paragraphsall read
00310 of 10 paragraphsall read
00420 of 20 rowsall read
0050 of 0 paragraphsall read
005a7 of 7 pagesall read
005b6 of 6 paragraphsall read
006nonenot measured, never extracted

Case summary, from the report

Source documents
9 8 included, 1 withheld
Entity registry
2 subject, 63 kept as not personal data, 15 third party, 0 unresolved
Residual pass rounds
3
The report's methodology and the scope of its detection claim are in the PDF. This sheet shows its numbers and nothing it does not say.
03 / A released pageDocument 002 · page 1 of 1 · Sheet 03 of 03 · Updated 17 Sep 2026

One page, exactly as it left the product.

The requester's personnel record, the first document the archive's README points a reader at. The requester's own bank account is removed from the requester's own file, because the system would not disclose an identifier it could not prove was the requester's, while the date of birth three lines up survives because a person attested it. Every placeholder below is the product's, and there is nothing under it.

002_personalmappe-utdrag.pdf
NORDHAVN TERMINALDRIFT AS. Extract from the personnel file, prepared for an access request under Article 15. Journal ref C070-D3. Personalia Navn ................. the data subject Fødselsdato .......... date of birth, kept Fødselsnummer ........ national identifier, kept Ansattnummer ......... staff number, kept Stilling ............. skiftleder terminal nord Ansatt fra ........... 01.08.2019 Kontonummer .......... redacted, iban Linjeledelse Nærmeste leder ...... redacted, third party b Rolle ................ driftsleder Ansattnummer ......... redacted, redacted HR-kontakt ........... redacted, third party a Ansattnummer ......... redacted, redacted Kompetanse Truckførerbevis ..... klasse T4, fornyet 03.2024 HMS-kurs ............. grunnkurs arbeidsmiljø, 2021 Språk ................ norsk, engelsk, tysk Vernerunde ........... deltok 2023 og 2025 Fravær 2025. Nine days in total across the year, of which six were self certified and three were covered by a medical certificate. The pattern is recorded in the absence register held by the terminal and is summarised here only. No absence in 2025 triggered the follow up threshold in the sickness absence procedure, and no follow up meeting was held. Sidehenvisning: the shift roster for 2025 is held on the personnel file of redacted, third party c and not on this one, because he maintained the register for the whole year. His file is referenced here only so the reader can see where the roster lives. Medarbeidersamtaler. Two appraisals were recorded in 2025, both conducted by redacted, third party b . The second was countersigned by redacted, third party a after the grievance was filed, which is the ordinary sequence when a review is open. Behandling av innsynskravet. The request was received on 27 Feb 2026 and acknowledged the same day. This extract was produced from the personnel system on 05 Mar 2026 and covers the period from 01 Jan 2025 to the date of the request. Nothing has been removed from it by hand; what is not here was not held. Kontrollverdier, ikke gyldige: control value, kept og control value, kept. These two sit in the template as format examples and have never belonged to anybody. This extract is generated from the personnel system and carries no signature of its own.
Case VC-2026-0001 · Document 977edd21-a95b-4c85-9f43-f12bd4ef1a05PAGE 1 OF 1
Generated 20 SEP 2026, 20:40 UTC

Read from the archive's own PDF, text and page stamp alike. Nothing here was typed.

The marked values are this page's substitution, not the product's: the archive holds the released values of the person the request is about, and this site prints none of them, only what kind each one is.

The downloadCase VC-2026-0001

A released bundle you can open.

Download the bundle

ZIP, 264 kB, 9 documents, 9 pages. No sign-up.

SHA-256 f26574238291fa591f7f0fe00342763d39472cec06ec03689fdaa19ae0969caa

000_README_SYNTHETIC.txt is the one file the product did not write. Everybody in it is invented, and the archive says so in its own first file, which also states the digest the bundle had before that file was added.

What to look for

  1. The subject stays

    The person the request is about is named in full throughout, including in the things her colleagues wrote about her when they did not expect her to read them. Nothing of hers is removed except where the machinery could not prove it was hers, which is the next card.

  2. One decision, every document

    The requester's manager is named in every document in this bundle that carries text of its own: an email thread, a timeline, a personnel record, an investigation note, a spreadsheet, a payroll summary and a letter from an occupational health physician. She carries one placeholder across all seven, which you can check by searching the files for it rather than taking our word. That is one decision about one person, not one decision per mention.

  3. Two people with the same surname

    A colleague shares the requester's surname and appears alongside her throughout. He is removed and she is not. The email thread happens to say in so many words that they are unrelated, so you can read the sentence and check the output against it without knowing anything about how entity resolution works.

  4. An over-redaction, and which way it points

    Two kinds of it, and both err the same way. Open the personnel record: the requester's own bank account number is gone from her own file, as is her direct line in the email thread, because the system will not disclose an identifier it cannot prove is hers until a person says so. Higher up the same block her date of birth survives, because a person did say so and that decision is in the audit record.

  5. Where it declined to guess

    Count the placeholders and you will find thirteen letters for eight people. Two of the extras are bare first names in email greetings, kept apart from the same person's full name in the header because merging them on a first name alone is how one person inherits another's decision when two colleagues share a name, which this case has two of. Two more are the words standing in for the complainant and the witnesses, which in a workplace this size point at particular people. In all four the system removed more than it strictly had to rather than assume, and nobody is disclosed by it.

  6. And once where it simply missed

    The thirteenth letter is not any of that. In the investigation note a phrase describing what the requester did on the radio channel was read as a name and removed as one. There is no safety argument behind it: the model was wrong. It costs a reader one clumsy sentence and it took nothing out that should have stayed, but it is a miss and we would rather you found it here, named, than found it yourself.

  7. A document nobody received, and why

    One file in the case is an exported chat log in a format the product cannot read, so it was withheld rather than quietly dropped, and it did not hold up the other eight. The manifest lists it under Documents withheld, with the reason, which is what the requester is entitled to be told. Every real export has a file like this in it.

  8. Structured identifiers, by type

    A Norwegian national identity number, a German tax number and social insurance number, bank accounts in two countries and phone numbers in two formats. Each one is replaced by a placeholder that names what it was, so the reader of a redacted document can still tell a bank account from a birth date. The invalid look alike values sitting beside them in the record template are untouched. Staff numbers are a harder case and the bundle shows the edge of it: two colleagues' numbers are removed from the personnel record, where each stands as the value of a labelled field under its owner's name, and a third colleague's survives in the email thread, in a clause that attributes it to him with a possessive. The rule that ties a number to a person reaches the name beside it, not the name three words back.

  9. Every page is traceable

    Each page carries the case reference, the document id and the page number, so a page detached from the bundle can still be placed in it.

What is not in the archive

There is no decision log here. Every entity decision, every download and every state change is written to an append-only audit record, and a customer exports that alongside their bundles rather than receiving it inside one. The audit record holds identifiers, counts and dates and never a document excerpt, which is what makes it something we can hand over rather than something we would have to redact first.