- Before
- Chases a 48-question form through the project owner, the architect and the vendor, then scores risks in a spreadsheet and hopes it is signed before go-live.
- Now
- Opens one map where every risk is drawn before and after, asks the agents why, accepts each control with a reason code and signs — with the passage behind every answer.
One DPIA, from submitted project to signed
Kestrel & Vane Distribution wants a driver-facing fatigue camera from Ocellus Telematics in 1,860 trucks driven by 2,340 people in Germany, the Netherlands, Poland and Spain — pilot Mon 2 Nov, go-live Wed 2 Dec 2026. Here is DPIA-2026-118, screen by screen, in the working solution.
- 01Wed 14 Oct, afternoon
Six things need her, and the agents say which first
Sofia Brandt · Privacy OfficerSofia's home screen opens with a summary: the agents screened 3 new projects and re-checked 9 assessments since yesterday, and 6 things need her, led by DriveAlert. What the agents found sits in plain sentences with its sources: the risk agent and necessity agent propose dropping DriveAlert's face login, the control checker disputes a blurring control, and the screening agent flags palm-scan payments in the canteens.
“They answer from the assessments and documents, with sources, and act only when you say so.” — the Ask the agents panel
- 02Tue 6 Oct, 08:31
A minute after Tomas submits it: full DPIA
Screening agentTomas Herrera submits DriveAlert through the project portal at 08:30. The screening agent runs the threshold test: 5 of the 9 criteria — evaluation or scoring, systematic monitoring, sensitive data, vulnerable people (employees) and innovative technology — plus biometrics and tracking on the authority's list. Each criterion it ticks carries its source. Laws that apply: EU GDPR, and works council co-determination in Germany. Sofia confirms at 10:14 and DPIA-2026-118 opens.
The screening agent recommends; it never decides “no DPIA” on its own, and every override is recorded with a reason.
- 03Tue 6 Oct, 10:31
41 of 48 questions answered from the documents
Intake agentThe intake agent reads the project brief v1.3, the architecture diagram v0.9 and the Ocellus master services agreement and DPA draft — 47 pages — and pre-answers 41 of the 48 questions in six sections, each with its source and a confidence score. What the documents do not say, it asks: 5 questions to Tomas, 2 to Kwame Asante in information security. It also writes the processing description: 8 operations, from recording the cab to recording the road ahead.
The intake agent never answers without a source; it leaves a question open rather than guess.
- 04One click
Every answer opens the passage behind it
Tomas Herrera · project ownerQ14 asks whether special category data is processed. The answer — yes, a face template stored to identify each driver — links to the contract, §4.2: the processor creates a facial template of each driver and stores it in its cloud for the term of the agreement. The passage shows who read it: the intake agent on Tue 6 Oct, and the control checker again on Wed 7 Oct. Tomas only confirms or corrects.
“Tell me what you need from me and I'll confirm it.” — Tomas Herrera
- 05The risk map
Each risk drawn twice, before and after
Risk agent and necessity agentThe risk agent found 8 risks: 3 high, 5 medium. On the 4 × 4 map each one is a ring where it starts and a dot where its controls take it, joined by an arrow; an unaccepted move stays dashed. Pick P2, “Log the driver in by face”, and only R1 stays lit: biometric identification, 3 × 4 = 12, high. In the conversation beside the map the risk agent proposes two controls from the company's own library, and the necessity agent asks why face login is needed at all: drivers already badge in at every shift.
“I propose two controls from our library: CL-07 edge-only processing with badge login, and CL-03 deletion of clips after 72 hours. Then R1 is 2 × 3 = 6, medium.” — Risk agent
- 06She asks back
“What if we keep face login?”
Sofia Brandt · Privacy OfficerSofia asks in plain words before she decides. The risk agent answers with its sources: R1 stays at 3 × 4 = 12, high, even with 72-hour deletion, because the template itself is the risk. A privacy officer cannot accept a high residual risk, so Annelies de Groot would have to decide on prior consultation — and the authority can take 8 weeks, plus 6, past the pilot on 2 Nov.
- 07Accepted · A1
She accepts, and the arrow moves from high to medium
Sofia Brandt · Privacy OfficerSofia accepts both controls with reason code A1, “Controls adequate and owned”. The dashed arrow turns solid: R1 moves to 2 × 3 = 6, medium. The control checker had already checked both controls against the contract on its own: edge-only mode exists, and clip retention can be set from 24 hours to 90 days. The risk agent reports the new picture — 0 high, 1 medium and 7 low — and says what is next: settle R5, then sign.
What remains of R1, in the risk agent's words: the camera still reads drivers' faces to infer fatigue, a health-adjacent state.
- 08A disagreement
A second agent disagrees out loud
Control checkerR5's control says faces and number plates in the road camera's clips are blurred before upload. The control checker, which never sees the risk agent's reasoning, read the contract itself: Annex 2 §2.4 says blurring happens only when a clip is downloaded or exported. It scores R5 at 2 × 1, not 1 × 1. Sofia keeps the checker's 2 × 1 until Ocellus confirms blurring before upload, and that confirmation becomes a condition of the sign-off.
The control checker can block sign-off; it cannot accept a risk.
- 09Necessity
Every data field challenged against the purpose
Necessity agentThe purpose is to reduce fatigue-related collisions by alerting drivers and dispatchers. Against it the necessity agent challenged 12 fields: drop 4 — the face template, continuous cab video, cab audio and the heart-rate wristband — limit 4 and keep 4, each with its reason and source. Accepting R1 decided two of them; 10 of 12 are decided, and the project owner may still contest GPS every second or the weekly score per driver with a reason.
- 10Wed 14 Oct, 14:05 · signed
Residual risk medium, accepted with conditions
Sofia Brandt · Privacy OfficerAnnelies recorded her Article 35(2) advice on Tue 13 Oct, and the consultation agent's plain-words summary went to Petra Lindholm, the works council chair. Sofia accepts the necessity agent's two remaining proposals — limit GPS to the event location, and the weekly score to trends — and with all five checks done she accepts the residual risk with reason code RA2, “Accepted with conditions”: Kwame's transfer impact assessment and penetration test, the works-council summary, Ocellus's written confirmation on blurring, and a review in 12 months or at once on any vendor or design change. She types her name to sign — eight days after the project arrived.
“Recorded with your name, the time and the evidence on the audit trail.”