Skip to content
RolloutDocs
NL
In depth

How Rollout protects your data

Rollout works with personal data of your clients' employees and has read access to their Microsoft 365. That's why security isn't one lock but a series of layers that each work on their own. This page explains them and shows how to demonstrate them.

Who talks to whom

The three kinds of visitors
Step 0 / 5
Employee or clientno account
EngineerMicrosoft sign-in
Rollout serveryour domain
DatabaseRow Level Security
Booking link / portal
Fixed functionskey
Own data
Read client tenant
↻ Every request: session revoked?

Scroll here or press play.

The layers

LayerWhat it doesHow you see it
Sign-in at MicrosoftMFA and Conditional Access of your own tenant; only assigned engineersEntra → Enterprise applications
Row Level SecurityEvery table; an organization never sees another's dataSecurity page: "tables without RLS: none"
Roles in the databaseAdministrator, engineer, read-only, enforced in the database itselfTeam page
Server gatewayPublic functions only via your server/api/ready: "gateway": "ok"
Revoking sessionsImmediate, even with a valid token; also sessions outside the appSecurity center → Sessions
Read-only at clientsRollout can't change anything, unless you deliberately turn on one-click fixConnection test: permissions per client
No keys to client tenantsFederation: Microsoft only trusts your Vercel projectEntra: only a federated credential
Two locks per tenantAllowlist outside the app and a client of your organizationGRAPH_ALLOWED_TENANTS
Public links256 bits, only the hash stored, expiry date, revocableRevocable per project
Tamper-evident audit logHash chain: every change, provably untouchedSecurity page → verify chain
Web securityStrict CSP with nonce, HSTS, no framing, no referrerResponse headers

What Rollout stores

Only work data: name, UPN, email, department, job title and location, plus laptop serial number and appointment. No passwords, no national ID numbers, no private data. Responses from Microsoft aren't stored, only the outcome per check (for example "license: ok").

Demonstrating it

  1. Security page

    In Rollout: Security. Everything the server and the database know about themselves, in green, orange or red. Download the report (JSON) for your records.

  2. Store the head hash

    The same page shows the head hash of the audit log. Store it regularly outside Rollout, for example in your password vault. That way you can later prove nothing was changed, not even by someone with access to the database.

  3. Every version tested

    Every code change runs through CI: unit tests, SQL tests on the security rules, a scan for leaked secrets across the whole history, npm audit and a software bill of materials (SBOM). The commit is shown on the Security page.

  4. Independent pen test

    Have an independent party test a test installation once. Because every installation runs the same code, the outcome applies to all of them.

Reporting a vulnerability

Think you've found a vulnerability? Do not report it in a public issue; email security@rollout365.com with a description, the steps to reproduce and any evidence. You'll get a response within two business days. Don't look at other people's data, don't cause an outage and don't make anything public before it's fixed.

How Rollout protects your data · Rollout Docs