Aller au contenu principal
Obligatoire en France (Loi Waserman) pour les organisations de plus de 50 salariés
Cette page n'est disponible qu'en anglais.

ISO/IEC 27001:2022 self-assessment #

EthicsPortal does not currently hold accredited ISO/IEC 27001 certification. This page is a structured self-assessment against the same evidence an external auditor would evaluate, so a procurement reviewer can verify the substance directly.

Certification is awarded against two things: the mandatory management-system requirements in Clauses 4–10, and an Annex A control set justified by the risk assessment. This page covers both — the clause-by-clause position first, then all 93 Annex A controls in the form Clause 6.1.3 d) requires of a Statement of Applicability.

The self-assessment is published openly. Where a requirement or control is not in place, that fact is stated openly with a target. Where it 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-09-23.


How to read this page #

StatusMeaning
ImplementedThe control is in place and operating; evidence is published or available during procurement review
PartialSome measures operate, but a material part of the asserted control remains unverified or absent
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:


ISMS requirements (Clauses 4–10) #

Clauses 1–3 of the standard are informational. Clauses 4–10 are the mandatory requirements an accredited certification body confirms before it will certify anything, and they govern the management system itself rather than any individual control. Annex A is selected and justified by that system, not the other way round.

ClauseRequirementStatusPosition and evidence
4.1Understanding the organization and its contextSelf-assessedRegulatory, threat and supplier context is carried by the risk register rows it produces (R-03 supplier chain, R-07 upstream dependencies, R-10 regulatory change), together with Subprocessors and the Directive coverage map . There is no separate context-analysis document
4.2Understanding the needs and expectations of interested partiesSelf-assessedInterested parties are addressed per relationship rather than in a single register: controllers in the DPA , reporters in the Privacy notice , supervisory authorities at A.5.5, sub-processors on Subprocessors
4.3Determining the scope of the ISMSImplementedIS policy §2 states the boundary — reporter portal, handler portal, supporting infrastructure, all personal data processed on behalf of controllers, the operator and the named sub-processors — and states that controller-operated systems fall outside it
4.4Information security management systemSelf-assessedThe ISMS is the published document set indexed on Trust#public-documents plus this page. It operates and is versioned; it has not been certified
5.1Leadership and commitmentImplementedThe operator is sole top management. Commitments are stated and signed in the IS policy
5.2PolicyImplementedInformation security policy — published, dated, versioned, signed, reviewed annually
5.3Organizational roles, responsibilities and authoritiesImplementedIS policy §4 assigns all five security roles to the named operator and states that concentration openly rather than implying separation
6.1.1Actions to address risks and opportunitiesSelf-assessedIS policy §6 sets the assessment trigger and cadence; the risk register records the output
6.1.2Information security risk assessmentImplementedRisk register — defined impact and likelihood scale, ten assessed risks, and an explicit list of risk categories deliberately excluded with the design reason
6.1.3Information security risk treatmentImplementedTreatment is recorded per risk in the register, control selection is the Statement of Applicability below, and the treatment plan gives every In treatment risk a named action and a completion date, with a stated rule for what happens when one is missed
6.2Information security objectives and planning to achieve themImplementedIS policy §3 states three objectives, each with a measure, a target, and the source the result is read from
6.3Planning of changesSelf-assessedChanges to the Service run through the pre-deploy checklist and the deploy gate (A.8.32). Changes to the ISMS are versioned in each document’s control block and recorded in the corrective-action log below
7.1ResourcesPartialThe ISMS is resourced by one person’s time. That constraint is the subject of risk register R-01 and is disclosed on Trust#continuity-and-personnel
7.2CompetenceSelf-assessedIS policy §8 records the operator’s competence basis and the feeds that maintain it. Self-declared; no third-party certification is claimed
7.3AwarenessCompensatingThere are no personnel to make aware. The operator’s own awareness is maintained through the security feeds listed at A.5.6
7.4CommunicationImplementedSecurity events follow the incident register disclosure timeline; sub-processor changes carry 30-day notice under DPA §6.4 ; inbound reports reach security@ethicsportal.eu (Security#responsible-disclosure )
7.5Documented informationImplementedEvery policy document carries a version, effective date, next-review date, owner and signature, and is published rather than held privately
8.1Operational planning and controlImplementedSecurity#secure-development-lifecycle — the automated suite and static analysis gate every deploy and block it on failure; the written pre-deploy checklist governs approval
8.2Information security risk assessment (performed)Self-assessedRegister last reviewed 2026-09-05 on the annual cadence plus the interim triggers in IS policy §6
8.3Information security risk treatment (implemented)Self-assessedThe selected controls operate — see the tally below — and the five open items now run against the dated treatment plan . The first cycle of results against those dates is reported at the 2027-09 management review ; until then the plan is executing rather than evidenced
9.1Monitoring, measurement, analysis and evaluationSelf-assessedA production check set runs continuously and is published at secure.ethicsportal.eu/up . It verifies, among other things, that the append-only audit triggers are present on the deployed database, that the latest PostgreSQL dump is under 36 hours old, and that the GDPR retention, deadline and inactivity-close jobs completed within 26 hours. Availability against the 99.5% target is measured per SLA#measurement . Analysis of the collected data is periodic, at the review points below, rather than continuous
9.2Internal auditPartialA programme and a first audit are published at Internal audit record ; it found no control failures and five documentation defects, all corrected before close. The requirement that the audit process be objective and impartial cannot be met under a single-operator structure, since the auditor is the person who built the system. That is the same limit recorded at A.5.35, and an independent review is what closes it
9.3Management reviewSelf-assessedManagement review record — conducted against the Clause 9.3 input list, dated, with conclusions and five decisions recorded. Single-person review; not independently witnessed
10.1Continual improvementSelf-assessedEvidenced by the corrective-action log below and by the dated revisions of each policy document
10.2Nonconformity and corrective actionImplementedSecurity events are recorded and closed out through the incident register ; ISMS nonconformities — inaccurate or incomplete assertions found during review — are recorded with their correction and re-verification in the corrective-action log below

Statement of Applicability #

Clause 6.1.3 d) requires a Statement of Applicability: the controls determined necessary, the justification for including each, whether it is implemented, and the justification for excluding any Annex A control. The four control tables below are that statement.

Basis for inclusion. All 93 Annex A controls are treated as applicable by default. A control is excluded only where the structure of the Service makes it meaningless — nine of the 93 — and every exclusion carries its reason in its own row. Inclusion is not asserted control by control against a single risk, because most controls treat several. The mapping below shows which controls carry the treatment for each assessed risk; the controls it does not name are included as baseline hygiene for the three objectives in IS policy §3 .

Assessed risk (register )Treatment carried by
R-01 Operator incapacityA.5.2, A.5.4, A.5.24, A.5.29, A.5.30, A.8.13
R-02 Hetzner outageA.5.23, A.5.29, A.5.30, A.7.1–A.7.13 (inherited), A.8.13, A.8.14
R-03 Sub-processor personal-data breachA.5.19, A.5.20, A.5.21, A.5.22, A.5.23, A.8.12, A.8.16
R-04 Operator credential theftA.5.15, A.5.17, A.5.18, A.8.2, A.8.4, A.8.5
R-05 Restore failureA.5.30, A.8.13, A.8.14
R-06 Reporter network-side attribution leakA.5.34, A.8.11, A.8.15, A.8.16
R-07 Upstream dependency vulnerabilityA.5.7, A.5.21, A.8.8, A.8.19, A.8.29
R-08 Audit-log integrity compromiseA.5.28, A.5.33, A.8.2, A.8.15
R-09 Reporter passcode lossA.5.17, A.8.5, A.8.24
R-10 Regulatory change requiring re-architectureA.5.31, A.5.36, A.8.25, A.8.26

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. Defined events are recorded in an append-only audit log, including which handler viewed which report; reads of other resources are not logged. The automated suite and static analysis gate deploy, and signed commits make authorship attributable (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 (e.g. the oral-reporting voice channel was designed to anonymize audio locally and purge the raw recording, introducing no new sub-processor)
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 transferPartialCustomer-facing connections use HTTPS/TLS (Security#data-encryption ). Public supplier terms describe DPAs, but executed account-specific terms, onward access and restricted transfers have not been verified (Subprocessors )
A.5.15Access controlImplementedSecurity#access-control — Pundit policy authorization on every controller action; three-role RBAC (admin/member/viewer); opt-in TOTP 2FA; sliding 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 passwordless magic-link with opt-in TOTP 2FA (recommended at onboarding, not enforced); operator production accounts use mandatory hardware-key 2FA (Risk register R-04 ); no plaintext password storage
A.5.18Access rightsImplementedThree roles (admin, member, viewer) with least-privilege defaults; read-only viewer role for auditors and legal counsel; 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 servicesSelf-assessedEU hosting for the reporting service is documented on Security#infrastructure and Subprocessors . Separate US processing for the public site is disclosed in the Privacy Notice . This self-assessment does not itself prove that a particular transfer mechanism or supplier contract is sufficient.
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: PostgreSQL triggers reject changes to core audit content and table truncation while permitting required foreign-key nullification; application deletion paths are limited to retention and GDPR Art. 17 erasure flows; privileged database intervention remains a documented residual risk (Risk register R-08 ). The trail is 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 continuityPartialBCP §2 & §6 ; RPO 24h / RTO 4h are published objectives in the SLA . The monthly drill now proves the restored database is readable by the application, not only that the rows returned. It still does not measure the end-to-end RTO, off-provider recovery or operator-incapacity response
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 addresses ownership of the Service and customer content; Terms §12 states that the standard terms do not include IP defence or indemnity
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. 14 notice to third parties named in a report is documented as the controller’s (customer’s) responsibility, not automated by the platform; data-subject rights including portability (Art. 20) and complaint to a supervisory authority (Art. 77) documented; 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 . First-party testing is performed and published at Self-conducted security testing , which does not carry the independence this control requires. Scope, date, and remediation summary will be published here when one is performed
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; the automated suite and static analysis enforce those invariants on every change and block the deploy on failure
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.1ScreeningCompensatingThere is no hiring process to screen, but the operator is the only person with access and is therefore the subject this control exists to assure. The equivalent assurance is identity verifiability: contracting party, registry number and tax registration are published on Trust#contracting-party , and the registry extract is available during procurement review. Sole-operator structure disclosed on Trust#continuity-and-personnel
A.6.2Terms and conditions of employmentNot applicableNo employees
A.6.3Information security awareness, education and trainingCompensatingNo employees to train, but Clause 7.2 makes the operator’s own competence a requirement rather than an exemption. The competence basis and the feeds that maintain it are recorded in IS policy §8 ; the subscriptions are listed at A.5.6. Self-directed and self-declared
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. Commits and tags are signed with an SSH key and verified against a pinned allowed-signers list, so the authorship of every revision is cryptographically attributable
A.8.5Secure authenticationImplementedMagic-link primary authentication with encrypted pending-auth token and sliding session expiry; opt-in TOTP 2FA for handler/admin accounts (not enforced); 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 scan on every uploaded file via a swappable AntivirusScanner client; uploads are gated from delivery (HTTP 403) until scanned clean, and infected files are purged (Security#virus-scanning )
A.8.8Management of technical vulnerabilitiesImplementedBrakeman, bundler-audit, importmap audit on every change plus a daily dependency-audit CI cron to catch new CVEs on unchanged dependencies; Dependabot weekly grouped updates; documented response SLA (critical 7d, high 30d, medium 90d) (Security#secure-development-lifecycle ); vulnerabilities found by manual testing are tracked with their remediation at Self-conducted security testing
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/48/60 months, country-minimum enforced); 18-month inactivity auto-close starts the retention clock; organization soft-delete with retention-aware auto-purge; post-Service return or deletion follows the Controller’s instruction and the documented production/backup lifecycle (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; EXIF/metadata stripped from uploaded images, PDFs, audio and video (libvips + exiftool); oral-report audio pitch-shifted locally and the raw recording purged
A.8.12Data leakage preventionPartialNo AI/LLM sub-processor is used for report content (DPA §6.10 ). Mailjet receives email addresses and access-code notifications when enabled; AppSignal receives application telemetry. Actual downstream access, telemetry content and restricted transfers require account-level verification (Subprocessors )
A.8.13Information backupPartialTwo layers, both in the EU: daily PostgreSQL dumps via a Kamal accessory to Hetzner Object Storage (separate from the compute host), encrypted with GnuPG symmetric AES-256 on the host before upload, with 21 current daily backups and deletion of noncurrent versions after 7 additional days; and full-disk snapshots of the application host retained 7 days in Hetzner Cloud. Backup freshness is checked continuously and alerts if the latest dump exceeds 36 hours. The monthly drill decrypts, restores, compares every table against production and boots the application against the restored data to confirm an encrypted column decrypts (Security#backups-and-restore ). Remaining gap: file attachments are neither encrypted at rest nor carried in the dump, so the database is covered and attachment objects are not
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, but the published RTO has not been demonstrated end to end. Trade-off stated in Risk register R-02
A.8.15LoggingImplementedAppend-only audit trail for defined report and account events (timestamp, actor, action type). Report reads are covered: each handler’s view of a given report is logged, deduplicated to one entry per handler per report per 24 hours, and reporter follow-up views are logged the same way. Reads of other resources, and actions outside the defined event set, are not logged. AppSignal records application telemetry subject to the restrictions and remaining verification in A.8.16
A.8.16Monitoring activitiesPartialAppSignal APM is active; reporter controllers use an ignored namespace and session-data transmission is disabled. On 2026-09-23 the namespace exclusion was checked from the supplier side rather than from our configuration: an inventory of every action AppSignal holds for the production app returned 27 web actions and 13 background jobs, all of them handler, organization, admin or public-widget paths, with no reporter-portal controller among them. Not yet verified: the contents of individual stored samples — request parameters and headers — which the supplier’s API does not expose under the token used. Attachment delivery and supplier-side logs also remain unverified (TP-01, 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 on the pre-deploy checklist for every change and are covered by automated tests that block the deploy on failure (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; periodic manual testing with scope, findings, and remediation published at Self-conducted security testing
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 is committed to version control, passes the full automated suite and static analysis before deploy, and is recorded — deploy path in the CI run history, rationale in a per-change decision log. A failing suite blocks the deploy. Approval follows the documented pre-deploy checklist; approval roles are described during procurement review (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
Implemented50In place and operating; evidence published or available during procurement review
Partial5Material scope or evidence still outstanding (A.5.14, A.5.30, A.8.12, A.8.13, A.8.16)
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 applicable9Does not apply given the sole-operator structure (the remaining A.6 People controls and one-off cases)
Compensating4Primary form not applicable; alternative arrangement achieves the same objective (A.5.3 segregation of duties, A.5.10 acceptable use, A.6.1 screening, A.6.3 awareness)
In treatment1Not yet in place at the operator’s target level; target stated openly (A.5.35 independent review)

The In treatment control (A.5.35) lacks independent security review. The five Partial controls require supplier-chain, backup-encryption and end-to-end continuity evidence. First-party testing is published at Self-conducted security testing ; it does not establish independence or close the partial controls.

Against Clauses 4–10, two positions remain open and both are structural: the ISMS is resourced by one person (7.1), and internal audit cannot be impartial while the auditor is the person who built the system (9.2). Neither is closed by adding a control. Both are properties of the single-operator structure and are disclosed as such; an independent external review is what moves 9.2, and it is dated at TP-05 of the treatment plan .


Nonconformity and corrective-action log #

Clause 10.2 requires that a nonconformity be recorded with the correction applied and the effect of that correction verified. The entries below are that record. Each revision states what was found inaccurate, incomplete or unsupported, what was changed, and what was re-verified. Entries are retained rather than overwritten, so a reviewer can see what the page used to claim.

v3.2 — 2026-09-23 #

v3.1 — 2026-09-23 #

A control change rather than a documentation correction. The open item at A.8.13 was closed for the database and is restated precisely for what remains.

v3.0 — 2026-09-23 #

This revision closes the largest gap in the document itself: it assessed only Annex A, and said nothing about the Clauses 4–10 requirements that certification is actually awarded against.

v2.6 — 2026-09-05 #

This revision cites the newly published record of first-party security testing from the controls it bears on.

No control changed status; the tally is unchanged from v2.5.


v2.5 — 2026-08-15 #

This revision codifies the backup lifecycle and aligns the published retention statement with the enforced policy.

No control changed status; the tally is unchanged from v2.4.


v2.4 — 2026-08-15 #

This revision narrows the audit-integrity wording to the control the Service actually operates.

No control changed status; the tally is unchanged from v2.3.


v2.3 — 2026-08-15 #

This revision follows a change to how the test suite gates a deploy, and corrects the rows that described the previous arrangement.

No control changed status; the tally is unchanged from v2.2.


v2.2 — 2026-07-18 #

This revision re-verified every control against the running code and the companion documents. One correction was found:

Every other technical claim was re-confirmed against code: the non-deterministic ActiveRecord encryption model (A.8.24) and the encrypted fields it covers (A.5.12–A.5.13); the append-only audit log enforced by Postgres triggers, with DELETE permitted only for the Art. 17 erasure cascade (A.5.28, A.8.15); the three-role admin/member/viewer RBAC with a read-only viewer (A.5.15, A.5.18); Pundit authorization on every controller action (A.8.3); the retention lifecycle — 12/24/36/48/60-month options, country-minimum enforcement, 18-month inactivity auto-close, and retention-aware organization purge (A.8.10); asynchronous ClamAV scanning with 403 delivery-gating until clean (A.8.7); libvips + exiftool metadata stripping and local pitch-shift anonymization of oral-report audio (A.8.11); the AppSignal anonymity configuration — session-data transmission disabled and parameters filtered (A.8.16); and the no-AI/LLM-sub-processor position (A.8.12). No control changed status; the tally is unchanged from v2.1.


v2.1 — 2026-06-18 #

This revision corrects one overstatement found during a documentation accuracy review:


v2.0 — 2026-06-17 #

This revision re-verified every control against the running code and the companion documents. Substantive changes since v1.0:

The status tally is unchanged from v1.0: the single In treatment control remains A.5.35 (independent review). No new control moved into or out of scope.


Document control #

FieldValue
Document titleEthicsPortal ISO/IEC 27001:2022 Self-Assessment and Statement of Applicability
Version3.2
Effective date2026-09-23
Last reviewed2026-09-23
Next scheduled review2027-09-23
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; a finding raised by the internal audit or management review
OwnerYaroslav Shmarov, operator

This page is not an attestation of certification. It is a self-assessment covering the Clause 4–10 requirements and the Annex A control set, published so a procurement reviewer can 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 .