This Register of Processing Activities (ROPA) is maintained in accordance with Article 30 of the UK General Data Protection Regulation (UK GDPR) and the Data Protection Act 2018. It documents all personal data processing activities carried out by Calmony Ltd as data controller.
Note for ICO audits: This document is maintained as a living record. Each processing activity below corresponds to a discrete purpose and lawful basis under UK GDPR. This ROPA is available to the Information Commissioner's Office (ICO) upon request. Controller and DPO contact details are in Section 1 below.
Twilio (SMS/WhatsApp — US; SCCs and UK IDTA in place)
International Transfers
Twilio routes SMS delivery data via US infrastructure under SCCs. Resend stores delivery metadata in EU.
Retention Period
Notification delivery logs retained for 90 days; purged thereafter
Security Measures
Email content limited to notification metadata — no raw PII in message body where avoidable
API keys stored as environment secrets, not in codebase
TLS 1.2+ for all outbound notification API calls
PA-07
Adverse media screening and enhanced due-diligence results (premium feature)
Art. 6(1)(f)
Lawful Basis
Art. 6(1)(f) — Legitimate Interests (enhanced compliance due diligence for regulated entities)
Data Subjects
Customers' clients (natural persons)
Business counterparties
Personal Data Categories
Full name
Adverse media articles and source URLs
Risk category classifications
Recipients
Neon (database hosting — EU/UK)
Vercel (application layer — EU edge)
International Transfers
No transfer outside UK/EU adequacy zone for adverse media results.
Retention Period
6 years from date of screening (aligned with sanctions screening records)
Security Measures
Access restricted to authorised users within the same organisation
Organisation-level Row Level Security (RLS) on all screening tables
Results stored encrypted at rest
PA-08
Service analytics, security monitoring, and fraud prevention
Art. 6(1)(f)
Lawful Basis
Art. 6(1)(f) — Legitimate Interests (service security and abuse prevention)
Data Subjects
Platform users
Personal Data Categories
IP address (pseudonymised after 30 days)
User agent string
Request timestamps and endpoint paths
Error and performance telemetry
Recipients
Vercel (application and edge log processing — EU)
SaaS Factory platform (error ingestion — UK/US)
International Transfers
Error telemetry is reported to the SaaS Factory platform (UK-hosted where applicable; Vercel edge — SCCs/IDTA in place).
Retention Period
Raw logs retained for 30 days; aggregated/anonymised analytics retained for 2 years
Security Measures
IP addresses pseudonymised (last octet zeroed) after 30 days
No PII included in error telemetry payloads (PII scrubbing applied before transmission)
Rate limiting applied to prevent abuse logging PII at volume
3. Categories of Recipients
The following third-party processors and sub-processors receive or have access to personal data processed by Calmony Ltd. All processors are contractually bound under Data Processing Agreements (DPAs).
Where personal data is transferred to countries outside the UK, Calmony ensures appropriate safeguards are in place in accordance with UK GDPR Chapter Vand the ICO's International Data Transfer Agreement (IDTA).
Standard Contractual Clauses (SCCs)
Used for transfers to US-based processors (Twilio, Google, GitHub). UK IDTA addendum attached where required. Calmony Pay processes data within the UK.
EU-US Data Privacy Framework
Google LLC is certified under the EU-US DPF. This provides an adequacy basis for authentication data processed in the US.
Data Residency Controls
Neon Postgres data is stored in AWS eu-west-1 (Ireland). Vercel edge deployments default to EU regions. No primary data stored outside EU/UK.
Processor DPAs
All third-party processors have signed Data Processing Agreements (DPAs) as required by UK GDPR Art. 28. Copies are available on request to dpo@calmony.com.
5. Technical & Organisational Security Measures
Calmony implements appropriate technical and organisational measures (TOMs) as required by UK GDPR Article 32 to protect personal data against accidental or unlawful destruction, loss, alteration, unauthorised disclosure, or access.
Encryption at Rest
All personal data fields are encrypted at rest using AES-256. Database-level encryption via Neon Postgres (AWS KMS).
Encryption in Transit
All connections use TLS 1.2 or higher. HSTS headers enforced. Certificate pinning on critical endpoints.
Access Control (RBAC)
Role-based access control enforced at application layer. PostgreSQL Row Level Security (RLS) restricts cross-tenant data access.
Authentication Security
Passwords hashed with bcrypt (≥12 rounds). JWT sessions with configurable expiry. Rate limiting on auth endpoints.
Audit Logging
All state-changing operations (create, update, delete) are written to an immutable append-only audit log with actor, timestamp, and resource.
API Key Security
API keys hashed with SHA-256 before storage. Keys prefixed for detection by secret-scanning tools. Never stored in plain text.
Dependency & Vulnerability Scanning
Automated dependency scanning via Dependabot. npm audit blocking in CI pipeline. SAST checks on pull requests.
Incident Response
Documented data breach response procedure. ICO notification within 72 hours where required (UK GDPR Art. 33). Runbook maintained in version control.
Data Minimisation
SELECT projections exclude unnecessary PII fields. Screening jobs reference record IDs at runtime — no raw PII in job queue payloads.
6. Review & Version History
This ROPA is reviewed at least annually, and whenever a significant new processing activity is introduced. Reviews are documented below.
Version
Date
Changes
Reviewed By
1.0
1 January 2025
Initial ROPA — 8 processing activities documented
DPO, Calmony Ltd
Request a Copy or Raise a Query
To request a copy of this ROPA, raise a data subject rights request, or submit a data protection query, contact our Data Protection Officer at dpo@calmony.com. ICO complaints: ico.org.uk/make-a-complaint.
Document version 1.0 — Last reviewed: 1 January 2025 — Calmony Ltd