Security & privacy

How M365Assessments protects tenant data

Read-only access, no standing write access, no stored secrets, per-organization isolation and short-lived report links.

Who can do this
Everyone
Plan
All plans
Time
4-minute read

Least-privilege, read-only access

  • One app per module, each with only the read-only permissions its checks need. The engine only sends read requests, in every module.
  • Two opt-in modules need write-capable access because Microsoft offers nothing narrower. They are off by default, labelled “Not read-only · opt-in” everywhere, need a recorded acknowledgement, and can be removed by the customer at any time.
  • No standing write access: the only step that changes anything in a customer tenant (assigning Global Reader, registering Power Platform) runs in the customer administrator’s own browser with their own sign-in, and that token is never sent to us.

No secrets or certificates

Our assessment engine signs in to the module apps with workload identity federation: its Azure managed identity is the only credential they trust. There is no client secret or certificate to leak or rotate, tokens are short-lived, and they are never logged or written to disk. Our own services reach the database, storage and Key Vault with managed identities, not passwords.

Isolation between organizations

  • Every request is checked against your organization membership and role before any data is read.
  • The database enforces row-level security per organization, so even a faulty query can only return the signed-in organization’s rows.
  • Each customer’s results live in their own storage container. Report downloads use read-only links scoped to that one container that expire after 10 minutes.
  • Onboarding links are signed, bound to one customer tenant and its module list, expire after 72 hours, and are rechecked on every step. Disabling a module or offboarding the customer invalidates them. A leaked link grants nothing: consent is still given at Microsoft by that tenant’s administrator.
  • Consent from any tenant other than the expected one is refused.
  • Invitation links are single-use and expire after 7 days; only a hash of the link is stored.

Platform security

  • All traffic uses TLS with HSTS and a strict content security policy; data is encrypted at rest.
  • The app sits behind Azure Front Door with a web application firewall.
  • Changes in your organization are recorded in an audit log.

Good to know

We don't hold SOC 2 or ISO 27001 certification today; we're in early access and happy to answer your security questionnaire. Found a vulnerability? See responsible disclosure.

Last updated

Can't find what you need?

Our team is happy to help. Missing an article? Suggest it on the Feedback board in the app and vote for the ones you want.