Infrastructure

Five stages. Each sees only what its job needs.

One pipeline on four separate services, each with its own keys.

01 Who sees what

Clear text lives in one place.

Clear text exists only on your side and in the masking service. Everything after works on tags.

PartClear contentMasked contentMetadata
Your device or app
Masking serviceHolds clear values, encrypted by Space
GenesysBrain memoryCannot open what clients seal
Brain WaysFor the life of a request
Model providerUnder the provider's terms
Brain Authority

ClearTags onlyMetadataNothing

No detector is perfect, so every part after masking is built to keep no content.

02 Privacy · Brain Authority

Who may do what, and where data may go.

Identity, policy and secrets for every tenant, built on OpenBao. It never sees request content and holds no masking material.

Built

Registries
Tenants, products and customers. A product onboards its customers, each with its own tenants and plan. A tenant identifier is never reused.
Policy
Versioned tenant profiles. Narrowing is immediate; widening needs a second person.
Tokens
Signed with EdDSA by a key that cannot leave OpenBao. Fifteen minutes by default, never more than an hour; a revocation reaches the router within about one to two minutes.
Credentials
Service credentials are shown once and stored only as SHA-256 hashes.
Audit
Every signature and secret operation goes to two audit devices on separate disks, values hashed. If auditing fails, OpenBao stops serving rather than act unrecorded.
Erasure
A tenant's erasure suspends it, deletes its records and state from the router, then destroys its secrets.

Version 1 is complete and tested. Erasure extends to memory as the memory platform is completed.

03 Memory · GenesysBrain

Memory that keeps where everything came from.

A memory and retrieval platform for documents, notes and conversations.

In progress

Scope
A workspace is the tenant; a Space keeps memories apart inside it.
Provenance
Each record keeps its source, down to the document page, and documents keep their versions.
Ingest
Clients seal what they send in an envelope the core cannot open; the core holds no masking key.
Identity
OpenID Connect sign-in, sessions bound to a key on your device, and app keys stored only as hashes.
Interfaces
An HTTP API, a command-line tool, TypeScript and Python SDKs, and an MCP server for agents.

Retention controls and erasure are in development.

04 Context · GenesysBrain

Only what this request needs, with where it came from.

Context is drawn from memory for each request, inside the caller's scope, before anything is masked or routed.

In progress

Scope
The read rule runs inside the vector search, so only what the caller may read is ranked. Records outside the scope never enter the context.
Sources
Each piece of context keeps its source, down to the document page, so an answer can show what it used.
Masked
Records are kept masked, so a model sees tags in the context as well as in the question.
Fit
Routing sends a request only to a model whose context window can hold it. A context-length error fails over only to a model with a larger window.

Retrieval in scope is built and tested. Search and conversations are in development.

05 Masking

Details become tags. The values stay sealed.

A separate service that holds no database credential. The clear text exists there and nowhere else on our side.

In progress

DetailAs writtenWhat the model sees
PersonMarta Bianchi[PERSON_…]
Amount€2,400[AMOUNT_…]
Card4000 0000 0000 1234[CARD_*1234]
Detection
Pattern detectors for emails, phone numbers, IBANs, national and tax identifiers, cards, amounts, addresses, dates of birth and companies, plus a named-entity model that runs inside the service, with a threshold for each of its 26 labels.
Storage
Clear values are stored only as AES-256-GCM ciphertext, under keys per Space that only the masking service can unwrap.
Transport
Memory and masking talk over mutual TLS, and replies are encrypted to the client.
Logs
No log line holds content: identifiers, closed codes, counts and durations only.

What masking is, and is not

Masking supports English first, with more languages to follow. Under the GDPR masked data is still personal data: masking is pseudonymisation, not anonymisation, and we treat it that way.

06 Routing · Brain Ways

Where a request may go, and why it went there.

The router decides on metadata, policy and measurements, never on content, identity or business process.

Built

Integration
Products keep their provider's own API. Connecting is a base URL change plus two headers, for OpenAI chat and embeddings, Anthropic messages and Gemini generation and embeddings.
Policy
Each tenant's rules are signed by the authority and can only narrow: allowed providers and models, jurisdiction (EU/EEA, Switzerland, UK, US or any), masked-only traffic, a quality floor, limits, budgets, private endpoints and the customer's own keys.
Masked only
For a masked-only tenant, the router requires a signed claim from the masking service, bound to the exact request body by its SHA-256 hash.
Choice
Balanced, cost, latency, quality or throughput. Jurisdiction is checked on every attempt, failover included.
Failover
Up to five attempts, three by default, never after the first streamed byte. A refusal or a content filter is never failed over to another provider.
What it keeps
No request or response body is ever persisted, logged or placed in a record. Decision records hold metadata (candidates, provider, region, cost) for 395 days by default; usage events are deleted 32 days after delivery.
Telemetry
None back to us. The path does not exist; it is not merely switched off.

Version 1 is complete and tested for resilience, load and security. It supports models from Anthropic, Google, OpenAI and TypeSafe on US endpoints today, with EU endpoints planned.

07 Integration

How your product connects.

The path every product follows.

  1. 01

    The app calls memory

    With the user's session. Memory recalls what the user may read, in their Space.

  2. 02

    Memory masks, then asks for a token

    The masking service replaces details with tags; the authority's signed token carries the tenant's policy.

  3. 03

    The router chooses and calls

    A model the policy allows, in a jurisdiction it allows, with the masked text only. It records the decision, not the content.

  4. 04

    The answer returns in tags

    The masking service restores the values for the user, and memory links the answer to the records it used.