Pharion

Security overview

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.