HousingSurvey Pro Logo
HousingSurveyPRO

Security

HousingSurvey Pro exists to make evidence defensible, so the security model is the product. Designed against Cyber Essentials and ISO/IEC 27001 controls from the first commit (certification on the roadmap); our security design notes and DPA are available to any customer's IT team — email [email protected].

UK data residency, enforced in code
Firestore, storage, functions and authentication run in the Google Cloud London region (europe-west2). Region pinning is written into the codebase, not a policy document.
Server-authoritative finalize
Completion timestamps are set by our servers. A surveyor's device clock — right or wrong, honest or not — never dates the evidence.
Lock-on-Complete
Finalized records are immutable to every client: surveyor, manager, admin, and our own staff accounts. Corrections create superseding records; originals survive. Enforced by database security rules and covered by an automated test suite.
Per-property hash chains
Each finalized record embeds the SHA-256 of its canonical content chained to the previous record for the same UPRN. A nightly verifier recomputes every chain and records its clean runs — absence of tampering is provable, not assumed.
Append-only audit
Every create, edit, finalize, export, API read, key mint and billing event is written to a hash-chained, client-unwritable audit log per organisation.
App attestation (App Check)
Enforced from day one: web clients attest via reCAPTCHA, iOS via App Attest, Android via Play Integrity. Scripts and tampered apps don't reach the data plane.
Tenant isolation
Access rides on signed custom claims minted only server-side. Contractors reach a landlord's stock only through explicit grants and work orders. Cross-tenant denial is unit-tested.
Keys stored hashed, shown once
API keys, SCIM tokens and webhook signing secrets are displayed once and stored only as SHA-256 hashes. Webhook payloads are HMAC-signed.
Your identity provider
Enterprise organisations bring Entra ID: OIDC single sign-on and SCIM joiner/leaver provisioning, configured self-serve — your directory is the source of truth for access.
Minimal personal data
Records describe properties, not people. Billing runs on Stripe (PCI-DSS theirs); we hold no card data. Sub-processors: Google Cloud (UK), Stripe, Ordnance Survey (address strings only).

Responsible disclosure: report vulnerabilities to [email protected] — we acknowledge within 48 hours and don't pursue good-faith researchers.