Security
Last updated September 14, 2026
Encryption
All traffic to Briefant is encrypted in transit over TLS. Uploaded videos, extracted screenshots, and generated documents are stored encrypted at rest in object storage.
Tenant isolation
Every organization's data is isolated with row-level security enforced directly by the database, not just filtered in application code — every query is scoped to your organization at the database layer, so a bug in application code can't leak another organization's data.
Authentication
Sign-in and account management are handled by Supabase Auth, a dedicated identity provider — Briefant never stores your password. Every request to our API is authenticated with a short-lived, signed token. Two-factor authentication (TOTP, via any standard authenticator app) is available for any account and can be required at sign-in.
Role-based access control
Access is enforced server-side on every request, not just hidden in the interface. Owner, admin, member, and guest cover most teams by default — guest is read-only, member manages their own projects, admin manages the team. Custom roles let you define exactly which of the following a role can do: projects, team management, workspace settings, billing, and integrations — each with its own view/manage-level permissions.
A member can never grant a permission they don't themselves hold, and this same permission system is enforced identically whether a request comes from the web app, an API key, or an OAuth-connected application.
API key controls
API keys can be scoped to specific permissions, restricted to a list of allowed IP addresses, and given an expiration date — all optional, all enforced on every request. Keys are stored hashed, never in plain text, and can be revoked instantly.
OAuth applications
Third-party applications you register authenticate via OAuth 2.0's Authorization Code flow with PKCE (required, not optional). A connected application's effective access is the intersection of what it was granted and the connecting user's own current permissions, re-checked on every request — so access shrinks automatically if that user's role changes, with no separate revocation step needed.
Webhook signing
Outgoing webhooks Briefant sends to your own endpoints are signed with HMAC-SHA256 so you can verify a request genuinely came from us. Incoming webhooks from our payment and identity providers are verified against their cryptographic signatures before being processed, so a request can't be spoofed by simply knowing our webhook URL.
Audit log
Security-relevant account actions — role changes, API key revocations, subscription changes, and more — are recorded and reviewable from your workspace settings.
Development practices
Every change to Briefant runs through automated security scanning before it ships: static analysis, dependency vulnerability scanning, and secret-leak detection, in addition to our test suite.
Data export and portability
Your data is never locked in — request a full export of every project's documents, transcripts, and extracted frames (optionally including raw recordings) as a downloadable archive at any time.
Reporting a concern
If you believe you've found a security issue, email us at security@briefant.com. We'll respond as quickly as we can.