← Deep-Check
ISO 27001:2022Updated: 25 February 2026

Statement of Applicability

ISO/IEC 27001:2022 — Annex A Controls · Deep-Check Biometric Identity Verification Platform

Pre-Certification Statement of Applicability

This document constitutes a voluntary Statement of Applicability (SoA) for ISO/IEC 27001:2022. Deep-Check has not yet undergone formal certification by an accredited certification body. This SoA documents the current implementation status of Annex A controls and serves as preparation for formal certification (target: Q4 2026). All implemented controls are technically verifiable in the codebase and infrastructure.

1. ISMS Scope

OrganizationDeep-Check
System in scopeWeb-based biometric identity verification and document forensics SaaS platform
Standard versionISO/IEC 27001:2022 (Annex A, 93 controls across 4 themes)
SoA version1.0
SoA date25 February 2026
Scope boundaryApplication layer (Next.js), API layer, database (Supabase EU), ML inference (Vercel)
Out of scopePhysical offices (cloud-only), end-user devices (candidate browsers), third-party identity providers
Risk appetiteLow (biometric special category data warrants conservative risk posture)
Target certificationQ4 2026, pending budget allocation for accredited audit body

2. Control Implementation Summary

27Implemented
7Planned
2Not Applicable
36Total Controls

86% of applicable controls are implemented or in progress. Planned controls target Q2–Q3 2026 (MFA, formal incident procedures, ISMS audit cycle, staff training).

3. Annex A Control Mapping

Controls marked N/A are not applicable due to cloud-only architecture (no physical premises, no end-user hardware managed). All N/A justifications are documented below.

RefControlRationale for inclusion/exclusionImplementation summaryStatus
A.5.1Policies for information securityRequired to establish security governanceSecurity policy published at /security; Privacy Policy at /privacy; Terms at /terms. COMPLIANCE.md contains internal ISMS policy.Implemented
A.5.2Information security roles and responsibilitiesRequired for accountabilityRoles defined: Data Controller (Deep-Check), DPO (pending formal appointment), Security Lead. Documented in COMPLIANCE.md.Planned
A.5.10Acceptable use of information and other assetsRequired to prevent misuse of biometric dataTerms of Service §2 defines acceptable/prohibited uses; automated decision-making without human review explicitly prohibited.Implemented
A.5.12Classification of informationBiometric data = special category, requires classificationData classification documented: biometric profiles (Confidential), audit logs (Internal), public content (Public). In COMPLIANCE.md §2.Implemented
A.5.15Access controlRequired to protect biometric data and admin functionsDashboard access: httpOnly session cookie, timingSafeEqual auth; Supabase: RLS policies per table; API: rate limiting in middleware; env vars: Vercel secrets.Implemented
A.5.17Authentication informationSecure credential management for admin accessAdmin session tokens: 32-byte crypto.randomBytes(); stored hashed in dc_admin_sessions; 8h expiry; timingSafeEqual comparison prevents timing attacks.Implemented
A.5.23Information security for use of cloud servicesSupabase and Vercel are cloud service providersSupabase: EU region, ISO 27001 certified, SOC 2. Vercel: SOC 2 Type II. Sub-processor list in Privacy Policy §7.Implemented
A.5.24Information security incident management planningRequired for breach responseResponsible disclosure policy published at /security §4. Vercel provides incident alerting. Formal ISMS incident procedure: planned.Planned
A.5.26Response to information security incidentsGDPR Art. 33 requires 72h breach notificationIncident response contact (security@deep-check.app) published in security.txt. 72h AEPD notification process documented in COMPLIANCE.md.Planned
A.5.29Information security during disruptionService continuity for biometric verificationVercel provides global CDN with automatic failover. Supabase provides daily automated backups. Formal BCP: planned.Planned
A.5.31Legal, statutory, regulatory and contractual requirementsGDPR, EU AI Act, ENS compliance requiredGDPR Art. 9 consent gates implemented; ENS Básico autodeclaración published at /ens; EU AI Act Art. 13/14 implemented; legal register in COMPLIANCE.md.Implemented
A.5.32Intellectual property rightsOSS license complianceONNX model: Apache 2.0 compatible; all npm dependencies: MIT/Apache/ISC; no GPL-licensed dependencies in production build.Implemented
A.5.33Protection of recordsAudit log integrity required by ENS op.exp.7Audit logs in dc_audit_logs (Supabase): append-only via service_role; RLS blocks user modification; pseudonymized IPs.Implemented
A.5.36Compliance with policies and standardsRequired for ISMS operationThis SoA document + ENS autodeclaración constitute compliance documentation. Internal audit cycle: planned (biannual).Planned
A.6.1ScreeningBackground checks for personnel with access to biometric dataCurrently sole developer with full access. Formal screening process required upon team expansion.N/A
A.6.3Information security awareness, education and trainingRequired for secure operationsSecurity training planned for Q3 2026 upon team growth. Current team: developer with security background.Planned
A.6.8Information security event reportingRequired to detect and report security eventsSecurity events auto-logged to dc_audit_logs; error 5xx alerts via Vercel; responsible disclosure email in security.txt.Implemented
A.7.1Physical security perimetersNo physical infrastructure — cloud-onlyN/A: All infrastructure is cloud-hosted (Vercel, Supabase). Physical security delegated to cloud providers (ISO 27001 certified).N/A
A.8.1User endpoint devicesCandidate devices process biometric data locallyAll biometric extraction runs client-side in sandboxed browser environment. No data stored on candidate devices beyond localStorage consent flag.Implemented
A.8.2Privileged access rightsAdmin access to Supabase and dashboard requires protectionSupabase service role key stored in Vercel encrypted environment; not exposed to client; dashboard requires session token.Implemented
A.8.5Secure authenticationMulti-factor authentication for admin accessAdmin auth: password + session token (2-factor equivalent). MFA via TOTP: planned for Q2 2026.Planned
A.8.6Capacity managementPrevent denial-of-service affecting availabilityRate limiting: 20 req/min per IP on /api/ml-score (CPU-intensive); 100 req/min default. Vercel auto-scales. Supabase connection pooling.Implemented
A.8.7Protection against malwareRequired for application securitynpm audit on CI/CD pipeline; no eval(); strict CSP blocks inline scripts; TypeScript strict mode prevents common vulnerabilities.Implemented
A.8.8Management of technical vulnerabilitiesRequired to maintain security posturenpm audit run on each deployment; Dependabot alerts enabled on GitHub; responsible disclosure policy at /security §4.Implemented
A.8.9Configuration managementSecure configuration baselineInfrastructure as code: next.config.ts (security headers), Supabase migrations version-controlled; environment variables in Vercel (not in code).Implemented
A.8.11Data maskingRequired for pseudonymisation of biometric dataIP addresses hashed with SHA-256+salt before storage; biometric profiles use opaque IDs (ep_*); no PII in URLs; email only stored as identifier.Implemented
A.8.12Data leakage preventionPrevent exfiltration of biometric profilesCSP blocks data exfiltration to unauthorized domains; Supabase RLS limits data access by role; API responses never include raw keystroke timings.Implemented
A.8.15LoggingRequired for security monitoring and forensicsStructured audit log (dc_audit_logs): all API calls, auth events, enrollment, assessment saves. Middleware logs all requests with X-Request-ID. IP pseudonymized.Implemented
A.8.16Monitoring activitiesRequired for anomaly and intrusion detectionRate limiting detects abuse patterns; Vercel Analytics monitors latency/errors; audit log enables retrospective analysis; error 4xx/5xx tracked.Implemented
A.8.20Networks securityRequired to secure API communicationsHTTPS enforced (HSTS max-age=31536000, preload); TLS 1.3 minimum; no HTTP fallback. Supabase traffic over TLS. Vercel edge network.Implemented
A.8.22Segregation of networksIsolation of production databaseSupabase service role key only on server-side (Vercel env); public anon key has RLS restrictions; no direct database access from client.Implemented
A.8.24Use of cryptographyRequired for data protectionTLS 1.3 in transit; AES-256 at rest (Supabase); SHA-256 for IP hashing; crypto.randomBytes(32) for session tokens; crypto.timingSafeEqual for auth.Implemented
A.8.25Secure development life cycleRequired for application securityTypeScript strict; ESLint security rules; PR reviews (planned); penetration testing (planned Q3 2026); OWASP Top 10 checklist applied.Implemented
A.8.26Application security requirementsSecurity by design for the verification platformSecurity requirements documented: anti-spoofing (4 layers), rate limiting, consent gates, audit logging, CSP, HSTS. See /whitepaper and /security.Implemented
A.8.28Secure codingPrevent common vulnerabilities in application codeTypeScript strict null checks; no eval(); parameterized Supabase queries (ORM prevents SQLi); Content-Security-Policy; no secrets in code (env vars).Implemented
A.8.32Change managementControl changes to the production systemAll changes via git commits on GitHub; Vercel auto-deploys from main branch with build checks; TypeScript compilation required before deploy.Implemented

4. Risk Treatment Summary

RiskLikelihoodImpactTreatmentControls
Biometric spoofing (replay/synthetic)MediumHighMitigateA.8.26, A.8.28 — 4 anti-adversarial layers (blink, rhythm_shift, inconsistency, saccade)
API abuse / DDoS on ML endpointHighMediumMitigateA.8.6 — Rate limiting 20 req/min per IP; Vercel auto-scale
Biometric data exfiltrationLowCriticalMitigateA.5.33, A.8.11, A.8.12 — RLS, CSP, pseudonymisation, no raw data stored
Admin account compromiseLowHighMitigateA.5.17, A.8.5 — 32-byte random tokens, timingSafeEqual, 8h session expiry
Supply chain attack (npm)MediumHighMitigateA.8.7, A.8.8 — npm audit, Dependabot, minimal dependency surface
GDPR Art. 9 breach notification failureLowHighMitigateA.5.26 — 72h notification procedure documented; DPO appointment planned
EU AI Act high-risk classificationMediumHighMitigateA.5.31 — Art. 13/14 implemented; technical documentation published
Vendor lock-in / provider outage (Supabase)LowMediumAcceptSupabase: 99.9% SLA; Vercel fallback. Full migration feasible: PostgreSQL-compatible.

5. Certification Roadmap

MilestoneDescriptionTargetStatus
ISMS documentation completeSoA, Risk Register, Asset Inventory, Policies — all documentedQ1 2026Done
Technical controls implementedAll A.8 technological controls: rate limiting, audit log, crypto, CSP, HSTSQ1 2026Done
ENS Básico autodeclaraciónVoluntary self-declaration of ENS Básico conformity (RD 311/2022)Q1 2026Done
MFA for admin dashboardTOTP-based second factor for /dashboard accessQ2 2026Planned
Formal incident procedureWritten IRP with escalation tree, GDPR 72h notification workflowQ2 2026Planned
Internal ISMS auditFirst internal audit of ISMS controls against ISO 27001:2022Q3 2026Planned
Penetration testExternal pentest of API and biometric pipelineQ3 2026Planned
ISO 27001:2022 Stage 1 auditDocumentation review by accredited certification bodyQ4 2026Planned
ISO 27001:2022 Stage 2 auditOn-site certification audit — target certificationQ1 2027Planned