Ultra PatternsAI interface patterns with receiptsULTRA project

Pattern 03 · An app that adapts, Chat or assistant · Interaction pattern

View

Privacy check before sending personal data

Seen in a case Built for a real case and observed with its users, or built for a case whose user test is still to come. No controlled comparison yet.

Practice view. What to build, the words on screen and how to measure it. Switch to Research for why it should work, the framework properties and the references.Research view. The research side is shown below the card: why it should work, the properties it targets and the references. Switch to Practice to hide it.

When a user pastes or uploads text, the app detects names, e-mail addresses and other personal data before anything is sent to the model. It then offers three choices: send as is, remove the personal data, or continue without AI.

WhyPeople care where their data goes, and personal data leaving the organisation needs a lawful basis and a record. A visible check turns an invisible step into a decision the user can see and make. It is one way to act on the O3 cue; whether it meets your own obligations is for your legal assessment.
WhenAny feature that sends user-provided text to an external model, especially forms, e-mail and document assistants.
Not whenWhen the model runs on the company's own infrastructure and no personal data leaves it; then the check can be a quiet notice instead of a gate.

The user stays in chargeThe right amount of trustCase: VAIA FormFlow

Done right, done wrong

Schematic screens, not real products. Click a screen to enlarge it.
Right. A short notice lists the detected items and offers Send, Remove or Skip AI before anything leaves the app.
Wrong. Text is sent to the model on paste, with a privacy line buried in the footer.

In practice

FormFlow added this gate after the first prototype: course descriptions pasted from a website sometimes contained trainer names and contact details. The check runs before the extraction call, names what it found, and lets the provider decide. It was not part of the controlled comparison, so it is listed as seen, not tested. The question for a next study is whether the gate changes what people paste.

Words on screen

"This text seems to contain personal data: 2 names, 1 e-mail address.""Send anyway""Remove them and send""Continue without AI"

Obligations to keep in mind (AI Act, GDPR)

  • Ask before personal data is processed by a model, and offer a way to proceed without it. (O3, IUI 2026, Table 1; GDPR data minimisation)
  • Say which provider receives the text and for what purpose. (O3, IUI 2026, Table 1; GDPR transparency (Art. 13))

Design considerations, not legal advice or a conformity assessment. What O1 to O5 mean.

Build it

Illustrative signatures, not a published library: the names below are suggestions to adapt to your stack. Thresholds are examples to tune on your own data.

States: checking, clean, flagged, stripped, skipped

Component: <PrivacyGate text={text} detect={detector} onSend={fn} onStrip={fn} onSkip={fn} />

Prompt snippet: Run detection locally with a regex or a small on-device model. Do not send the text to the main model to check for personal data.

Measure it

Users feel in control · 8 minUsers rely on it the right amount · 10 minPlan your testTen minutes per participant is the usual budget: pick the two or three cards that fit.

Same idea, other names

Research side · why it should work

Why it should work

The mechanism, notes and references for this card are written together with the science editor at KU Leuven Augment. Until then this side lists the properties the pattern targets and the contexts in which it was seen.

Properties targeted

Controllability · Trust · Vocabulary bridge

Across contexts

ContextUsersStateResult
VAIA course formscourse providersSeen in a caseimplemented in FormFlow; not part of the comparison
Your contextBring your case

Editors

Practice: Abasin Abdul Khalil · Science: to be assigned by KU Leuven Augment · card v1.0 · 2026-09-02