Platform security
The authentication model, the tenant boundary, what is signed, where the gaps are, and how to report a vulnerability.
One dashboard for your whole fleet.
1Three ways in
People, robots and integrations reach this platform by three different routes, and each proves itself differently.
- A person
Session sign-in, constrained by role
A password or a magic link establishes a session. What that person may then do is governed by one of four roles —
owner,admin,operatorandviewer— which form a strict privilege ladder: a viewer cannot write, an operator cannot manage users, and only an owner reaches billing. - A robot
X.509 certificate over mutual TLS
Each robot holds its own certificate, bound to the device and to its tenant, and presents it on every connection. A robot holds no password and no token. Certificates are held encrypted at rest and are never serialised into an API response after the one moment of initial provisioning.
- An integration
A bearer token, scoped by ability
An integration presents a bearer token your team mints and revokes. A token carries one or more abilities from a closed set of three —
read,commandsandtelemetry— so an integration only ever has the access it needs.
2The tenant boundary
Many organisations share this infrastructure, so isolation is the property everything else rests on. Every record is scoped to its tenant, and the scoping is applied in the data layer, so no individual query has to remember it.
The behaviour worth checking is what happens when the check has nothing to work with: where no tenant can be resolved, the query returns nothing at all. A fault in that path produces an empty result, never another organisation's robots. Cross-tenant isolation carries its own test suite, and a change that could leak across tenants does not pass.
Three kinds of caller reach this platform, and each proves itself differently. A person signs in, and their role limits what they can do. A robot presents a certificate over mutual TLS that is bound both to that device and to its tenant — not a shared secret, and not a password. An integration presents a token whose abilities are a closed set of three: read, commands, telemetry. There is no fourth ability to grant.
The outer wall is authentication, and it has three doors because there are three credentials, and no more.
The inner wall is tenant isolation, and it has one opening, because there is one rule: everything that gets this far is scoped to exactly one tenant. Beyond it is that tenant's robots, telemetry, users and behaviours, and nobody else's.
The fourth approach along the bottom is the part worth reading twice. Where a tenant cannot be resolved, the query does not fall back to a default and it does not return everything — it returns nothing. On this sheet that is not a labelled branch, it is blank masonry: the inner wall simply has no opening down there. The safe outcome is the automatic one. An isolation guarantee that depends on every future author remembering it is not a guarantee; this one holds when someone forgets.
3Certificates, updates and transport
Certificates rotate without downtime and are revoked immediately if compromised.
Every update is cryptographically signed before it leaves the platform; a missing or invalid signature means nothing is applied. Updates are behaviour documents, not firmware images.
Connections to the API, the dashboard, the realtime channel and the robots' own messaging use current TLS, and each robot's channel is partitioned to its own tenant. Commands cannot be replayed, and outbound webhook traffic is protected against common network attacks.
4What we build against, named
The platform is built against a written threat model and assessed against the OWASP Top 10. Where the platform handles personal data, the governing regime is the UK GDPR and the Data Protection Act 2018. Robots sold as connectable consumer products fall under the Product Security and Telecommunications Infrastructure Act 2022 and the security requirements regulations made under it; the conformity register on the safety document names each obligation and what it requires.
5Data residency
Your data is processed and stored on UK servers, under UK law. That is the design of this platform, and it is the commitment we intend to be held to.
The platform's storage and processing default to a London region, and the design keeps every byte under UK law. Bring your CISO's questionnaire to the demonstration and we will answer it against the platform, section by section.
6Reporting a vulnerability
If you have found a security issue in this site or in the Avanti platform, we want to hear about it before anyone else does. Contact details, the languages we read and the expiry of this record are published in machine-readable form at /.well-known/security.txt, following RFC 9116.
What we ask
- Report it to us first, and give us a reasonable period to fix it before publishing.
- Include what you did, what you observed and enough detail for us to reproduce it.
- Do not access, modify or delete data belonging to anyone else, and stop as soon as you have demonstrated the issue.
- Leave denial-of-service, spam and social engineering out of it.
What we will do
- Acknowledge your report and tell you what we think it is.
- Keep you informed while we work on it, and tell you when it is fixed.
- Credit you when we publish the fix, unless you would rather we did not.
We run no bug bounty and offer no payment. We will not pursue anyone who reports a genuine issue in good faith and within the boundaries above.