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.
| Part | Clear content | Masked content | Metadata |
|---|---|---|---|
| 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
| Detail | As written | What the model sees |
|---|---|---|
| Person | Marta Bianchi | [PERSON_…] |
| Amount | €2,400 | [AMOUNT_…] |
| Card | 4000 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.
- 01
The app calls memory
With the user's session. Memory recalls what the user may read, in their Space.
- 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.
- 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.
- 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.