/access) is one page for every principal that can
reach the workspace. It replaces six older surfaces that each answered
part of the question separately.
API keys sit beside the people on purpose: a key authenticates as the
person who created it, so a page about who can do what is wrong without
them.
The tabs
A tab you cannot read is not shown. That is deliberate: an entry that
leads only to a refusal is worse than no entry.
Old links keep working.
?tab=users, ?tab=api-keys,
?tab=roles-permissions, ?tab=sso and the other former slugs
resolve to their current tab, and the URL is rewritten to the tab you
are actually looking at, so a copied link reopens what the sender saw.Built-in roles
Nine roles ship with the platform. Five of them exist specifically so a large organisation can separate duties instead of handing outadmin.
security-admin is the role that makes the platform separable: an IT
admin can add and remove people without being able to read a single
prompt, dataset, or scan result.It carries roles.view and deliberately not roles.manage.
roles.manage can add any permission to a role its holder already
has, so granting it here would let a security-admin give themselves
data access in two clicks and quietly make “no data access” a lie.
Defining roles stays with admin; security-admin only assigns roles
that already exist.compliance-auditor is read-only on purpose. An auditor who can
change the thing they audit is not an auditor. Its only writes are
producing reports and running the audit-chain verification.Custom roles
Admins can define custom roles from the granular permission catalog. A custom role is a named bundle of permissions, nothing more. Role names must be 2 to 64 characters, start with a letter, and use only letters, numbers, underscores and hyphens. A name that collides with a built-in role is rejected.Permission catalog
Permissions are grouped by category and are the same keys the API enforces. A representative sample:
The endpoint DLP permissions live in their own
dlp. namespace and are
listed in DLP permissions.
runtime_security.manage and runtime_security.policy.manage were
broad umbrellas that have been split into the narrower keys above and
the dlp. keys. Both still resolve to everything they used to grant,
so no existing role loses access, but define new roles from the
narrow keys.compliance.verify is deliberately not implied by
compliance.manage. The verifier’s numbers span every workspace on
the deployment, because the audit hash chain is global, so it is
granted only to admin and compliance-auditor rather than
travelling with a broader key.Explain access
The Explain access tab answers a specific, awkward question: why can this person do this, or why can’t they? Pick a person and a permission, and it traces the answer through their roles rather than leaving you to read the matrix yourself. Use it before changing a role. It is usually faster, and it tells you which role is actually responsible.Per-resource access
Beyond workspace roles, datasets and projects carry their own sharing. The workspace role is the floor; a resource grant can raise it for one dataset or project.Invitations
Blindsight is invite-only: every account arrives by invitation, and there is no public sign-up.1
Invite a person
From the People tab, enter one or more work emails and pick the
roles they get. Only professional domains are accepted; consumer,
disposable, and relay mail domains are rejected inline. The dialog
shows the seats the invitations will use before you send.
2
They set a password
The invitee gets an acceptance link and chooses a password from it.
Accepting activates the account; it does not sign them in. They
then sign in normally, enrolling two-factor first if your workspace
requires it. There is no display-name field: the name comes from
you, or from their own profile later.
3
Manage pending invitations
Pending invitations show on the People tab and hold a seat until
they are accepted. Resend issues a brand new link and kills the
old one; Revoke kills it outright. Links expire after 7 days by
default.
Directory and SSO
SCIM provisions people from Entra, Okta, or Google into the workspace, and OIDC binds each sign-in to a directory user. The sign-in policy next to it controls the workspace’s own authentication rules. SAML is schema-ready in the backend but not enabled in this build. OIDC covers Entra, Okta, Google, and Ping. See Identity binding for how the same directory binds DLP devices to people.API keys
Everything in the UI is also available over the REST API. To use it programmatically, mint a key from the Keys tab.1
Create the key
Give it a descriptive name (
CI pipeline, Lab upload script).2
Scope it
- Full access (
*): every scope the platform defines, across Data Security and Runtime Security. - Full runtime access (
runtime:*): theruntime:scopes only. - Or tick the individual scopes the key actually needs
(
datasets:read,runtime:scan, and so on).
3
Set an expiration
Never, 30 days, 90 days, or 1 year. Short-lived keys are safer.
4
Copy the token
Now. It is displayed exactly once. If you miss it, revoke and
mint a new one.
Using the key
Pass it asAuthorization: Bearer <token> on every API call.
Revoking a key
Click Revoke on any row in the Keys tab. Revocation is instant and audit-logged. Subsequent calls with that key return401.
Rotation
CI / CD pipelines
CI / CD pipelines
Mint one key per pipeline. Rotate every 90 days. Store the new
value in your CI’s secret manager, run jobs against both old and
new for one rotation window, then revoke the old one.
Long-running services
Long-running services
Mint with Never expiry and rotate manually on a cadence. Name
the key after the service so it is obvious in the audit trail.
Ad-hoc scripts
Ad-hoc scripts
Mint a short-lived key (30 days), use it, revoke when done. Treat
ad-hoc keys like one-use tokens.
Your own profile
Every user has a profile page (/profile) with their display name and
avatar, email and password reset, notification preferences per event
type and channel, and their active sessions.
See also
Settings & licensing
Workspace-level configuration, quotas, and the license model.
DLP permissions
The
dlp. namespace and what each key grants.Audit trail
Every access change, recorded and hash-chained.
API reference
Scopes, routes, and try-it-out.

