← Back to app

Security Overview

Last updated: June 11, 2026 · Pilot

This document describes the Service's security posture, intended for IT security reviewers, public health inspectors, and customer procurement teams. It is current as of the date above and is updated when material changes occur.

Architecture summary

Pool Operator Logbook is a browser-based progressive web application served as static assets from Netlify's edge CDN. The backend is PostgreSQL hosted on Supabase (Canada Central region). The application communicates with the backend over HTTPS using the Supabase JavaScript SDK and custom session tokens issued by server-side PostgreSQL functions.

Authentication

Authorization

Data integrity and tamper evidence

Transport and content

Data residency and backup

Retention

Data classRetention
Operational records (tests, chems, etc.)7 years from entry
Audit log7 years
PIN attempts (security forensics)90 days
Expired sessionsDeleted nightly

Current state vs commercial-grade roadmap

ControlStatusNotes
PIN hashing (bcrypt)ImplementedWork factor 10
RLS on all tablesImplementedTested anon-cannot-read-PIN-hash
Audit log with diff viewerImplementedUI available in admin tab
Idle timeoutImplemented30 minutes
Rate limitingImplemented5/min, 1-min lockout
Forced first-login PIN changeImplementedFor new + reset users
Security headersImplementedHSTS, CSP, X-Frame, etc.
XSS-escaped user contentImplementedAll user-typed fields
Multi-tenant org isolation (RLS)Partialorg_id column on all tables; full per-org filtering pending
Two-factor authentication (TOTP)RoadmapTargeted for manager/supervisor roles
SSO (SAML / OIDC)RoadmapFor municipal Azure AD integration
Penetration testRoadmapPre-GA
SOC 2 auditRoadmapType I targeted for 2027
Web Application FirewallRoadmapCloudflare in front of Netlify edge

Incident response

In the event of suspected unauthorized access or data tampering:

  1. Operators report to a manager immediately. Managers report to the Service operator.
  2. The Service operator revokes all active sessions for the affected organization within 30 minutes of confirmation.
  3. Audit log is reviewed to determine the scope of the incident.
  4. Affected customer organizations are notified in writing within 72 hours per PIPEDA breach-notification expectations.
  5. A written post-incident report is provided to the customer within 14 days.

Reporting a vulnerability

Security researchers are encouraged to report vulnerabilities directly to the Service operator named in your organization's pilot agreement. Good-faith reports are appreciated; we do not pursue legal action against researchers who follow responsible disclosure.

Questions

Direct security questions to your facility manager or the Service operator listed in your pilot agreement.