Pre-launch · validating with Icelandic organisationsGate 1 decision · 18.12.2026

// Icelandic data minimisation for AI

AI without the personal data.

dmz masks kennitölur, names and account numbers before a prompt reaches a model, then restores real values in the answer. Real values stay on your device or in Iceland.

shield · synthetic data
01 · You typeScanning…

Draft a reply for Arna Jónsdóttir, kt. 140182-8858. Send to demo@example.com.

02 · Model provider receivesRedacted values only

Draft a reply for ⟦NAME-1: XXXXX XXXXX⟧, kt. ⟦KT-2: XXXXX-XXXX⟧. Send to ⟦EMAIL-3: XXXXX@XXXXX.XXX⟧.

03 · You readModel reply · redacted

Hello ⟦NAME-1: XXXXX XXXXX⟧Arna Jónsdóttir, here is your reply.

Session map · on this device · cleared with sessionArna Jónsdóttir⇄⟦NAME-1: XXXXX XXXXX⟧140182-8858⇄⟦KT-2: XXXXX-XXXX⟧demo@example.com⇄⟦EMAIL-3: XXXXX@XXXXX.XXX⟧

Illustration of planned behaviour; actual markers also include a random session ID. All values are synthetic and test kennitölur use century digit 8. The working Shield prototype uses a manual side panel.

Detect. Redact. Restore.

Staff keep the AI tools they use. The design keeps direct identifiers out of the prompt sent to a model.

01 / DETECT

Detect

Find direct identifiers before text is sent. The prototype covers a limited set; measured results show what it misses.

02 / REDACT

Redact

Every identifier receives a visible, distinct marker. A kennitala becomes ⟦KT-1: XXXXX-XXXX⟧.

03 / RESTORE

Restore

When markers return unchanged, the matching real value is restored on device. Streaming restoration remains planned.

PHASE 1 DETECTION

Icelandic matters.

Names and kennitölur do not follow English patterns. This prototype is a first step; a general name lexicon and inflection data are still missing.

CaseRealSent as
nom.GuðrúnXXXXXXX
acc.GuðrúnuXXXXXXXX
dat.GuðrúnuXXXXXXXX
gen.GuðrúnarXXXXXXXX

Illustration of planned inflection detection, not current measured coverage.

KennitölurDate and century validated; legacy check digit or uncertain newer shape
Icelandic namesFour forms masked; other patronymic shapes blocked for review
IS IBAN26 characters; mod-97 validation
Payment cards13–19 digits; Luhn validation
Phone numbers+354 or local seven-digit shape, marked uncertain
EmailConservative word boundaries
SecretsSelected keys, JWTs, bearer tokens and connection strings
Local termsManual browser dictionary; exact spelling
AddressesNarrow street/postcode shape blocks for review

Direct identifiers only. Context may still identify someone.

One detector. Three ways in.

The Go core now runs in the browser as WASM and in Go tests. Portal and Gateway are planned to use the same core.

01Prototype

Shield

Staff in the browser

A manual side panel with the Go detector in WASM. It masks and restores on device. Automatic AI-site protection is next.

Explore this path →
WHERE REAL VALUES LIVEOn the user’s device
02Planned

Portal

Sensitive work

A workspace intended to route redacted text to local models or verified API routes.

Explore this path →
WHERE REAL VALUES LIVETransiently in Iceland
03Planned

Gateway

Developers and internal apps

A compatible API gateway with secret detection and metadata-only audit evidence.

Explore this path →
WHERE REAL VALUES LIVETransiently in Iceland

FOR DPOs AND PROCUREMENT

Precise claims, on purpose.

Security claims should have evidence. We publish the prototype limits and will expand the measured corpus.

We sayWe do not say
The Shield prototype masks selected direct identifiers on deviceAnonymous text
Portal and Gateway are designed for Icelandic data boundariesZero retention without an agreement
We measure precision and recall by identifier type100% detection
Can help implement Stafrænt Ísland rulesFull legal compliance

PUBLIC BENCHMARK

Measure. Publish. Improve.

The selected 42-case corpus has 0 annotated identifiers in allowed outbound text, but a separate 18-case challenge set exposes 8 identifiers the prototype would let through. It is not ready for sensitive data. See results →

bench / v0FIRST MEASUREMENT
KennitölurTarget ≥ 99%
Limited synthetic test; see method and sample counts in the repository
NamesTarget ≥ 95%
Gate 2 target, not a measured result

Markers show targets, not current performance.

30-day paid pilot · minimum 10 seats

Put dmz between your staff and the model.

Discuss a pilot →