Vaktor is currently paused and is not accepting new customers.
Vaktor

Let your team use AI without leaking sensitive data

Vaktor masks sensitive data in the browser before it reaches ChatGPT or Claude, and gives you the audit trail to prove it.

Draft the redemption memo for Erik Lindqvist, personnummer 811218-9876, on his Nordkap Fond holding, and confirm to erik.lindqvist@nordkap.se.

4 values masked on device 0 bytes to Vaktor
Covers
ChatGPT
Claude
Gemini
Perplexity

European Union Data residency in Stockholm Detection on the device Evidence exports for DORA and NIS2

Your team uses AI daily, and you cannot show what went in

32.3%

of ChatGPT use at work happens on personal accounts.

39.7%

of what employees move into AI tools is sensitive data.

Ban it

They route around you, on accounts you cannot see.

Buy one enterprise seat

They open the other model for the task it happens to be better at.

Allow it, write a policy

A policy does not sit between the clipboard and the send button.

Then the auditor asks

What happened, on which day, to which data. A policy document holds no record of a single prompt.

Figures from Cyberhaven Labs, 2026 AI Adoption & Risk Report, measured on corporate endpoints, not self-reported in a survey.

One extension, between the keyboard and the network

Your analyst types as usual

Their own account, their own workflow. No proxy, no gateway, no second login.

chatgpt.com · claude.ai · gemini.google.com

Vaktor swaps the sensitive parts, on the device

Personnummer by Luhn checksum, IBANs by mod-97, client names against your list. Each match becomes a numbered placeholder.

runs on the laptop

The model answers the placeholder version

[KLIENT_1] holds the slot the real name did. Vaktor puts the values back as the answer renders.

the reader sees the real names

Compliance reads a separate ledger

Categories, counts, dates, users and a hash per event. Never the prompt text, which is not transmitted and therefore cannot be produced. Exports as CSV, JSON or a DORA event report.

Audit log Metadata only, prompt content never stored Export for audit
Prompts logged3,847last 7 days
Redactions41210.7% of prompts
Active users67 / 8480% coverage
TimeUserAI toolEntitiesCategoriesEvent hash
14:32 todayK. NyströmChatGPT5KLIENTPERSONNUMMEREPOST+27f3a…b29e
14:18 todayM. AnderssonClaude3PERSONNUMMERKLIENTEPOSTa812…44d1
13:54 todayE. LindqvistGemini2IBANORGNR3c9d…8f0a
12:27 todayS. KarlssonChatGPT1PERSONNUMMERb6f1…2c08
11:48 todayP. BergPerplexity4KLIENTORGNRIBANEPOSTd3a8…5e96
Illustrative data

Put your own text through it

Runs in this page, on your machine, on the same code that ships in the extension. Open the network tab if you would like to watch nothing happen.

What the model receives

Recognises Swedish personnummer and organisationsnummer, IBANs, emails, and a sample client list (Erik Lindqvist, Nordkap Fond, Åsa Sjöberg). In a deployment the list is yours. Every identifier here is an official Swedish test number.

Check it with a packet capture

Vaktor is never in the prompt path. The browser sends to OpenAI or Anthropic the way it always did, and our endpoint receives a category, a count and a timestamp.

Your security team can settle it in an afternoon with a proxy and a packet capture. No source access, no NDA first.

api.openai.com Masked prompt
api.anthropic.com Masked prompt
api.vaktor.ai Category, count, time

Prompt text appears in none of these

Mostly from whoever signs off

If yours is not here, ask it on the call. Better answered before you buy than after.

What do you store?
Categories, counts, timestamps and the user. Never prompt text, which stays on the device. A full breach of our backend would expose nothing a client told you in confidence.
What happens when detection misses something?
Checksums make false positives rare and misses possible, so treat this as one layer of the control, not all of it. Unusual names are the usual gap, which is why the client list is configurable and why the ledger records what was caught instead of claiming nothing got through.
Which tools does it cover?
ChatGPT, Claude, Gemini and Perplexity in the browser, each on the user's own account. Copilot is next. New surfaces arrive as updates to the same extension.
What about the desktop apps?
Not covered yet. Browser first, because that is where the work is happening. A desktop agent is on the roadmap and the ledger format has a slot for it.
Does it slow anyone down?
Masking happens as they type, on their own machine, in single-digit milliseconds. Nobody has to change how they work, which is what lets a control like this stick on a trading desk.
Does the answer get worse?
A placeholder such as [KLIENT_1] occupies the same grammatical slot as the name it replaced, and repeat mentions reuse the same number, so the model can still tell two people apart. Real values are restored in the browser, so the reader sees the original names.
How do we know nothing leaves the laptop?
Standard network monitoring. Vaktor is never in the prompt path, so a packet capture settles it. See verification.
GDPR, DORA, NIS2?
Masking supports data minimisation before anything reaches a third-country model, and the ledger drops into DORA and NIS2 evidence requests. The legal judgment stays with your DPO. We supply the record, not the opinion.

Bring a prompt you would not send to ChatGPT

Send a question, or a sample of what your team types, and we will show you what would have stayed on the laptop.

Or write directly to lukas@vaktor.ai