<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Policies — EthicsPortal</title><link>https://ethicsportal.eu/policies/</link><description>EthicsPortal is a secure, anonymous whistleblower reporting platform that helps organizations comply with EU Directive 2019/1937.</description><language>en</language><lastBuildDate>Mon, 25 May 2026 01:23:15 +0000</lastBuildDate><atom:link href="https://ethicsportal.eu/policies/index.xml" rel="self" type="application/rss+xml"/><image><url>https://ethicsportal.eu/images/logo.svg</url><title>EthicsPortal</title><link>https://ethicsportal.eu/</link></image><item><title>Business continuity plan</title><link>https://ethicsportal.eu/policies/business-continuity/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ethicsportal.eu/policies/business-continuity/</guid><description>How EthicsPortal responds to outages, sub-processor failures, restore events, and operator incapacity. Activation triggers, decision authority, and customer-communication protocol.</description><content:encoded>&amp;lt;h1 id=&amp;#34;business-continuity-plan&amp;#34;&amp;gt;
Business continuity plan
&amp;lt;a href=&amp;#34;#business-continuity-plan&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h1&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Effective date:&amp;lt;/strong&amp;gt; 2026-05-21
&amp;lt;strong&amp;gt;Last reviewed:&amp;lt;/strong&amp;gt; 2026-05-21
&amp;lt;strong&amp;gt;Next review:&amp;lt;/strong&amp;gt; 2027-05-21
&amp;lt;strong&amp;gt;Owner:&amp;lt;/strong&amp;gt; Yaroslav Shmarov, operator
&amp;lt;strong&amp;gt;Version:&amp;lt;/strong&amp;gt; 1.0&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;This document states what EthicsPortal does when the Service, a sub-processor, or the operator themselves becomes unable to deliver the Service at the level customers depend on. It is the named plan referenced by the &amp;lt;a href=&amp;#34;/policies/information-security/&amp;#34;&amp;gt;Information security policy&amp;lt;/a&amp;gt;
§6 and by the &amp;lt;a href=&amp;#34;/iso-27001/&amp;#34;&amp;gt;ISO/IEC 27001:2022 Annex A control map&amp;lt;/a&amp;gt;
for controls A.5.29&amp;amp;ndash;A.5.30.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;The recovery &amp;lt;em&amp;gt;outcomes&amp;lt;/em&amp;gt; this plan produces (recovery point objective, recovery time objective, monthly availability target) are stated in the &amp;lt;a href=&amp;#34;/sla/&amp;#34;&amp;gt;Service level agreement&amp;lt;/a&amp;gt;
. This page states the &amp;lt;em&amp;gt;process&amp;lt;/em&amp;gt; that produces them.&amp;lt;/p&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;1-scope-and-objectives&amp;#34;&amp;gt;
1. Scope and objectives
&amp;lt;a href=&amp;#34;#1-scope-and-objectives&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;This plan covers continuity of the EthicsPortal Service in the event of:&amp;lt;/p&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;An infrastructure failure affecting the application host, database, file storage, or transactional email pipeline&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;A sub-processor outage that degrades a covered surface (&amp;lt;a href=&amp;#34;/subprocessors/&amp;#34;&amp;gt;Subprocessors&amp;lt;/a&amp;gt;
)&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;A security incident requiring a covered surface to be taken offline&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Operator incapacity, prolonged unavailability, or business cessation&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;p&amp;gt;The continuity objectives, in order of priority, are:&amp;lt;/p&amp;gt;
&amp;lt;ol&amp;gt;
&amp;lt;li&amp;gt;Preserve the confidentiality and integrity of personal data already in the system. The reporter portal will be taken offline rather than continue to operate in a degraded confidentiality state.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Restore reporter access to existing cases (status, messaging, follow-up) so that protected reporting under EU Directive 2019/1937 is not silently interrupted.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Restore handler and admin access to case management.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Restore the marketing site and documentation surfaces.&amp;lt;/li&amp;gt;
&amp;lt;/ol&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;2-recovery-objectives&amp;#34;&amp;gt;
2. Recovery objectives
&amp;lt;a href=&amp;#34;#2-recovery-objectives&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;table&amp;gt;
&amp;lt;thead&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;th&amp;gt;Objective&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Target&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Surface&amp;lt;/th&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/thead&amp;gt;
&amp;lt;tbody&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Recovery point objective (RPO)&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;24 hours&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Reporter portal, handler portal&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Recovery time objective (RTO)&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;4 hours&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Reporter portal, handler portal&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Monthly availability target&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;99.5%&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Reporter portal, handler portal&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;p&amp;gt;Marketing and documentation surfaces are best-effort and are not covered by an availability target.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Backup mechanism, storage location, retention, and restore-testing cadence are documented at &amp;lt;a href=&amp;#34;/security/#backups-and-restore&amp;#34;&amp;gt;Security#backups-and-restore&amp;lt;/a&amp;gt;
. The most recent restore drill date is published on the same page.&amp;lt;/p&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;3-activation-triggers&amp;#34;&amp;gt;
3. Activation triggers
&amp;lt;a href=&amp;#34;#3-activation-triggers&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;The continuity process is activated when any of the following is observed:&amp;lt;/p&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;The reporter portal or handler portal is unreachable for more than 15 minutes, confirmed by external monitoring&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;A sub-processor reports an outage that affects a covered surface&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;A security incident is suspected or confirmed, including a credible report from external researchers&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;A personal data breach is suspected (&amp;lt;a href=&amp;#34;https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32019L1937&amp;#34; target=&amp;#34;_blank&amp;#34; rel=&amp;#34;noopener noreferrer&amp;#34;&amp;gt;Art. 4(12)&amp;lt;/a&amp;gt;
GDPR definition)&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;The operator becomes unable to access production systems for any reason exceeding 4 hours&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;p&amp;gt;Activation does not require a formal declaration &amp;amp;mdash; the trigger conditions automatically open the response process.&amp;lt;/p&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;4-decision-authority&amp;#34;&amp;gt;
4. Decision authority
&amp;lt;a href=&amp;#34;#4-decision-authority&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;The operator (Yaroslav Shmarov) is the sole decision authority for:&amp;lt;/p&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;Taking a covered surface offline&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Initiating a restore from backup&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Notifying affected controllers of a personal data breach under &amp;lt;a href=&amp;#34;/dpa/&amp;#34;&amp;gt;DPA §6.6&amp;lt;/a&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Creating an entry in the &amp;lt;a href=&amp;#34;/incidents/&amp;#34;&amp;gt;incident register&amp;lt;/a&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Engaging additional sub-processors or alternative infrastructure on an emergency basis&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;p&amp;gt;Decisions are recorded in a written incident log retained for audit purposes.&amp;lt;/p&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;5-customer-communication&amp;#34;&amp;gt;
5. Customer communication
&amp;lt;a href=&amp;#34;#5-customer-communication&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;table&amp;gt;
&amp;lt;thead&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;th&amp;gt;Event&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Channel&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Timing&amp;lt;/th&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/thead&amp;gt;
&amp;lt;tbody&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Active outage on a covered surface&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Live status indicator at &amp;lt;a href=&amp;#34;https://secure.ethicsportal.eu/up&amp;#34; rel=&amp;#34;nofollow&amp;#34;&amp;gt;secure.ethicsportal.eu/up&amp;lt;/a&amp;gt;
; email to organization admins for material outages&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Within 60 minutes of detection&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Personal data breach&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Direct email to affected controllers&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Within 72 hours of awareness, per &amp;lt;a href=&amp;#34;/dpa/&amp;#34;&amp;gt;DPA §6.6&amp;lt;/a&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Material incident (post-containment)&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Preliminary entry in &amp;lt;a href=&amp;#34;/incidents/&amp;#34;&amp;gt;incident register&amp;lt;/a&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Within 7 days of containment&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Material incident (final disclosure)&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Final entry in &amp;lt;a href=&amp;#34;/incidents/&amp;#34;&amp;gt;incident register&amp;lt;/a&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Within 30 days of containment&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Planned maintenance&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Status page and (where it affects business hours) admin email&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;At least 48 hours in advance&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;p&amp;gt;Communications go to the organization-administrator contact on file. Controllers are responsible for keeping their administrator contact information current.&amp;lt;/p&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;6-restore-procedure-summary&amp;#34;&amp;gt;
6. Restore procedure (summary)
&amp;lt;a href=&amp;#34;#6-restore-procedure-summary&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;When a database or full-system restore is required:&amp;lt;/p&amp;gt;
&amp;lt;ol&amp;gt;
&amp;lt;li&amp;gt;The operator declares the incident, takes the covered surface offline if not already down, and freezes write traffic.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;The most recent encrypted database dump is retrieved from Hetzner Object Storage (Nuremberg, EU; 7-day retention).&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;The dump is restored into a fresh database instance and integrity-checked.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;The application host is rebuilt from a current Kamal deployment configuration; if the host itself is lost, a Hetzner server-level snapshot (7-day retention) is the fallback.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;The covered surfaces are brought back online incrementally, with the reporter portal restored before the handler portal where they are independently recoverable.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;The event is logged to the &amp;lt;a href=&amp;#34;/incidents/&amp;#34;&amp;gt;incident register&amp;lt;/a&amp;gt;
if it meets the register&amp;amp;rsquo;s scope criteria.&amp;lt;/li&amp;gt;
&amp;lt;/ol&amp;gt;
&amp;lt;p&amp;gt;The full restore mechanism, storage locations, retention, and drill cadence are documented at &amp;lt;a href=&amp;#34;/security/#backups-and-restore&amp;#34;&amp;gt;Security#backups-and-restore&amp;lt;/a&amp;gt;
. A restore drill is executed into a disposable environment at least quarterly.&amp;lt;/p&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;7-sub-processor-failure&amp;#34;&amp;gt;
7. Sub-processor failure
&amp;lt;a href=&amp;#34;#7-sub-processor-failure&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;The Service depends on the sub-processors listed on the &amp;lt;a href=&amp;#34;/subprocessors/&amp;#34;&amp;gt;Subprocessors&amp;lt;/a&amp;gt;
page. Continuity posture for each:&amp;lt;/p&amp;gt;
&amp;lt;table&amp;gt;
&amp;lt;thead&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;th&amp;gt;Sub-processor&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Function&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Continuity response&amp;lt;/th&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/thead&amp;gt;
&amp;lt;tbody&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Hetzner (DE)&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Application host, database, file storage&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Restore from off-host backup (database dump in Hetzner Object Storage; server-level snapshots). For prolonged Hetzner outage, the application is portable to another EU-based provider; cutover would be coordinated with affected controllers and disclosed in the &amp;lt;a href=&amp;#34;/incidents/&amp;#34;&amp;gt;incident register&amp;lt;/a&amp;gt;
.&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Mailjet (FR)&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Transactional email&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Handler notifications are delayed during a Mailjet outage; the in-app surface remains functional. No data is lost.&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Stripe (IE)&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Subscription billing&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Billing functions are interrupted; the Service itself continues to operate.&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Cloudflare (US)&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Marketing-site CDN&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Marketing site degrades to direct origin or is unreachable; reporter and handler portals are not affected (they do not load Cloudflare).&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;AppSignal (NL)&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Error and performance monitoring&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Loss of telemetry; no customer-facing impact.&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Crisp (FR)&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Handler-portal chat&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Loss of in-app chat for handlers; not present on reporter portal, no reporter-side impact.&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;p&amp;gt;Sub-processor outage affecting a covered surface counts against the &amp;lt;a href=&amp;#34;/sla/&amp;#34;&amp;gt;SLA&amp;lt;/a&amp;gt;
target.&amp;lt;/p&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;8-operator-incapacity-protocol&amp;#34;&amp;gt;
8. Operator-incapacity protocol
&amp;lt;a href=&amp;#34;#8-operator-incapacity-protocol&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Current state.&amp;lt;/strong&amp;gt; A formal operator-incapacity protocol &amp;amp;mdash; a named legal contact holding emergency credentials with authority to notify customers and execute a controlled wind-down &amp;amp;mdash; is &amp;lt;strong&amp;gt;in treatment&amp;lt;/strong&amp;gt; (see &amp;lt;a href=&amp;#34;/policies/risk-register/&amp;#34;&amp;gt;Risk register R-01&amp;lt;/a&amp;gt;
). This section states what is in place today, openly, so that controllers can assess the risk and plan accordingly.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;What is in place today:&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Self-service data export.&amp;lt;/strong&amp;gt; Every organization admin can produce a full PDF case export from within the Service for any case at any time. This does not require operator intervention and continues to function for as long as the Service is reachable. Self-service export is the primary continuity guarantee against operator unavailability.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Customer rights under the DPA.&amp;lt;/strong&amp;gt; &amp;lt;a href=&amp;#34;/dpa/&amp;#34;&amp;gt;DPA §6.8&amp;lt;/a&amp;gt;
gives the controller the right to receive or delete all personal data on subscription termination. These rights are enforceable independent of the operator&amp;amp;rsquo;s availability.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Cloud-hosted infrastructure on standard providers.&amp;lt;/strong&amp;gt; The Service runs on Hetzner using Kamal deployment configuration that is portable to an alternative operator. A third party with access to the deployment configuration and customer authorization could, in principle, take over operation.&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;What is not yet in place:&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;A named legal contact or law firm holding emergency credentials and notification authority&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;A pre-arranged escrow of deployment credentials with a third party&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;A pre-arranged customer-notification mechanism that operates without the operator&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Planned addition.&amp;lt;/strong&amp;gt; A formal protocol with a named legal contact and pre-arranged customer-notification authority is on the operator&amp;amp;rsquo;s roadmap. When in place, this section will be updated to name the contact, the trigger conditions, and the authority granted. The change will be reflected in this plan&amp;amp;rsquo;s version number and effective date.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Controllers concerned about this gap&amp;lt;/strong&amp;gt; are encouraged to:&amp;lt;/p&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;Take regular self-service exports of active cases for local archival&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Configure organization-admin contacts redundantly (more than one admin per organization)&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Raise the question during procurement review; bespoke arrangements may be available on enterprise terms&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;p&amp;gt;This honest disclosure is itself a control: a controller that knows the limit can plan around it. A controller that assumes a protocol exists and discovers later that it does not is materially worse off.&amp;lt;/p&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;9-plan-testing&amp;#34;&amp;gt;
9. Plan testing
&amp;lt;a href=&amp;#34;#9-plan-testing&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;table&amp;gt;
&amp;lt;thead&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;th&amp;gt;Test&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Cadence&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Last performed&amp;lt;/th&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/thead&amp;gt;
&amp;lt;tbody&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Database restore drill into disposable environment&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Quarterly&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;See &amp;lt;a href=&amp;#34;/security/#backups-and-restore&amp;#34;&amp;gt;Security#backups-and-restore&amp;lt;/a&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Failover walk-through (paper exercise)&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Annual&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;2026-05&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Sub-processor outage tabletop&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Annual&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;2026-05&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Operator-incapacity tabletop&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Deferred pending formal protocol&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;amp;mdash;&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;p&amp;gt;Test results inform the &amp;lt;a href=&amp;#34;/policies/risk-register/&amp;#34;&amp;gt;risk register&amp;lt;/a&amp;gt;
and any required updates to this plan.&amp;lt;/p&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;10-document-control&amp;#34;&amp;gt;
10. Document control
&amp;lt;a href=&amp;#34;#10-document-control&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;table&amp;gt;
&amp;lt;thead&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;th&amp;gt;Field&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Value&amp;lt;/th&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/thead&amp;gt;
&amp;lt;tbody&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Document title&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;EthicsPortal Business Continuity Plan&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Version&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;1.0&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Effective date&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;2026-05-21&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Last reviewed&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;2026-05-21&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Next scheduled review&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;2027-05-21&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Review trigger (interim)&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Formalization of the operator-incapacity protocol, addition or change of a sub-processor that affects continuity, material restore-drill outcome, material change to the &amp;lt;a href=&amp;#34;/policies/risk-register/&amp;#34;&amp;gt;risk register&amp;lt;/a&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Owner&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Yaroslav Shmarov, operator&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Distribution&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Published on &amp;lt;a href=&amp;#34;/policies/&amp;#34;&amp;gt;ethicsportal.eu/policies/&amp;lt;/a&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;p&amp;gt;Signed: Yaroslav Shmarov, on behalf of EthicsPortal &amp;amp;mdash; 2026-05-21.&amp;lt;/p&amp;gt;</content:encoded><author>support@ethicsportal.eu (EthicsPortal)</author></item><item><title>Information security policy</title><link>https://ethicsportal.eu/policies/information-security/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ethicsportal.eu/policies/information-security/</guid><description>EthicsPortal&amp;#39;s information security policy. Scope, roles, control commitments, review cadence, and document control.</description><content:encoded>&amp;lt;h1 id=&amp;#34;information-security-policy&amp;#34;&amp;gt;
Information security policy
&amp;lt;a href=&amp;#34;#information-security-policy&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h1&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Effective date:&amp;lt;/strong&amp;gt; 2026-05-21
&amp;lt;strong&amp;gt;Last reviewed:&amp;lt;/strong&amp;gt; 2026-05-21
&amp;lt;strong&amp;gt;Next review:&amp;lt;/strong&amp;gt; 2027-05-21
&amp;lt;strong&amp;gt;Owner:&amp;lt;/strong&amp;gt; Yaroslav Shmarov, operator
&amp;lt;strong&amp;gt;Version:&amp;lt;/strong&amp;gt; 1.0&amp;lt;/p&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;1-purpose&amp;#34;&amp;gt;
1. Purpose
&amp;lt;a href=&amp;#34;#1-purpose&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;This policy states the information-security objectives that govern EthicsPortal, the controls that satisfy them, and the responsibilities that maintain them. It exists so that customers, controllers under GDPR, regulators, and procurement reviewers can refer to a single named document for the security posture of the Service.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;This policy is the parent document for the &amp;lt;a href=&amp;#34;/policies/business-continuity/&amp;#34;&amp;gt;business continuity plan&amp;lt;/a&amp;gt;
, the &amp;lt;a href=&amp;#34;/policies/risk-register/&amp;#34;&amp;gt;risk register&amp;lt;/a&amp;gt;
, and the &amp;lt;a href=&amp;#34;/iso-27001/&amp;#34;&amp;gt;ISO/IEC 27001:2022 Annex A control map&amp;lt;/a&amp;gt;
.&amp;lt;/p&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;2-scope&amp;#34;&amp;gt;
2. Scope
&amp;lt;a href=&amp;#34;#2-scope&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;This policy applies to:&amp;lt;/p&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;The EthicsPortal Service &amp;amp;mdash; the reporter portal, handler portal, and supporting infrastructure listed on the &amp;lt;a href=&amp;#34;/security/#infrastructure&amp;#34;&amp;gt;Security&amp;lt;/a&amp;gt;
page.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;All personal data processed by the Service on behalf of customer organizations (controllers under GDPR), including report content, reporter identity, handler messages, file attachments, and audit-log entries.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;The operator and all sub-processors listed on the &amp;lt;a href=&amp;#34;/subprocessors/&amp;#34;&amp;gt;subprocessors&amp;lt;/a&amp;gt;
page.&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;p&amp;gt;This policy does not extend to systems operated by the controller (the customer organization) outside the Service.&amp;lt;/p&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;3-objectives&amp;#34;&amp;gt;
3. Objectives
&amp;lt;a href=&amp;#34;#3-objectives&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;EthicsPortal commits to three primary security objectives, in order of priority:&amp;lt;/p&amp;gt;
&amp;lt;ol&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Confidentiality of reporter identity.&amp;lt;/strong&amp;gt; Personal data identifying or reasonably capable of identifying a whistleblower is protected against unauthorized disclosure to any party &amp;amp;mdash; including controller-side personnel who are not designated handlers, sub-processors, and the operator&amp;amp;rsquo;s own infrastructure providers &amp;amp;mdash; to the extent technically feasible.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Integrity of the audit trail.&amp;lt;/strong&amp;gt; Records of who did what, when, are preserved in an append-only form that cannot be altered by any user, including organization administrators.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Availability of the reporting channel.&amp;lt;/strong&amp;gt; The reporter portal is available to whistleblowers under the &amp;lt;a href=&amp;#34;/sla/&amp;#34;&amp;gt;SLA&amp;lt;/a&amp;gt;
target so that the protected reporting right under EU Directive 2019/1937 is not silently degraded.&amp;lt;/li&amp;gt;
&amp;lt;/ol&amp;gt;
&amp;lt;p&amp;gt;Confidentiality takes precedence over availability where the two conflict &amp;amp;mdash; the reporter portal will be taken offline in the event of a credible threat to reporter identity, with disclosure under the &amp;lt;a href=&amp;#34;/incidents/&amp;#34;&amp;gt;incident register&amp;lt;/a&amp;gt;
.&amp;lt;/p&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;4-roles-and-responsibilities&amp;#34;&amp;gt;
4. Roles and responsibilities
&amp;lt;a href=&amp;#34;#4-roles-and-responsibilities&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;EthicsPortal is operated by a single named individual, Yaroslav Shmarov, who holds all of the following responsibilities:&amp;lt;/p&amp;gt;
&amp;lt;table&amp;gt;
&amp;lt;thead&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;th&amp;gt;Role&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Responsibility&amp;lt;/th&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/thead&amp;gt;
&amp;lt;tbody&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Information security officer&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Owns this policy and its review&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Data protection officer (functional)&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Privacy and data-subject-rights inquiries; reachable at &amp;lt;a href=&amp;#34;mailto:privacy@ethicsportal.eu&amp;#34;&amp;gt;privacy@ethicsportal.eu&amp;lt;/a&amp;gt;
and &amp;lt;a href=&amp;#34;mailto:dpo@ethicsportal.eu&amp;#34;&amp;gt;dpo@ethicsportal.eu&amp;lt;/a&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Incident response lead&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Owns the response process for events meeting the &amp;lt;a href=&amp;#34;/incidents/&amp;#34;&amp;gt;incident register&amp;lt;/a&amp;gt;
scope&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Authorized signatory&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Signs DPAs, security questionnaires, and commercial agreements&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Sub-processor manager&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Reviews sub-processor relationships and publishes the list on the &amp;lt;a href=&amp;#34;/subprocessors/&amp;#34;&amp;gt;subprocessors&amp;lt;/a&amp;gt;
page&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;p&amp;gt;The single-operator structure is documented openly on the &amp;lt;a href=&amp;#34;/trust/#continuity-and-personnel&amp;#34;&amp;gt;Trust&amp;lt;/a&amp;gt;
page. Continuity arrangements that compensate for this structure are stated in the &amp;lt;a href=&amp;#34;/policies/business-continuity/&amp;#34;&amp;gt;business continuity plan&amp;lt;/a&amp;gt;
.&amp;lt;/p&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;5-control-commitments&amp;#34;&amp;gt;
5. Control commitments
&amp;lt;a href=&amp;#34;#5-control-commitments&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;The technical and organizational measures implementing this policy are documented on the &amp;lt;a href=&amp;#34;/security/&amp;#34;&amp;gt;Security&amp;lt;/a&amp;gt;
page and are summarized below. Each commitment maps to one or more ISO/IEC 27001:2022 Annex A controls in the &amp;lt;a href=&amp;#34;/iso-27001/&amp;#34;&amp;gt;control map&amp;lt;/a&amp;gt;
.&amp;lt;/p&amp;gt;
&amp;lt;table&amp;gt;
&amp;lt;thead&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;th&amp;gt;Domain&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Commitment&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Detail&amp;lt;/th&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/thead&amp;gt;
&amp;lt;tbody&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Encryption at rest&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Non-deterministic encryption of all sensitive report data and reporter identity&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;a href=&amp;#34;/security/#data-encryption&amp;#34;&amp;gt;Security#data-encryption&amp;lt;/a&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Encryption in transit&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;HTTPS/TLS for all connections; unencrypted HTTP is redirected&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;a href=&amp;#34;/security/#data-encryption&amp;#34;&amp;gt;Security#data-encryption&amp;lt;/a&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Reporter anonymity&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;No raw IP storage; one-way hashing for rate limiting; metadata stripped from uploads&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;a href=&amp;#34;/security/#anonymity-and-privacy&amp;#34;&amp;gt;Security#anonymity-and-privacy&amp;lt;/a&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Access control&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Role-based access enforced at the controller boundary via Pundit policies; least-privilege defaults; mandatory two-factor authentication available for handler accounts&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;a href=&amp;#34;/security/#access-control&amp;#34;&amp;gt;Security#access-control&amp;lt;/a&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Session management&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;14-day idle timeout; per-session revocation; nightly sweep&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;a href=&amp;#34;/security/#access-control&amp;#34;&amp;gt;Security#access-control&amp;lt;/a&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Audit trail&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Append-only, actor + action + timestamp, cannot be edited by any user&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;a href=&amp;#34;/security/#audit-and-compliance&amp;#34;&amp;gt;Security#audit-and-compliance&amp;lt;/a&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Retention&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Customer-configurable 12/24/36/60-month retention with automatic deletion after closure&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;a href=&amp;#34;/security/#audit-and-compliance&amp;#34;&amp;gt;Security#audit-and-compliance&amp;lt;/a&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Secure development&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Documented lifecycle covering design review, code review, static analysis, dependency management, environment separation, vulnerability response&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;a href=&amp;#34;/security/#secure-development-lifecycle&amp;#34;&amp;gt;Security#secure-development-lifecycle&amp;lt;/a&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Vulnerability management&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Continuous SCA in CI; weekly Dependabot; no end-of-life components&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;a href=&amp;#34;/security/#dependency-and-patch-management&amp;#34;&amp;gt;Security#dependency-and-patch-management&amp;lt;/a&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Backup and restore&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Daily encrypted database dumps + server-level snapshots in EU; RPO 24h, RTO 4h; quarterly restore drill&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;a href=&amp;#34;/security/#backups-and-restore&amp;#34;&amp;gt;Security#backups-and-restore&amp;lt;/a&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Sub-processor management&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Published list, 30-day change notice, controller objection right&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;a href=&amp;#34;/subprocessors/&amp;#34;&amp;gt;Subprocessors&amp;lt;/a&amp;gt;
, &amp;lt;a href=&amp;#34;/dpa/&amp;#34;&amp;gt;DPA §6.4&amp;lt;/a&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;No AI / LLM processing&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Personal data covered by the DPA is not transmitted to any LLM, generative-AI, or AI-classifier service&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;a href=&amp;#34;/dpa/&amp;#34;&amp;gt;DPA §6.10&amp;lt;/a&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;No BYOK&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Customer-managed encryption keys are not supported; deliberate architectural choice&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;a href=&amp;#34;/dpa/&amp;#34;&amp;gt;DPA §6.11&amp;lt;/a&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Incident response&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Material incidents recorded publicly within 7 days of containment; final report within 30 days&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;a href=&amp;#34;/incidents/&amp;#34;&amp;gt;Incident register&amp;lt;/a&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Personal data breach notification&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Notification to affected controllers within 72 hours of awareness&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;a href=&amp;#34;/dpa/&amp;#34;&amp;gt;DPA §6.6&amp;lt;/a&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;6-risk-management&amp;#34;&amp;gt;
6. Risk management
&amp;lt;a href=&amp;#34;#6-risk-management&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;Information-security risks are assessed against the Service annually and after any material change to architecture, sub-processors, or the threat landscape. The current assessment, treatment, and residual-position decisions are published in the &amp;lt;a href=&amp;#34;/policies/risk-register/&amp;#34;&amp;gt;risk register&amp;lt;/a&amp;gt;
.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Risks accepted as residual are stated openly with a justification; risks not yet treated are stated openly with a target.&amp;lt;/p&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;7-sub-processor-management&amp;#34;&amp;gt;
7. Sub-processor management
&amp;lt;a href=&amp;#34;#7-sub-processor-management&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;EthicsPortal engages sub-processors only where the function cannot reasonably be performed in-house and where the sub-processor materially improves availability, confidentiality, or compliance for the customer. The current list, the data each sub-processor receives, and the legal jurisdiction of each are published on the &amp;lt;a href=&amp;#34;/subprocessors/&amp;#34;&amp;gt;subprocessors&amp;lt;/a&amp;gt;
page.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;No large language model, generative-AI service, or AI-based classifier is engaged as a sub-processor. This is a documented product commitment (&amp;lt;a href=&amp;#34;/dpa/&amp;#34;&amp;gt;DPA §6.10&amp;lt;/a&amp;gt;
) and a confidentiality-grade decision (&amp;lt;a href=&amp;#34;/directive-coverage/&amp;#34;&amp;gt;Coverage map §5&amp;lt;/a&amp;gt;
), not a configuration default.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Controllers are notified at least 30 days before any sub-processor is added or replaced. A controller that objects to a proposed change may terminate the agreement under &amp;lt;a href=&amp;#34;/dpa/&amp;#34;&amp;gt;DPA §6.4&amp;lt;/a&amp;gt;
without penalty.&amp;lt;/p&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;8-personnel-security&amp;#34;&amp;gt;
8. Personnel security
&amp;lt;a href=&amp;#34;#8-personnel-security&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;EthicsPortal has no employees or contractors. All personal data is processed exclusively by the named operator. ISO/IEC 27001:2022 Annex A personnel controls (A.6.1 screening, A.6.3 awareness, A.6.4 disciplinary process) are therefore marked &amp;lt;strong&amp;gt;Not applicable&amp;lt;/strong&amp;gt; in the &amp;lt;a href=&amp;#34;/iso-27001/#a6-people-controls&amp;#34;&amp;gt;control map&amp;lt;/a&amp;gt;
, with the substantive concerns addressed through compensating arrangements: privileged-production-access summary available during procurement review, operator self-directed awareness via subscribed security feeds (see ISO 27001 A.5.6), and continuity arrangements stated in the &amp;lt;a href=&amp;#34;/policies/business-continuity/&amp;#34;&amp;gt;business continuity plan&amp;lt;/a&amp;gt;
.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;If EthicsPortal engages additional personnel in the future, this policy will be updated to state the screening, training, and offboarding procedures that apply.&amp;lt;/p&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;9-physical-security&amp;#34;&amp;gt;
9. Physical security
&amp;lt;a href=&amp;#34;#9-physical-security&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;EthicsPortal does not operate its own physical infrastructure. Server, database, and object-storage hosting are provided by Hetzner Online GmbH in Nuremberg, Germany. Physical security controls (data-center access, environmental controls, media destruction) are inherited from Hetzner and documented in their published certifications. See &amp;lt;a href=&amp;#34;/subprocessors/&amp;#34;&amp;gt;subprocessors&amp;lt;/a&amp;gt;
.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;The operator does not maintain a physical office that processes customer data. Operator workstations used for production access are protected by full-disk encryption and screen-lock controls.&amp;lt;/p&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;10-compliance&amp;#34;&amp;gt;
10. Compliance
&amp;lt;a href=&amp;#34;#10-compliance&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;EthicsPortal commits to compliance with:&amp;lt;/p&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;GDPR (Regulation 2016/679)&amp;lt;/strong&amp;gt;, particularly Articles 5, 28, 32, and 33.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;EU Directive 2019/1937&amp;lt;/strong&amp;gt; on the protection of persons who report breaches of Union law.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;National transpositions&amp;lt;/strong&amp;gt; of the Directive in the customer&amp;amp;rsquo;s country of operation. See &amp;lt;a href=&amp;#34;/whistleblower-laws/&amp;#34;&amp;gt;whistleblower laws by country&amp;lt;/a&amp;gt;
.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;EU Accessibility Act / EN 301 549&amp;lt;/strong&amp;gt; for the reporter-facing portal. See &amp;lt;a href=&amp;#34;/accessibility/&amp;#34;&amp;gt;accessibility&amp;lt;/a&amp;gt;
and the &amp;lt;a href=&amp;#34;/en-301-549-conformance/&amp;#34;&amp;gt;EN 301 549 conformance statement&amp;lt;/a&amp;gt;
.&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;p&amp;gt;EthicsPortal does not currently hold ISO/IEC 27001 certification. The platform publishes a structured self-assessment against ISO/IEC 27001:2022 Annex A controls at &amp;lt;a href=&amp;#34;/iso-27001/&amp;#34;&amp;gt;/iso-27001/&amp;lt;/a&amp;gt;
. When accreditation is obtained, the certificate scope and date will be published on &amp;lt;a href=&amp;#34;/trust/#certification-status&amp;#34;&amp;gt;/trust/&amp;lt;/a&amp;gt;
.&amp;lt;/p&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;11-policy-violations-and-enforcement&amp;#34;&amp;gt;
11. Policy violations and enforcement
&amp;lt;a href=&amp;#34;#11-policy-violations-and-enforcement&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;A violation of this policy by the operator is a violation of the contractual commitments to controllers and may trigger:&amp;lt;/p&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;A reportable entry in the &amp;lt;a href=&amp;#34;/incidents/&amp;#34;&amp;gt;incident register&amp;lt;/a&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Notification to affected controllers under &amp;lt;a href=&amp;#34;/dpa/&amp;#34;&amp;gt;DPA §6.6&amp;lt;/a&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Notification to the competent supervisory authority where &amp;lt;a href=&amp;#34;https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32019L1937&amp;#34; target=&amp;#34;_blank&amp;#34; rel=&amp;#34;noopener noreferrer&amp;#34;&amp;gt;Art. 33&amp;lt;/a&amp;gt;
GDPR requires it&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;p&amp;gt;Where a violation is suspected or reported, the operator is required to record, investigate, remediate, and disclose under the same process as any other security incident.&amp;lt;/p&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;12-document-control&amp;#34;&amp;gt;
12. Document control
&amp;lt;a href=&amp;#34;#12-document-control&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;table&amp;gt;
&amp;lt;thead&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;th&amp;gt;Field&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Value&amp;lt;/th&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/thead&amp;gt;
&amp;lt;tbody&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Document title&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;EthicsPortal Information Security Policy&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Version&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;1.0&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Effective date&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;2026-05-21&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Last reviewed&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;2026-05-21&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Next scheduled review&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;2027-05-21&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Review trigger (interim)&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Any material change to architecture, sub-processors, regulatory obligations, or the &amp;lt;a href=&amp;#34;/policies/risk-register/&amp;#34;&amp;gt;risk register&amp;lt;/a&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Owner&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Yaroslav Shmarov, operator&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Distribution&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Published on &amp;lt;a href=&amp;#34;/policies/&amp;#34;&amp;gt;ethicsportal.eu/policies/&amp;lt;/a&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;p&amp;gt;This policy is reviewed annually and after any of the interim triggers above. The effective date and version are incremented when the policy is materially revised.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Signed: Yaroslav Shmarov, on behalf of EthicsPortal &amp;amp;mdash; 2026-05-21.&amp;lt;/p&amp;gt;</content:encoded><author>support@ethicsportal.eu (EthicsPortal)</author></item><item><title>Risk register</title><link>https://ethicsportal.eu/policies/risk-register/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ethicsportal.eu/policies/risk-register/</guid><description>EthicsPortal&amp;#39;s information-security risk register. Top risks assessed against the Service, current treatment, and residual position.</description><content:encoded>&amp;lt;h1 id=&amp;#34;risk-register&amp;#34;&amp;gt;
Risk register
&amp;lt;a href=&amp;#34;#risk-register&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h1&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Effective date:&amp;lt;/strong&amp;gt; 2026-05-21
&amp;lt;strong&amp;gt;Last reviewed:&amp;lt;/strong&amp;gt; 2026-05-21
&amp;lt;strong&amp;gt;Next review:&amp;lt;/strong&amp;gt; 2027-05-21
&amp;lt;strong&amp;gt;Owner:&amp;lt;/strong&amp;gt; Yaroslav Shmarov, operator
&amp;lt;strong&amp;gt;Version:&amp;lt;/strong&amp;gt; 1.0&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;This register lists the top information-security risks assessed against EthicsPortal, the treatment in place, and the residual position the operator has consciously accepted. It exists so that a controller, auditor, or procurement reviewer can verify that the most material risks have been thought about, not just the ones convenient to mention.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;The register is a summary. The substantive treatment for each risk is documented on the &amp;lt;a href=&amp;#34;/security/&amp;#34;&amp;gt;Security&amp;lt;/a&amp;gt;
page, in the &amp;lt;a href=&amp;#34;/dpa/&amp;#34;&amp;gt;Data Processing Agreement&amp;lt;/a&amp;gt;
, in the &amp;lt;a href=&amp;#34;/policies/business-continuity/&amp;#34;&amp;gt;Business continuity plan&amp;lt;/a&amp;gt;
, or in the &amp;lt;a href=&amp;#34;/policies/information-security/&amp;#34;&amp;gt;Information security policy&amp;lt;/a&amp;gt;
. The register&amp;amp;rsquo;s job is to make the trade-offs visible in one place.&amp;lt;/p&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;assessment-scale&amp;#34;&amp;gt;
Assessment scale
&amp;lt;a href=&amp;#34;#assessment-scale&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;table&amp;gt;
&amp;lt;thead&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;th&amp;gt;Level&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Impact&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Likelihood&amp;lt;/th&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/thead&amp;gt;
&amp;lt;tbody&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Low&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Single-customer inconvenience; no personal-data exposure&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Not expected during the review window&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Medium&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Multi-customer service degradation, or personal-data exposure confined to operational metadata&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Plausible during the review window&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;High&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Confidentiality breach of reporter identity or report content; or extended unavailability of a covered surface&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Reasonably foreseeable in absence of treatment&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;p&amp;gt;The review window is twelve months from the effective date above.&amp;lt;/p&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;residual-position-vocabulary&amp;#34;&amp;gt;
Residual-position vocabulary
&amp;lt;a href=&amp;#34;#residual-position-vocabulary&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Accepted.&amp;lt;/strong&amp;gt; The residual risk after treatment is acknowledged and accepted by the operator as a deliberate trade-off. The reasoning is stated.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Monitored.&amp;lt;/strong&amp;gt; The residual risk is acceptable today but is actively watched for change; specific indicators that would trigger re-treatment are stated.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;In treatment.&amp;lt;/strong&amp;gt; The risk is not yet treated to the operator&amp;amp;rsquo;s target level. The current state, the target, and the timeline are stated openly.&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;register&amp;#34;&amp;gt;
Register
&amp;lt;a href=&amp;#34;#register&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;h3 id=&amp;#34;r-01-operator-incapacity--single-person-of-failure&amp;#34;&amp;gt;
R-01. Operator incapacity / single-person-of-failure
&amp;lt;a href=&amp;#34;#r-01-operator-incapacity--single-person-of-failure&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h3&amp;gt;
&amp;lt;table&amp;gt;
&amp;lt;thead&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;th&amp;gt;Field&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Value&amp;lt;/th&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/thead&amp;gt;
&amp;lt;tbody&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Inherent impact&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;High&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Inherent likelihood&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Medium&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Treatment&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Self-service PDF case export available to every organization admin without operator intervention. &amp;lt;a href=&amp;#34;/dpa/&amp;#34;&amp;gt;DPA §6.8&amp;lt;/a&amp;gt;
deletion-and-return rights are enforceable independent of operator availability. Application is Kamal-deployed and portable to another EU operator.&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Residual position&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;strong&amp;gt;In treatment.&amp;lt;/strong&amp;gt; A formal operator-incapacity protocol with a named legal contact is on the roadmap and not yet in place. See the &amp;lt;a href=&amp;#34;/policies/business-continuity/&amp;#34;&amp;gt;Business continuity plan §8&amp;lt;/a&amp;gt;
for the full disclosure of what is and is not in place today. Controllers concerned about this gap are encouraged to take regular self-service exports.&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;h3 id=&amp;#34;r-02-hetzner-outage-primary-infrastructure-provider&amp;#34;&amp;gt;
R-02. Hetzner outage (primary infrastructure provider)
&amp;lt;a href=&amp;#34;#r-02-hetzner-outage-primary-infrastructure-provider&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h3&amp;gt;
&amp;lt;table&amp;gt;
&amp;lt;thead&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;th&amp;gt;Field&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Value&amp;lt;/th&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/thead&amp;gt;
&amp;lt;tbody&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Inherent impact&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;High&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Inherent likelihood&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Low&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Treatment&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Daily encrypted database dumps to Hetzner Object Storage (separate from compute host) plus Hetzner server-level snapshots; quarterly restore drills into a disposable environment (&amp;lt;a href=&amp;#34;/security/#backups-and-restore&amp;#34;&amp;gt;Security#backups-and-restore&amp;lt;/a&amp;gt;
). Kamal deployment configuration is portable to an alternative EU provider for a prolonged-outage scenario.&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Residual position&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;strong&amp;gt;Accepted.&amp;lt;/strong&amp;gt; A regional Hetzner outage may consume part of the 99.5% monthly SLA budget. Cross-provider hot failover is not in place because the additional sub-processor footprint, key-distribution surface, and operational complexity outweigh the marginal availability gain at the current customer footprint. Re-evaluated annually against the &amp;lt;a href=&amp;#34;/sla/&amp;#34;&amp;gt;SLA&amp;lt;/a&amp;gt;
target.&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;h3 id=&amp;#34;r-03-sub-processor-personal-data-breach&amp;#34;&amp;gt;
R-03. Sub-processor personal-data breach
&amp;lt;a href=&amp;#34;#r-03-sub-processor-personal-data-breach&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h3&amp;gt;
&amp;lt;table&amp;gt;
&amp;lt;thead&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;th&amp;gt;Field&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Value&amp;lt;/th&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/thead&amp;gt;
&amp;lt;tbody&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Inherent impact&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Medium&amp;amp;ndash;High (varies by sub-processor and data category)&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Inherent likelihood&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Low&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Treatment&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Minimization: each sub-processor receives only the personal-data category required for its function (see &amp;lt;a href=&amp;#34;/subprocessors/&amp;#34;&amp;gt;Subprocessors&amp;lt;/a&amp;gt;
for the per-row breakdown). Encryption-at-rest under processor-managed keys means that a sub-processor with database access does not have plaintext access to report content or reporter identity (&amp;lt;a href=&amp;#34;/security/#data-encryption&amp;#34;&amp;gt;Security#data-encryption&amp;lt;/a&amp;gt;
). 30-day sub-processor change notice and controller objection right (&amp;lt;a href=&amp;#34;/dpa/&amp;#34;&amp;gt;DPA §6.4&amp;lt;/a&amp;gt;
).&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Residual position&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;strong&amp;gt;Accepted.&amp;lt;/strong&amp;gt; No personal data covered by the DPA is transmitted to any sub-processor whose breach would expose reporter identity in plaintext. The reporter portal does not load Cloudflare; the reporter portal does not load Crisp; no LLM sub-processor exists. The residual risk is operational metadata (handler email, billing contact) at sub-processors whose breach would not compromise reporter confidentiality.&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;h3 id=&amp;#34;r-04-operator-credential-theft--account-compromise&amp;#34;&amp;gt;
R-04. Operator credential theft / account compromise
&amp;lt;a href=&amp;#34;#r-04-operator-credential-theft--account-compromise&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h3&amp;gt;
&amp;lt;table&amp;gt;
&amp;lt;thead&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;th&amp;gt;Field&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Value&amp;lt;/th&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/thead&amp;gt;
&amp;lt;tbody&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Inherent impact&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;High&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Inherent likelihood&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Low&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Treatment&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Hardware-backed two-factor authentication on all operator accounts that have production access (cloud provider, deployment, code hosting, email, password manager). Production database access requires the operator&amp;amp;rsquo;s authenticated session; credentials are not embedded in code or shared. Append-only audit log records all actions taken by any account, including the operator&amp;amp;rsquo;s, and cannot be edited by any user (&amp;lt;a href=&amp;#34;/security/#audit-and-compliance&amp;#34;&amp;gt;Security#audit-and-compliance&amp;lt;/a&amp;gt;
).&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Residual position&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;strong&amp;gt;Monitored.&amp;lt;/strong&amp;gt; The risk is materially lower than typical SaaS because there are no employee credentials to compromise &amp;amp;mdash; the attack surface reduces to one identity. Monitored via AppSignal alerts for anomalous handler-portal authentication patterns. Trigger for re-treatment: a credible phishing attempt against the operator, or a CVE affecting the hardware-key path.&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;h3 id=&amp;#34;r-05-restore-failure-during-disaster-recovery&amp;#34;&amp;gt;
R-05. Restore failure during disaster recovery
&amp;lt;a href=&amp;#34;#r-05-restore-failure-during-disaster-recovery&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h3&amp;gt;
&amp;lt;table&amp;gt;
&amp;lt;thead&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;th&amp;gt;Field&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Value&amp;lt;/th&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/thead&amp;gt;
&amp;lt;tbody&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Inherent impact&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;High&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Inherent likelihood&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Low&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Treatment&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Two complementary backup layers (database dump and server-level snapshot) in independent retention scopes. Restore drill performed at least quarterly into a disposable environment; drill date is published on &amp;lt;a href=&amp;#34;/security/#backups-and-restore&amp;#34;&amp;gt;Security#backups-and-restore&amp;lt;/a&amp;gt;
. Restore procedure documented in the &amp;lt;a href=&amp;#34;/policies/business-continuity/&amp;#34;&amp;gt;Business continuity plan §6&amp;lt;/a&amp;gt;
.&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Residual position&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;strong&amp;gt;Accepted.&amp;lt;/strong&amp;gt; RPO 24 hours and RTO 4 hours are stated in the &amp;lt;a href=&amp;#34;/sla/#recovery-objectives&amp;#34;&amp;gt;SLA&amp;lt;/a&amp;gt;
. Data written within the 24 hours preceding a catastrophic failure may be lost; this trade-off is disclosed.&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;h3 id=&amp;#34;r-06-reporter-network-side-attribution-leak-outside-processor-boundary&amp;#34;&amp;gt;
R-06. Reporter network-side attribution leak (outside processor boundary)
&amp;lt;a href=&amp;#34;#r-06-reporter-network-side-attribution-leak-outside-processor-boundary&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h3&amp;gt;
&amp;lt;table&amp;gt;
&amp;lt;thead&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;th&amp;gt;Field&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Value&amp;lt;/th&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/thead&amp;gt;
&amp;lt;tbody&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Inherent impact&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Medium&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Inherent likelihood&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Medium&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Treatment&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;The Service does not store reporter IP addresses in the database; rate limiting uses a one-way hash that is not reversible. Application logs for reporter routes are scrubbed. File uploads have metadata stripped (EXIF / GPS / author) server-side before storage. See &amp;lt;a href=&amp;#34;/security/#anonymity-and-privacy&amp;#34;&amp;gt;Security#anonymity-and-privacy&amp;lt;/a&amp;gt;
.&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Residual position&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;strong&amp;gt;Accepted.&amp;lt;/strong&amp;gt; Network-side attribution (the reporter&amp;amp;rsquo;s ISP, the reporter&amp;amp;rsquo;s employer&amp;amp;rsquo;s egress proxy, a man-in-the-middle, or a corporate-device endpoint agent) is outside the processor boundary and cannot be controlled by the Service. Reporters are informed of this on the portal and may choose to report from a personal device on an external network, or via Tor. This residual is disclosed to reporters at the point of submission, which is the only place the trade-off can be acted upon.&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;h3 id=&amp;#34;r-07-critical-vulnerability-in-upstream-dependency&amp;#34;&amp;gt;
R-07. Critical vulnerability in upstream dependency
&amp;lt;a href=&amp;#34;#r-07-critical-vulnerability-in-upstream-dependency&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h3&amp;gt;
&amp;lt;table&amp;gt;
&amp;lt;thead&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;th&amp;gt;Field&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Value&amp;lt;/th&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/thead&amp;gt;
&amp;lt;tbody&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Inherent impact&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Medium&amp;amp;ndash;High&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Inherent likelihood&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Medium&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Treatment&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Continuous SCA on every change: &amp;lt;a href=&amp;#34;https://brakemanscanner.org&amp;#34; rel=&amp;#34;nofollow&amp;#34;&amp;gt;Brakeman&amp;lt;/a&amp;gt;
for Rails-specific issues, &amp;lt;a href=&amp;#34;https://github.com/rubysec/bundler-audit&amp;#34; rel=&amp;#34;nofollow&amp;#34;&amp;gt;bundler-audit&amp;lt;/a&amp;gt;
for Ruby advisories, &amp;lt;code&amp;gt;importmap audit&amp;lt;/code&amp;gt; for JavaScript imports, &amp;lt;a href=&amp;#34;https://docs.github.com/en/code-security/dependabot&amp;#34; rel=&amp;#34;nofollow&amp;#34;&amp;gt;Dependabot&amp;lt;/a&amp;gt;
for weekly grouped updates. End-of-life components are replaced before their upstream support window closes. See &amp;lt;a href=&amp;#34;/security/#secure-development-lifecycle&amp;#34;&amp;gt;Security#secure-development-lifecycle&amp;lt;/a&amp;gt;
and &amp;lt;a href=&amp;#34;/security/#dependency-and-patch-management&amp;#34;&amp;gt;Security#dependency-and-patch-management&amp;lt;/a&amp;gt;
. Documented vulnerability-response timelines: critical 7 days, high 30 days, medium 90 days.&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Residual position&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;strong&amp;gt;Monitored.&amp;lt;/strong&amp;gt; The Rails ecosystem is well-staffed for security disclosures. Trigger for re-treatment: a zero-day affecting Rails request-handling, ActiveRecord encryption, or PostgreSQL with no available patch.&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;h3 id=&amp;#34;r-08-audit-log-integrity-compromise&amp;#34;&amp;gt;
R-08. Audit-log integrity compromise
&amp;lt;a href=&amp;#34;#r-08-audit-log-integrity-compromise&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h3&amp;gt;
&amp;lt;table&amp;gt;
&amp;lt;thead&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;th&amp;gt;Field&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Value&amp;lt;/th&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/thead&amp;gt;
&amp;lt;tbody&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Inherent impact&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;High&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Inherent likelihood&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Low&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Treatment&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Audit-log entries are written append-only and cannot be edited or deleted by any user, including organization administrators. Entries are included in PDF case exports for regulatory review. Database-level access to the audit-log table is not exposed through the application surface. See &amp;lt;a href=&amp;#34;/security/#audit-and-compliance&amp;#34;&amp;gt;Security#audit-and-compliance&amp;lt;/a&amp;gt;
.&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Residual position&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;strong&amp;gt;Accepted.&amp;lt;/strong&amp;gt; A privileged database-level intervention by the operator could, in principle, alter audit-log rows. This is the same intervention that could be used to read encrypted columns and is governed by the privileged-access summary available during procurement review. The append-only contract holds at the application surface, which is where customer trust is placed.&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;h3 id=&amp;#34;r-09-reporter-passcode-loss&amp;#34;&amp;gt;
R-09. Reporter passcode loss
&amp;lt;a href=&amp;#34;#r-09-reporter-passcode-loss&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h3&amp;gt;
&amp;lt;table&amp;gt;
&amp;lt;thead&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;th&amp;gt;Field&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Value&amp;lt;/th&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/thead&amp;gt;
&amp;lt;tbody&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Inherent impact&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Medium&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Inherent likelihood&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Medium (reporters are anonymous and may not have password-recovery channels)&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Treatment&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;The 6-digit passcode is stored only as a bcrypt digest and cannot be recovered by the operator or by any handler. Reporters are informed at submission that the passcode is non-recoverable. Handlers may invite a reporter to re-submit or continue the conversation by an alternative channel.&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Residual position&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;strong&amp;gt;Accepted by design.&amp;lt;/strong&amp;gt; Recoverability of the passcode is incompatible with the reporter-anonymity model: a recovery channel would require an identifier (email, phone) that defeats anonymity, or an operator-side reset that would allow the operator to impersonate the reporter. The trade-off is disclosed to reporters at the point of choosing the passcode.&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;h3 id=&amp;#34;r-10-regulatory-change-requiring-re-architecture&amp;#34;&amp;gt;
R-10. Regulatory change requiring re-architecture
&amp;lt;a href=&amp;#34;#r-10-regulatory-change-requiring-re-architecture&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h3&amp;gt;
&amp;lt;table&amp;gt;
&amp;lt;thead&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;th&amp;gt;Field&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Value&amp;lt;/th&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/thead&amp;gt;
&amp;lt;tbody&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Inherent impact&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Medium&amp;amp;ndash;High&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Inherent likelihood&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Medium (Member-State transpositions and AI-Act delegated acts continue to evolve)&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Treatment&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Interpretive positions on ambiguous Directive 2019/1937 provisions are documented openly in the &amp;lt;a href=&amp;#34;/directive-interpretations/&amp;#34;&amp;gt;Directive 2019/1937 interpretations&amp;lt;/a&amp;gt;
, so a controller can verify alignment with their counsel&amp;amp;rsquo;s reading before subscribing. Per-country law summaries are published in &amp;lt;a href=&amp;#34;/whistleblower-laws/&amp;#34;&amp;gt;whistleblower laws by country&amp;lt;/a&amp;gt;
and reviewed when national-law text changes. Material changes to processing (sub-processors, AI use, transfers) are notified to controllers under &amp;lt;a href=&amp;#34;/dpa/&amp;#34;&amp;gt;DPA §6.4&amp;lt;/a&amp;gt;
.&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Residual position&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;strong&amp;gt;Monitored.&amp;lt;/strong&amp;gt; Trigger for re-treatment: ECJ judgment on a Directive 2019/1937 question that contradicts a published interpretation; CJEU judgment on international-transfer adequacy affecting an EU sub-processor; AI-Act delegated act extending obligations to AI-free processors.&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;risks-consciously-not-in-this-register&amp;#34;&amp;gt;
Risks consciously not in this register
&amp;lt;a href=&amp;#34;#risks-consciously-not-in-this-register&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;The following are recognized risk categories that this register deliberately omits because they are eliminated by design rather than treated:&amp;lt;/p&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;AI / LLM exposure of report content.&amp;lt;/strong&amp;gt; No LLM, generative-AI, or AI-classifier service is engaged as a sub-processor. Report content is not transmitted to such services for any purpose. The attack surface (prompt injection, hallucinated compliance evidence, unauthorized retention by third parties) is therefore not present. Source: &amp;lt;a href=&amp;#34;/dpa/&amp;#34;&amp;gt;DPA §6.10&amp;lt;/a&amp;gt;
.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Reporter PII shared with handlers without justification.&amp;lt;/strong&amp;gt; The Service does not surface reporter IP, browser fingerprint, or device identifiers to handlers, because none of these are collected or stored.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Cross-tenant data leakage at the application layer.&amp;lt;/strong&amp;gt; Pundit-policy authorization is checked on every controller action; multi-tenant isolation is enforced at the request boundary, not via row-level visibility filters that can be bypassed.&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;p&amp;gt;If any of these design constraints changes, the risk re-enters this register.&amp;lt;/p&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;review-cadence&amp;#34;&amp;gt;
Review cadence
&amp;lt;a href=&amp;#34;#review-cadence&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;table&amp;gt;
&amp;lt;thead&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;th&amp;gt;Trigger&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Action&amp;lt;/th&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/thead&amp;gt;
&amp;lt;tbody&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Annual&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Full review of every register row; residual positions re-affirmed or revised&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Material architecture change&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Affected rows reviewed and revised in the same change&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Sub-processor added or replaced&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;R-03 reviewed; new row added if the change introduces a category not already represented&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Material incident in the &amp;lt;a href=&amp;#34;/incidents/&amp;#34;&amp;gt;incident register&amp;lt;/a&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Root-cause-relevant rows reviewed; treatment updated if the incident revealed a control gap&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Material change to the &amp;lt;a href=&amp;#34;/policies/information-security/&amp;#34;&amp;gt;Information security policy&amp;lt;/a&amp;gt;
or &amp;lt;a href=&amp;#34;/policies/business-continuity/&amp;#34;&amp;gt;Business continuity plan&amp;lt;/a&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Affected rows reviewed for consistency&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;p&amp;gt;Review actions are recorded in the document-control section below.&amp;lt;/p&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;h2 id=&amp;#34;document-control&amp;#34;&amp;gt;
Document control
&amp;lt;a href=&amp;#34;#document-control&amp;#34; class=&amp;#34;ml-1 text-base-content/30 hover:text-base-content/60 no-underline&amp;#34; aria-label=&amp;#34;Link to this section&amp;#34;&amp;gt;#&amp;lt;/a&amp;gt;
&amp;lt;/h2&amp;gt;
&amp;lt;table&amp;gt;
&amp;lt;thead&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;th&amp;gt;Field&amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Value&amp;lt;/th&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/thead&amp;gt;
&amp;lt;tbody&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Document title&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;EthicsPortal Risk Register&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Version&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;1.0&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Effective date&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;2026-05-21&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Last reviewed&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;2026-05-21&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Next scheduled review&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;2027-05-21&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Owner&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Yaroslav Shmarov, operator&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;Distribution&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;Published on &amp;lt;a href=&amp;#34;/policies/&amp;#34;&amp;gt;ethicsportal.eu/policies/&amp;lt;/a&amp;gt;
&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;p&amp;gt;Signed: Yaroslav Shmarov, on behalf of EthicsPortal &amp;amp;mdash; 2026-05-21.&amp;lt;/p&amp;gt;</content:encoded><author>support@ethicsportal.eu (EthicsPortal)</author></item></channel></rss>