Skip to main content Required by EU law for organizations with 50+ employees

ISO/IEC 27001:2022 Annex A control map #

EthicsPortal does not currently hold accredited ISO/IEC 27001 certification. This page is a structured self-assessment of EthicsPortal against the same control set an external auditor would evaluate — all 93 Annex A controls — so a procurement reviewer can verify the substance directly.

The self-assessment is published openly. Where a control is not in place, that fact is stated openly with a target. Where a control does not apply given the structure of the Service (for example, personnel controls in a zero-employee organization), that fact is stated openly with the reasoning.

When EthicsPortal pursues accredited certification, the certificate scope and date will be published on /trust/ alongside this page.

Last updated: 2026-05-21.


How to read this page #

StatusMeaning
ImplementedThe control is in place and operating; evidence is published or available during procurement review
Self-assessedThe control is in place and operates substantively as ISO/IEC 27001:2022 describes, but has not been independently audited
CompensatingThe primary form of the control does not apply (typically because of the sole-operator structure), and an alternative arrangement achieves the same security objective
InheritedThe control is provided by a named sub-processor (typically Hetzner ) under its own certification regime
Not applicableThe control does not apply given the structure of the Service; the reason is stated
In treatmentThe control is not yet in place at the operator’s target level; the current state, the target, and the planned action are stated openly
Inherited + ImplementedThe control has both an infrastructure layer (provided by a named sub-processor under its own certification) and an application layer (implemented in EthicsPortal); both are in place. In the summary tally below, such hybrids are counted under Implemented

The companion documents this page cites:


A.5 Organizational controls #

ControlTitleStatusEvidence
A.5.1Policies for information securityImplementedInformation security policy
A.5.2Information security roles and responsibilitiesImplementedIS policy §4 — single named operator holds all security roles
A.5.3Segregation of dutiesCompensatingSole-operator structure makes traditional duty segregation inapplicable. Compensating arrangement: append-only audit log records every action; static analysis enforces non-negotiable invariants at merge (Security#secure-development-lifecycle , Risk register R-04 )
A.5.4Management responsibilitiesImplementedOperator is sole management; commitments stated in IS policy §3
A.5.5Contact with authoritiesSelf-assessedDirect contact with Polish supervisory authority (UODO) and customer-side DPAs through the breach-notification path; no standing liaison
A.5.6Contact with special interest groupsSelf-assessedCVE feeds, Rails security mailing list, Ruby Advisory Database subscribed via tooling (Security#dependency-and-patch-management )
A.5.7Threat intelligenceSelf-assessedContinuous SCA via Brakeman, bundler-audit, Dependabot; no formal threat-intel program. Risk register R-07 states the residual position
A.5.8Information security in project managementImplementedSecurity#secure-development-lifecycle — features with new personal-data flows are reviewed at design stage
A.5.9Inventory of information and other associated assetsImplementedDPA §3 lists processed data categories; Subprocessors lists external assets; privileged-access summary available during procurement review
A.5.10Acceptable use of information and other associated assetsCompensatingNo employees; operator’s own use is governed by the IS policy and the Terms §7
A.5.11Return of assetsNot applicableNo employees, no joiner/leaver process. Customer-side asset return (data export and deletion) is governed by DPA §6.8
A.5.12Classification of informationImplementedDPA §3 classifies each data category (reporter identity, report content, communications, attachments, operational data, audit-log) and states encryption status
A.5.13Labelling of informationImplementedEncryption status of each field is identified in DPA §3 and Security#data-encryption
A.5.14Information transferImplementedAll connections use HTTPS/TLS (Security#data-encryption ); transfers to sub-processors are governed by written DPAs (Subprocessors )
A.5.15Access controlImplementedSecurity#access-control — Pundit policy authorization, RBAC, 2FA, session lifecycle
A.5.16Identity managementImplementedMagic-link authentication; per-user identity tracked through the membership lifecycle; deactivation cuts access at the request boundary
A.5.17Authentication informationImplementedReporter passcodes bcrypt-hashed and non-recoverable; handler authentication via magic-link plus TOTP; no plaintext password storage
A.5.18Access rightsImplementedRole-based with least-privilege defaults; periodic review via member deactivation and audit-log review (Security#access-control )
A.5.19Information security in supplier relationshipsImplementedSubprocessors page lists each supplier with data category, jurisdiction, and purpose; DPA §6.4 governs the relationship
A.5.20Addressing information security within supplier agreementsImplementedWritten DPA in place with each sub-processor under GDPR Art. 28
A.5.21Managing information security in the ICT supply chainSelf-assessedSCA on every dependency change; sub-processor change notice on additions (DPA §6.4 ). No formal upstream-supplier audit program
A.5.22Monitoring, review and change management of supplier servicesSelf-assessedSub-processor SLAs and security disclosures monitored informally; no formal annual supplier-review program
A.5.23Information security for use of cloud servicesImplementedEU-only cloud hosting documented on Security#infrastructure and Subprocessors ; Standard Contractual Clauses in place for the one named non-EU sub-processor (Cloudflare, marketing-site CDN only)
A.5.24Information security incident management planning and preparationImplementedBusiness continuity plan §3–5 defines triggers, decision authority, communication; Incident register defines disclosure timeline
A.5.25Assessment and decision on information security eventsImplementedBCP §3 defines trigger conditions; operator is sole decision authority
A.5.26Response to information security incidentsImplementedBCP §4–7 ; Incident register records every material incident
A.5.27Learning from information security incidentsImplementedIncident register final entry includes root cause, remediation, and lessons learned within 30 days of containment
A.5.28Collection of evidenceImplementedAppend-only audit log preserved in all PDF case exports; per-incident written log retained for audit
A.5.29Information security during disruptionImplementedBusiness continuity plan §1–7
A.5.30ICT readiness for business continuityImplementedBCP §2 & §6 ; RPO 24h / RTO 4h published in SLA ; quarterly restore drill
A.5.31Legal, statutory, regulatory and contractual requirementsImplementedDirective coverage map , Directive interpretations , Whistleblower laws by country , GDPR Art. 32 coverage on Security
A.5.32Intellectual property rightsImplementedTerms §8 covers customer-content IP; Terms §12 provides IP indemnification with standard carve-outs
A.5.33Protection of recordsImplementedAppend-only audit log; retention-based deletion (Security#audit-and-compliance )
A.5.34Privacy and protection of personal identifiable information (PII)ImplementedPrivacy policy , DPA , Security#anonymity-and-privacy ; GDPR Art. 32 measures documented
A.5.35Independent review of information securityIn treatmentNo external penetration test or independent audit currently on record. Stated openly on Trust#certification-status . Target: external pen test once post-revenue budget permits; published here when on record
A.5.36Compliance with policies, rules and standards for information securityImplementedThis control map plus the IS policy , BCP , and Risk register form the compliance frame; CI-enforced static analysis enforces invariants at merge
A.5.37Documented operating proceduresImplementedSDLC documented on Security ; restore procedure documented in BCP §6 ; deployment via versioned Kamal configuration

A.6 People controls #

ControlTitleStatusEvidence
A.6.1ScreeningNot applicableNo employees or contractors. Sole-operator structure disclosed on Trust#continuity-and-personnel . Operator screening (identity, tax registration) is verifiable through the published registry information
A.6.2Terms and conditions of employmentNot applicableNo employees
A.6.3Information security awareness, education and trainingNot applicableNo employees. Operator self-directed via the special-interest-group subscriptions noted at A.5.6
A.6.4Disciplinary processNot applicableNo employees
A.6.5Responsibilities after termination or change of employmentNot applicableNo employees
A.6.6Confidentiality or non-disclosure agreementsImplementedOperator’s confidentiality obligation to controllers is in DPA §6.2 ; customer-facing NDAs available on request during procurement review
A.6.7Remote workingSelf-assessedOperator works remotely; workstation hardened with full-disk encryption, screen-lock, and OS auto-update; production access only via the operator’s authenticated session. No separate remote-working policy document
A.6.8Information security event reportingImplementedResponsible disclosure inbox at security@ethicsportal.eu ; Incident register records confirmed events

A.7 Physical controls #

EthicsPortal does not operate its own physical infrastructure. The physical controls below are inherited from Hetzner (Nuremberg, Germany — ISO 27001-certified data centers under Hetzner’s own scope) for hosting controls, or fulfilled at the operator-workstation level for endpoint controls.

ControlTitleStatusEvidence
A.7.1Physical security perimetersInheritedHetzner Nuremberg data center under Hetzner certification scope
A.7.2Physical entryInheritedHetzner Nuremberg data center
A.7.3Securing offices, rooms and facilitiesNot applicableNo EthicsPortal office processes customer data
A.7.4Physical security monitoringInheritedHetzner Nuremberg data center
A.7.5Protecting against physical and environmental threatsInheritedHetzner Nuremberg data center
A.7.6Working in secure areasNot applicableNo EthicsPortal physical secure areas
A.7.7Clear desk and clear screenSelf-assessedOperator workstation has automatic screen-lock and clear-desk practice for any printed materials touching customer data (rare in practice)
A.7.8Equipment siting and protectionSelf-assessedOperator workstation; production equipment is at Hetzner
A.7.9Security of assets off-premisesSelf-assessedOperator workstation = primary off-premises asset; full-disk encryption, screen-lock, hardware-key 2FA on production-access accounts
A.7.10Storage mediaSelf-assessedNo removable media is used for production data. Backups exist only in EU cloud object storage
A.7.11Supporting utilitiesInheritedHetzner Nuremberg data center
A.7.12Cabling securityInheritedHetzner Nuremberg data center
A.7.13Equipment maintenanceInheritedHetzner Nuremberg data center
A.7.14Secure disposal or re-use of equipmentSelf-assessedOperator workstation is full-disk encrypted, so destruction of the encryption key on re-use suffices. Hetzner handles its own equipment disposal under its certification

A.8 Technological controls #

ControlTitleStatusEvidence
A.8.1User end point devicesSelf-assessedOperator workstation: full-disk encryption, screen-lock, OS auto-update, hardware-key 2FA on production-access accounts
A.8.2Privileged access rightsImplementedOnly the operator has production access; access requires the operator’s authenticated session with hardware-key 2FA; privileged-access summary available during procurement review
A.8.3Information access restrictionImplementedSecurity#access-control — Pundit policy authorization on every controller action; RBAC; least privilege
A.8.4Access to source codeImplementedPrivate repository on Git hosting with hardware-key 2FA enforced on the operator’s account; no shared credentials
A.8.5Secure authenticationImplementedMagic-link primary authentication; TOTP-based 2FA for handler/admin accounts; bcrypt-hashed reporter passcodes (Security#access-control )
A.8.6Capacity managementSelf-assessedAppSignal performance monitoring on the handler portal; informal capacity planning. No formal capacity-management plan document
A.8.7Protection against malwareImplementedClamAV virus scan on every uploaded file before delivery; infected files blocked and removed (Security#virus-scanning )
A.8.8Management of technical vulnerabilitiesImplementedBrakeman, bundler-audit, importmap audit on every change; Dependabot weekly grouped updates; documented response SLA (critical 7d, high 30d, medium 90d) (Security#secure-development-lifecycle )
A.8.9Configuration managementImplementedAll infrastructure configuration is version-controlled (Kamal deployment configuration); no out-of-band production changes
A.8.10Information deletionImplementedRetention-based automatic deletion (12/24/36/60 months); deletion on subscription termination within 30 days on request (DPA §6.8 , Security#audit-and-compliance )
A.8.11Data maskingImplementedCompliance-report PDF excludes sensitive report content; handler-portal views display “Case handler” rather than handler identity to reporters; admin-side views surface only authorized fields
A.8.12Data leakage preventionImplementedNo personal-data egress to external services; no AI/LLM sub-processor (DPA §6.10 ); subprocessor list strictly scoped per-row (Subprocessors )
A.8.13Information backupImplementedDaily encrypted PostgreSQL dumps to Hetzner Object Storage (separate from compute host); Hetzner server-level snapshots; 7-day retention; quarterly restore drill (Security#backups-and-restore )
A.8.14Redundancy of information processing facilitiesSelf-assessedNo cross-provider hot failover at current customer footprint. Backups and restore procedures provide a documented recovery path within RTO. Trade-off stated openly in Risk register R-02
A.8.15LoggingImplementedAppend-only audit trail for every action (timestamp, actor, action type) preserved for the configured retention; AppSignal records handler-portal request telemetry
A.8.16Monitoring activitiesImplementedAppSignal on the handler portal. Deliberately not present on the reporter portal — reporter-side monitoring would compromise the anonymity model (Subprocessors )
A.8.17Clock synchronizationImplementedNTP via the host operating system; all timestamps recorded in UTC
A.8.18Use of privileged utility programsSelf-assessedOperator has shell access to production for non-routine maintenance; use is recorded in the operator’s incident/maintenance log. No shared admin accounts
A.8.19Installation of software on operational systemsImplementedProduction installations only via the Kamal deployment configuration. No manual package installation on production hosts
A.8.20Networks securityInherited + ImplementedNetwork-level protection inherited from Hetzner; application-level TLS termination and rate-limiting implemented in the application (Security#rate-limiting )
A.8.21Security of network servicesInheritedHetzner network services
A.8.22Segregation of networksSelf-assessedProduction is isolated from operator workstation by network boundary; non-production environments do not contain production personal data (Security#secure-development-lifecycle )
A.8.23Web filteringNot applicableNo employee egress network to filter
A.8.24Use of cryptographyImplementedNon-deterministic encryption at rest via Rails ActiveRecord Encryption; HTTPS/TLS in transit; bcrypt for passcodes (Security#data-encryption ). Customer-managed keys not supported and the reason is stated in DPA §6.11
A.8.25Secure development life cycleImplementedSecurity#secure-development-lifecycle
A.8.26Application security requirementsImplementedEncryption coverage, authorization scope, audit-log emission, and input-validation requirements are checked in code review for every change (Security#secure-development-lifecycle )
A.8.27Secure system architecture and engineering principlesImplementedEncryption boundary, append-only audit log, RBAC at the request boundary, and reporter-anonymity properties are architectural commitments documented on Security
A.8.28Secure codingImplementedFramework-level defaults (parameterized queries, strong parameters, output escaping, CSRF) are the floor; static analysis enforces non-negotiable items (Security#secure-development-lifecycle )
A.8.29Security testing in development and acceptanceImplementedBrakeman + bundler-audit + importmap audit on every change; automated test coverage of authorization paths, encryption invariants, audit-log emission, and rate-limit enforcement
A.8.30Outsourced developmentNot applicableAll development is by the sole operator; no outsourced development
A.8.31Separation of development, test and production environmentsImplementedProduction is isolated; non-production environments use synthetic fixtures; no production personal data is used outside production (Security#secure-development-lifecycle )
A.8.32Change managementImplementedEvery production change goes through code review against a written security checklist and CI-enforced static analysis before deploy (Security#secure-development-lifecycle )
A.8.33Test informationImplementedNon-production environments use synthetic data only
A.8.34Protection of information systems during audit testingNot applicableNo third-party audit currently scoped. When an audit is conducted, the controls protecting customer data during the audit (read-only access where possible, scoped credentials with expiry, audit-log review post-engagement) will be documented in a per-audit plan

Summary #

Of the 93 controls in ISO/IEC 27001:2022 Annex A:

StatusCountRead as
Implemented55In place and operating; evidence published or available during procurement review
Self-assessed16In place and operating substantively as the control describes, but not independently audited
Inherited8Provided by named sub-processor (primarily Hetzner) under its own certification regime
Not applicable11Does not apply given the sole-operator structure (most A.6 People controls and one-off cases)
Compensating2Primary form not applicable; alternative arrangement achieves the same objective (A.5.3 segregation of duties, A.5.10 acceptable use)
In treatment1Not yet in place at the operator’s target level; target stated openly (A.5.35 independent review)

The single In treatment control — independent review of information security (A.5.35) — is the gap that an accredited certification or an independent penetration test would close. The operator’s position on this is stated openly on Trust#certification-status : no external pen test or audit is currently on record, and the scope, date, and remediation summary will be published here when one is performed.


Document control #

FieldValue
Document titleEthicsPortal ISO/IEC 27001:2022 Annex A Control Map
Version1.0
Effective date2026-05-21
Last reviewed2026-05-21
Next scheduled review2027-05-21
Review trigger (interim)Material change to the Information security policy , Business continuity plan , or Risk register ; addition or replacement of a sub-processor; engagement of external review
OwnerYaroslav Shmarov, operator

This page is not an attestation of certification. It is a self-assessment that lets a procurement reviewer evaluate the same evidence an external auditor would. Material discrepancies between this page and the actual operation of the Service should be reported to security@ethicsportal.eu .

Last updated: