Security

How we protect your financial data.

Accounting software handles sensitive data. Here's exactly what we do about it.

Our approach

Security isn't a feature — it's a constraint that shapes every decision. We default to the paranoid option: encrypt by default, log everything, grant minimum permissions, and assume breach scenarios during design. Your books deserve the same rigour as a bank's.

Infrastructure

UK Data Residency

All financial data stays in the UK

  • Database hosted in Google Cloud London (europe-west2)
  • Backups stored in UK region only
  • No data transfer outside UK jurisdiction

Encryption

Data encrypted at rest and in transit

  • TLS 1.3 for all connections
  • AES-256 encryption at rest
  • Database connections over private network

Key Management

Secure handling of encryption keys and secrets

  • Encryption keys managed via cloud KMS
  • Regular key rotation policy
  • Secrets stored outside source control
  • Environment-specific credentials only

Access Control

Strict access policies and audit trails

  • Role-based access control (RBAC)
  • All admin actions logged with IP and timestamp
  • No shared credentials, individual accounts only

Application

Data Handling

Clear boundaries on what we store and what we don’t

  • We do not store banking credentials or card numbers
  • Payment processing handled entirely by Stripe
  • Financial data is read-only where possible
  • Sensitive fields are minimised and tokenised where applicable
  • Customer data is never used for testing or development

Authentication

Secure login with modern standards

  • Argon2id password hashing (64MB memory, timeCost 3, parallelism 4)
  • JWT access tokens with 30-minute expiry, paired with rotating refresh tokens
  • Secure, HTTP-only cookie storage for tokens
  • Optional TOTP two-factor authentication

API Security

Protected API access

  • Scoped API keys with granular permissions
  • Baseline rate limiting (100 requests/minute, varies by endpoint)
  • Request logging with full audit trail
  • CORS restricted to authorised domains

Input Validation

All inputs sanitised and validated

  • Server-side validation on all endpoints (Zod + Fastify JSON Schema)
  • Parameterised queries throughout (no SQL injection)
  • Content Security Policy headers
  • XSS protection enabled

Operations

Data Retention

Clear rules on how long we keep your data

  • Customer data is retained while the account is active
  • On cancellation, account data is retained for 90 days for export and recovery
  • After the retention window, account and financial data is permanently deleted
  • Residual backups expire automatically within their 30-day retention window
  • Full data export is available at any time via the API or dashboard
  • Record-keeping obligations under HMRC are the responsibility of the account holder

Environment Separation

Strict isolation between environments

  • Production, staging, and development environments are fully isolated
  • No production data used in non-production systems
  • Access controls enforced per environment
  • Separate credentials and secrets per environment

Backups

Regular automated backups

  • Daily automated database backups
  • Point-in-time recovery available
  • Backups tested monthly
  • Retention: 30 days

Monitoring

Real-time system monitoring

  • Uptime monitoring with alerting
  • Error tracking and logging
  • Performance metrics dashboard
  • Public status page at /status

Incident Response

Clear process for security issues

  • Critical issues acknowledged within 2 hours
  • Live issue tracking and resolution timelines published on our Transparency page
  • Post-incident reviews for all security events
  • Contact: support@speybooks.com

Compliance & Standards

Our current posture

Honest about where we are and where we're heading

  • We follow industry best practices for SaaS security
  • GDPR compliant — UK data residency, data minimisation, right to erasure
  • Controls are designed to be auditable and reviewable
  • We do not currently hold formal certifications (ISO 27001, SOC 2)

Report a Vulnerability

Found a security issue? Email support@speybooks.com with "SECURITY" in the subject line. We operate a coordinated vulnerability disclosure process — all reports are acknowledged within 24 hours and taken seriously. Please allow us reasonable time to investigate and remediate before public disclosure.