Veilio
In development

For anyone who'd rather not paste their code into AI

Send the problem.
Keep the names.

Veilio strips real identifiers out of code before it reaches a model, and puts them back in the answer. For teams whose policy is don't paste it — and for everyone who would simply rather it never left their machine.

A worked example. The line wire(acct_88412037, "Kowalska", 45_000, EUR) becomes __FN__1(__VAR__1, "__STR__1", 45_000, EUR): the function name, the account identifier and the surname are replaced with placeholders, while the amount and the currency constant are left intact. Two further examples on the page show a healthcare record lookup and an AWS key being redacted rather than masked.
What you wrote
wire(acct_88412037, "Kowalska", 45_000, EUR)
What the model gets
__FN__1(__VAR__1, "__STR__1", 45_000, EUR)

Who this is for

Built for the places where "just don't paste it" is the policy

Whole sectors are told to keep their work away from public AI tools, so the work gets done without them — or gets done anyway, quietly. Neither outcome is good. These are the sectors we're building for, and the material at issue in each.

Financial services & banking account numbers · positions · counterparties
Insurance claims · policyholders · actuarial models
Government & public sector citizen records · procurement · case files
Healthcare patient identifiers · clinical notes · device logs
Legal services client names · matter details · privileged drafts
Critical infrastructure network topology · control-system addresses
Enterprise R&D source code · contracts · unreleased roadmaps
Privacy first

What we're building to

Six commitments. Two of them already hold in the source-available engine, which you can read today; the rest describe the platform being built around it. We've marked which is which rather than letting you guess.

The map stays yours

The mapping between real names and placeholders is what's actually sensitive. It lives on your side of the boundary, and restoring an answer is a local operation.

Credentials are redacted, not masked

A reversible mask on a live key stores the key. A detected credential is replaced by a token that never enters the map, so restore cannot bring it back and a synced map can never carry one.

Holds today

The engine makes no network calls

Zero runtime dependencies, enforced by a purity test in CI rather than a promise in a README. For a tool that reads your source, the supply chain is the product.

Holds today

A policy, not a memo

The rules your organization agrees on are enforced where code actually moves. Skipping them fails the build instead of prompting a conversation six months later.

A record you can hand to an auditor

What was masked, by whom, and when — exportable, and readable by someone who has never seen the tool.

Runs where your data already is

Your infrastructure, your model endpoints, your retention rules. An anonymization layer that requires routing everything through a third party has missed the point.

Currently in development

There's no launch date yet

When there is one it will be a date, not a season. In the meantime, here's an honest split between what exists and what doesn't.

Working today, free, no account

  • The anonymization engine, CLI and MCP server
  • Ten languages — reserved words survive masking
  • Credential scanning with irreversible redaction
  • Source you can read before you run it

Being built

  • Self-hosted and on-premise deployment
  • SSO / SAML and directory-backed roles
  • A shared placeholder space across a team
  • Audit export to your SIEM, and a DPA

If your organization can't put its material into a public model, we'd rather hear what you actually need before we ship than after. No sales sequence — a reply from the person building it.

hello@veilio.dev
Secure. Private. Enterprise Ready.