Pharion was built multi-tenant from day one. This page summarizes our current security posture for IT and security reviewers.
Access & identity
Sign in with Microsoft (Entra ID) via the OAuth 2.0 authorization-code flow. Credentials never touch Pharion.
Email/password accounts use bcrypt hashing, verified email, and rate-limited auth endpoints.
Role-based access (admin/contributor) per company.
Tenant isolation
Every API request verifies company membership server-side; client-supplied identifiers are never trusted.
Regression tests enforce isolation on every code change.
Data protection
TLS in transit; per-company API credentials encrypted at rest (Fernet/AES).
Customers can bring their own Azure OpenAI key, so AI processing stays in their tenancy and their data is not used to train models.
Operational controls
Audit logging on sensitive actions: logins, fund ledger changes, profile changes.
Bounded upload sizes, locked-down CORS, and error monitoring.
Hosting & sub-processors
The application runs on Microsoft Azure (App Service, Azure OpenAI), with customer data in a managed PostgreSQL database. This marketing site is hosted on Vercel and holds no customer data.
Sub-processors: Microsoft Azure (hosting, database, AI) and a transactional email provider for invitations and password resets. A current list is available on request.
Customer data is retained for the life of the engagement and deleted on request.
We will work through your firm's security questionnaire and data-processing requirements directly.
Engineering practice
100+ automated tests, including security regression tests, run in CI on every change.
Full security review of the codebase completed July 2026, with all findings remediated.