Private by design. Isolated by default.
Every workspace gets a database of its own. Identifiers are hashed before they are stored, never written to logs, and every change is on record.
Your workspace is yours alone
Workspaces never share a database, a key or an account. The people who run the platform manage workspaces, not what is inside them.
- A database per workspace
Your data lives in its own PostgreSQL database, never in a table shared with other customers.
- The workspace comes from the credential
No request names its workspace, so a key of one workspace cannot reach another.
- Operators never see your data
They manage workspaces, never your metrics, totals, audit log or members other than owners.
- Separate keys, quotas and members
Each workspace has its own API keys, limits, users and console.
- Separate accounts for operators
An email belongs to workspace users or to operators, never both. A session of one console is never accepted by the other.
- An instance of your own
A dedicated instance, or Aggrelis in your own cloud. Talk to us.
Identifiers are hashed. Logs stay clean.
Aggrelis counts per user, account or device without keeping who they are in clear. Your ids are scrambled with a key of your workspace before anything is stored.
- Hashed identifiers
Ids are hashed with a key per workspace before storage. The same id gives different hashes in different workspaces.
- Encrypted inside the system
Attributes in the result stream, results and webhook secrets are sealed with AES-256-GCM. AI credentials are encrypted.
- No identifiers in logs
Logs never carry request bodies or ids. Calls are recorded without their content.
- No ids in URLs
The console opens anything you track by its hashed key. Ids you type travel in the request body, and shared links carry none.
- Hosted in the EU
On the hosted service, your data and AI inference stay in the EU.
- Email content not kept
Notices and sign-in codes are not stored once they are sent.
Narrow keys for services. Strong sign-in for people.
Services use credentials scoped to what they do. People sign in with their own accounts, under rules your workspace owners set.
- Scoped API keys
Narrow scopes per key. Keys expire, revoke within seconds, carry a checksum for secret scanners, and are revoked when their creator leaves.
- OAuth 2.0 and OpenID Connect
Short-lived tokens, introspection, workload identity and DPoP for services that prefer tokens to keys.
- Single sign-on with your provider
Connect your own OpenID Connect provider. People of a verified email domain go straight to it.
- Passkeys and two factors
Passkeys, authenticator apps or email codes. Owners can require two factors for everyone.
- Roles
Viewer, editor and owner. A workspace always keeps an owner.
- Sessions that end
Sign-out after 15 minutes idle and 12 hours at most, a fresh sign-in for sensitive changes, lockout after repeated failed attempts.
Every change, sign-in and automated decision on record
Your workspace keeps an append-only audit log, and every entry carries the request id that caused it. When someone asks who changed a rule, who signed in, or why a decision came out the way it did, the answer is already written down.
- Changes to metrics, rules and their versions, webhooks and secrets, API keys, users and roles
- Sign-ins and failed attempts
- Owner recovery by an operator, written to your log before access is granted
- Automated decisions kept 400 days, with what the model received
The model sees only what you list
Automated decisions apply your rules first, so clear cases never reach a model. When one does, only the values the decision lists leave Aggrelis. Your ids never do, in clear or hashed.
- Only listed values leave; text in a request is marked as data, never as instructions
- A monthly AI budget per workspace, checked before every call
- On the hosted service, models run in the EU
- Owners can require zero data retention: then only models that offer it serve you
- AI help in the console follows the same rules, and only proposes
Hardened from the network to the build
Built into the engine and how it ships, on the hosted service and in your own installation.
- TLS everywhere
Public and console endpoints refuse plain HTTP in production, with HSTS.
- A private admin plane
The admin API and consoles run on separate listeners meant for private networks, with network policies in the Helm chart.
Mutual TLS optional (self-hosted) - Locked-down containers
Non-root, read-only file system, no extra capabilities, the default seccomp profile.
- A verifiable supply chain
Signed release images with an SBOM and build provenance; base images pinned by digest.
Continuous vulnerability scanning - Secrets kept out of config
Read from files or an external secret manager. The master key rotates with a keyring.
- Safe webhooks
HTTPS to public addresses only, checked on every attempt, no redirects, signed, with secret rotation.
- Overload refused, never dropped
Under pressure, requests are refused with a clear status instead of being lost silently.
503 · 429 - Rate limits before sign-in
Repeated failed attempts from one address are refused before a credential is even read.
- Built to recover
PostgreSQL is the source of truth with point-in-time recovery. A deleted workspace can be restored for 30 days.
Who else handles data on the hosted service
Running Aggrelis for you takes a few service providers. These are the kinds we use and what they are for.
| Hosting | Infrastructure in the EURuns the service and holds workspace data. |
|---|---|
| Payments | StripeCheckout and subscriptions for your account. |
| Transactional emailInvitations, sign-in codes and usage notices. Content is not kept by Aggrelis once sent. | |
| AI gateway | One gateway to model providers, in the EUFor automated decisions and AI help in the console. A decision sends only the values it lists. |
| Model providers | Reached only through the gatewayWith zero data retention required, only providers that offer it serve your workspace. |
The full list, with names and locations, is available on request. Ask for it
Security questions? Talk to us
Send us your questionnaire or ask about isolation, privacy and where your data lives. We answer with the controls, not with slogans.