FinOpHQ — Financial Operations HQ logo

FinOpHQ · Financial Operations HQ

Information Security Policy

Michael Crews, d/b/a Finophq
Version 1.2 — Adopted July 27, 2026; revised July 28, 2026
Policy owner: Michael Crews, Owner/Developer (michael@finophq.com)

1. Purpose and Scope

This policy defines how Finophq (the “Service”) identifies, mitigates, and monitors information security risks. It applies to all systems that store or process user data — the production application, its managed database and authentication provider, the source-code repository, and the single development workstation — and to all user data the Service handles, including financial and operational data received from every platform a user connects (accounting platforms, bank connections, and field-service/CRM platforms), current and future. It is written for what the Service is: a single-operator business; the controls below are proportionate to that scale and are technical and automatic wherever possible, rather than procedural.

2. Roles and Responsibility

The policy owner is responsible for all information security functions: risk assessment, secure development, access management, vendor review, incident response, and the maintenance of this policy. There are no other employees or contractors with access to production systems or user data.

Workforce provisioning and de-provisioning. Because there is no workforce beyond the policy owner, there is currently no one to provision or de-provision. Should any employee or contractor ever be granted access, that access will be provisioned exclusively through the centralized identity providers named in §4 (never through shared credentials or copied keys), so that on termination or role change a single revocation at the provider removes all access immediately. Standing secrets they may have touched are rotated in the same pass.

3. Risk Identification, Mitigation, and Monitoring

Security risk is managed through a written security-gates register maintained in the project repository alongside the code:

  1. Identification. Each identified risk is recorded as a numbered gate with a plain-language description of the threat and what closes it. New risks are added when a feature that could introduce them is designed, not after it ships.
  2. Mitigation. Every gate is assigned to a tier tied to a business milestone (beta with real users; general availability / first paying user; conditional on a named trigger feature). A gate must be closed before its tier's milestone is reached. Closures are dated and reference the change that closed them.
  3. Monitoring. The register is reviewed and updated in the same pass as every release. It ends in an append-only, dated history log of security incidents and decisions; old entries are never rewritten. Standing rules from closed gates (for example: secrets never in code, tokens never in logs or error messages, all stored secrets encrypted) are enforced by automated tests where feasible.

4. Access Control

5. Data Protection

6. Secure Development and Change Management

Changes are small, deliberate, and tested: the application ships with an automated test suite (2,600+ tests at the time of the v1.2 revision) that runs before release and includes security regression tests — among them tenant cache-isolation guards, token-handling checks, and a network block that prevents test code from reaching live providers. Secrets are excluded from version control by standing rule and .gitignore. Database schema changes are applied through reviewed, numbered migration files.

7. Vulnerability and Patch Management

8. Incident Response

On discovery of a suspected security incident, the policy owner will: contain it (revoking or rotating affected tokens and keys, which the per-user envelope-encryption design allows without affecting other users); assess what data was involved; notify affected users and relevant providers without undue delay, as applicable law and provider agreements require; remediate the root cause; and record the incident, dated, in the security register's append-only history log. Users can reach the policy owner at the published contact address, and can themselves immediately revoke any connected data source in-app.

9. Vendor and Sub-processor Management

The Service relies on a deliberately short list of established providers: Supabase (database, authentication, hosting) and the platforms users choose to connect — currently Intuit (QuickBooks Online API), Plaid (bank connectivity), and Jobber (field-service/CRM API) — each disclosed in the published Privacy Policy before it handles user data. New vendors and new connected platforms are added only with a recorded reason and a review of what data they would touch.

10. Review and Revision History

This policy is reviewed by the policy owner upon any material change to the Service's systems or data handling, and at least annually. The security-gates register it references is reviewed far more often — in the same pass as every release.