Security overview
Last updated August 5, 2026 · Footings is in active beta
Footings holds financial records, so security is a design requirement, not a feature. This is an honest summary of the controls that exist today.
Tenant isolation and roles
- Every table is protected by database-level row security: a company's rows are invisible to every other company, enforced in the database itself, not just the app.
- Access inside a company follows least privilege: field crew see their assigned jobs and their own uploads; project managers see and manage only the jobs they're on; the general ledger, payments and tax records are restricted to owner, admin and accounting roles. The crew schedule follows the same rules.
- These rules are covered by an automated attack-test suite (hundreds of checks) that tries to break them on every release — cross-tenant reads, privilege escalation, record retargeting — and must pass before anything ships.
Evidence integrity
- Posted financial records are immutable — corrections happen by reversal or credit note, never silent edits.
- A document filed against a record can't be swapped, unfiled or renamed; changes to sensitive data are written to an append-only audit trail.
- Subcontractor tax identifiers are stored separately, masked in the interface, and every full reveal is audited.
Infrastructure
- Data is stored in a Canadian data-centre region, encrypted in transit (TLS) and at rest.
- The app ships with a strict content-security policy and hardened HTTP headers.
- No payment card data is collected during the beta.
Reporting a concern
If you believe you've found a security problem, please tell us privately through the support page — include steps to reproduce. We take reports seriously and reply.
Beta honesty: independent penetration testing and formal certifications (e.g. SOC 2) have not been done yet — this page will say so until they have.