How PhaseOps keeps companies apart, in plain terms.
One company cannot read another.Companies are isolated in Postgres with row-level security. A request for another company's row comes back empty from any path — the app, a guessed URL, or a raw API call.
Files. Every uploaded file lives in a private bucket and is served through a short-lived signed URL minted when you open it. There are no public storage paths. Files are encrypted at rest by our infrastructure provider.
Seats. Roles are owner, producer, lead, crew and driver. The difference between seats is what you may change.
Sign-in. Email and password, through Supabase Auth.
Where it runs. The app runs on Vercel; data lives in Supabase (Postgres); files are encrypted at rest by the provider.
Reporting a vulnerability. Mail hello@phaseops.live with what you found and how to reproduce it. It is read by a person.
We do not claim SOC 2 or ISO certification today.