Built to be trusted. Built in the open.
Brieft secures unreleased creative work, client feedback and commercial data. Here's exactly how we protect it, including the controls in place today, how our data is handled, and what we are building next.
Encrypted in transit
Connections to Brieft are served over encrypted HTTPS/TLS, so credentials and content are protected while moving between you and our servers.
Multi-tenant workspace isolation
Every record is scoped to a workspace at the query layer. One workspace can never read, list or reach another's data.
Role-based access control
Owner, member and guest roles gate sensitive actions. Those permissions are enforced on the server, not just hidden in the interface.
Secure authentication
Sign-in runs through Google OAuth. Sessions are stored server-side, carry an expiry, and can be revoked individually.
CSRF & origin protection
State-changing requests are checked against strict origin and browser fetch-metadata rules, blocking other sites from acting with your logged-in session.
Private by default
Nothing in Brieft is public by default. Previews and downloads are served through short-lived signed links that require an authenticated, authorised request.
Prefix-scoped file storage
Files live in private object storage under a per-workspace key prefix, reachable only through short-lived signed URLs the server limits to that workspace's files.
Locked guest sharing
Share links lock to the first recipient who opens them, can be revoked, and support watermarking, expiry dates and download controls.
Soft-delete safeguards
Items are soft-deleted (tombstoned) before anything is removed, and some content — such as folders — can be restored, reducing the impact of accidental deletes.
Production / preview isolation
Production and preview run on fully separated data and storage. Test activity can never touch live customer data.
Change-controlled releases
Changes ship from version control through code review and a release-readiness checklist, with environment checks before a release goes live.
No card data stored
Payments run through Stripe Checkout. Brieft doesn't receive or store raw card numbers — only a tokenised Stripe customer reference.
Customer content — artwork, versions, comments and approvals — is stored in object storage behind workspace-scoped key prefixes, and is only ever reachable through short-lived presigned URLs minted for an authenticated, authorised request.
Application data lives in a managed database with per-workspace scoping enforced on every read and write. Access to production is minimised, and production is kept entirely separate from the preview environment used for development and testing.
We practise data minimisation: Brieft collects only what it needs to run reviews and approvals. Customer content is never used to train publicly available AI models, and AI-assisted classification runs on a strict, purpose-limited basis.
Built to protect your work. Designed to keep getting better.
Security isn't a feature we finish and forget. Here's what's in place today, what we're improving and what we're planning as Brieft grows.
- HTTPS/TLS on every connection
- Workspace-scoped data isolation
- Role-based access control
- Google OAuth + revocable server sessions
- CSRF / origin protection
- Private, prefix-scoped file uploads
- One-person locked share links
- Per-link watermarking & expiry
- Soft-delete safeguards for content
- Production / preview environment isolation
- Published sub-processor list
- Workspace access visibility & controls
- Managed database backups
- Exportable account audit log
- Independent penetration testing
- Multi-factor authentication for owners
- SSO / SAML for teams
- SOC 2 Type II audit readiness & attestation
Found something? We want to hear from you.
If you believe you've found a security issue, email us and we'll respond quickly. We're grateful to researchers who report responsibly.
