Sécherheet #
EthicsPortal behandelt sensibel Whistleblower-Donnéeën. Dës Säit dokumentéiert déi konkret technesch an organisatoresch Moossnamen, déi mir ëmgesat hunn. Si riicht sech u Compliance-Responsabel, Beoptraagte fir den Dateschutz (DPO) a juristesch Équipen, déi d’Plattform evaluéieren.
Zulescht aktualiséiert: 2026-11-04.
Datenverschlësselung #
Déi sensibel Datebankfelder, déi hei ënnendrënner opgelëscht sinn, ginn am Rouhzoustand mat Rails Active Record Encryption net-deterministesch verschlësselt (all Verschlësselung produzéiert en eenzegaartegen Chiffertext, wat Musteranalyse verhënnert). D’Feldverschlësselung deckt weder komplett Datebank-Dumpen nach Fichiers-Annexen of; déi ginn separat verschlësselt, wéi ënner Fichiers-Annexen an Backup a Restore beschriwwen.
| Feld | Verschlësselt | Deterministesch |
|---|---|---|
| Meldungsbeschreiwung | Jo | Nee |
| Numm vum Whistleblower | Jo | Nee |
| Kontaktdonnéeë vum Whistleblower | Jo | Nee |
| Strukturéiert Uginne bei der Mellung (Bezéiung, Quell, Zäitpunkt, fréier Mellung, Angscht virun Repressalien) | Jo | Nee |
| Messageinhalt (Kommunikatioun tëscht Whistleblower a Bearbechter) | Jo | Nee |
| Intern Fallnotizen | Jo | Nee |
| Zwee-Faktor-Geheimnisser a Backup-Coden vun de Bearbechter | Jo | Nee |
Net-deterministesch Verschlësselung bedeit, datt dës Felder op Datebankniveau net no Wäert ofgefrot kënne ginn. Och mat vollem Zougang op d’Datebank kann en Ugräifer net no engem bestëmmten Numm vun engem Whistleblower iwwer d’Andréi sichen.
Fichiers-Annexen #
Fichieren, déi u Meldungen, Messagen an intern Notizen ugehaang sinn, Sproochopnamen an Exporter vu Falldonnéeë ginn am Hetzner Object Storage mat AES-256 verschlësselt gespäichert, mat engem separaten zoufällege Schlëssel fir all Fichier (serversäiteg Verschlësselung mat Schlësselen, déi de Client stellt). De Schlëssel gëtt mat all Storage-Ufro matgeschéckt, an Hetzner refuséiert all Liesen ouni hien. EthicsPortal späichert en an der Datebank ënner der uewe beschriwwener Active Record Encryption, sou datt d’Storage-Zougangsdaten eleng kee Fichier liese kënnen: d’Datebank an d’Verschlësselungsschlëssele vun der Applikatioun sinn och néideg. Fichiere kommen zu autoriséierte Benotzer per Streaming duerch d’Applikatioun, ni iwwer en direkte Storage-Link.
Fichieren, déi virum 6. Oktober 2026 eropgeluede goufen, goufen un deem Datum nei verschlësselt, an hir onverschlësselt Kopien, inklusiv opgehale fréier Versiounen, goufe geläscht. Fichieren, déi keng Meldungsdonnéeë sinn, wéi Profilbiller a Share-Biller vun der Organisatioun, ginn net op dës Manéier verschlësselt. Näischt dovun schützt géint eng Kompromittéierung vum Applikatiounsserver, deen d’Storage-Zougangsdaten, d’Datebank an d’Schlësselen zesumme hält.
All Verbindunge mat EthicsPortal lafen iwwer HTTPS/TLS. Onverschlësselt HTTP-Ufroe ginn ëmgeleet.
Anonymitéit an Dateschutz #
IP-Adressen #
EthicsPortal späichert d’IP-Adress vun engem Whistleblower weder bei Meldungen, Messagen nach Auditandréi, an d’Applikatiounsprotokoller fir de Meldekanal enthalen keng IP-Adressen.
Rate-Limiting um Meldekanal (Meldung, Fallabruf, Message) baséiert op engem gekierzten SHA-256-Hash mat Schlëssel vun der IP vun der Ufro. De Hash ass pseudonym, net anonym: Hie kann net als Adress zréckgelies ginn, mee wien d’Applikatiounsgeheimnis huet, kéint méiglech Adressen dogéint testen. E gëtt nëmme fir d’Rate-Limit-Fënster (maximal 10 Minutten) benotzt; en Hannergrondjob läscht en spéitstens 5 Minutten nom Enn vun der Fënster aus dem Cache.
Den TLS-Proxy virun der Applikatioun féiert säin eegent Ufroprotokoll: IP-Adress, Ufrowee, User-Agent an Äntwertstatus. De Wee vun der Säit, op där en Hiweisgeeber seng Meldung kuckt, enthält d’Dossier-ID, dofir kann eng Entrée fir dës Säit mat der Meldung verknäppt ginn. Si ginn an enger eenzeger Protokolldatei vun 10 MB gehalen, déi iwwerschriwwe gëtt, soubal se voll ass, am Moment no ongeféier zwee Deeg; déi 7-Deeg-Server-Snapshots, déi ënner Backup a Restore beschriwwe sinn, kënnen eng Kopie enthalen.
Entfernung vu Dateimetadaten #
Eropgeluede Fichiere ginn automatesch virum Späicheren vun identifizéierende Metadaten befreit:
| Dateityp | Entferent Metadaten | Method |
|---|---|---|
| Biller (JPEG, PNG, WebP, GIF, AVIF) | EXIF-Donnéeën: GPS-Koordinaten, Kameramodell, Seriennummer vum Apparat, Auteur, Zäitstempelen | Biller-Veraarbechtung mat Vips |
| PDF-Dokumenter | Auteur, Applikatioun, mat där d’Dokument erstallt gouf, Ännerungshistorique. Net ewechgeholl: d’Nimm vun den Auteuren vu Kommentaren an d’Metadaten vu Fotoen, déi am PDF agebett sinn | exiftool + qpdf am Standard-Produktiounssetup |
| Videosfichieren | GPS, Apparatinfo, Opnamsoftware | exiftool am Standard-Produktiounssetup |
| Audiofichieren | Opnamapparat, GPS, Software-Tags | exiftool am Standard-Produktiounssetup |
D’Entfernung vun de Metadaten geschitt serversäiteg virum Späicheren. Fir Dateitypen, déi mat exiftool veraarbecht ginn, hänkt dat dovun of, datt d’Standard-Produktiounstools virhanne sinn.
An engem PDF ginn d’Nimm bei Kommentaren an d’Metadaten vun agebettene Fotoen, wéi GPS-Positioun a Seriennummer vun der Kamera, behalen. E Whistleblower, deen dës ewechhuele wëll, sollt Fotoen als separat Billerdateien eroplueden a Kommentaren ewechhuelen, ier e PDF eropgeluede gëtt.
Virenprüfung #
Fichieren, déi u Meldungen, Messagen an intern Notizen ugehaang sinn, ginn automatesch mat ClamAV, engem Open-Source-Antivirusprogramm, op Malware gepréift. D’Préifung geschitt serversäiteg an engem Hannergrondprozess nom Eroplueden. Fichieren, déi d’Préifung nach net bestanen hunn, gi fir d’Liwwerung gespaart, an infizéiert Fichiere ginn automatesch ewechgeholl.
D’Fichiere ginn op der Infrastruktur vun EthicsPortal gepréift — keng Fichiersdonnéeë ginn u Scan-Servicer vun Drëttubidder geschéckt.
Meldungen per E-Mail #
All Meldekanal huet seng eegen E-Mail-Adress op report.ethicsportal.eu. Eng E-Mail, déi un dës Adress geschéckt gëtt, gëtt e Fall an deem Meldekanal, genee wéi eng Meldung iwwer den Online-Meldeformular. Meldungen per E-Mail sinn standardméisseg ageschalt. Eng Organisatioun kann se an den Astellunge vum Meldekanal ausschalten; d’Adress refuséiert dann bannent enger Minutt nei E-Mailen.
- Eegene Mailserver. D’E-Maile fir dës Adresse kritt de Mailserver vun EthicsPortal selwer, op derselwechter Infrastruktur an Däitschland, an net en externen E-Mail-Ubidder. En hëlt nëmmen E-Maile fir Meldekanal-Adressen un, refuséiert all aner Adress a leet näischt weider.
- Transportverschlësselung. De Server bitt TLS 1.2 oder méi nei mat engem Let’s-Encrypt-Zertifikat un. TLS ass opportunistesch: e Server, deen TLS net ënnerstëtzt, liwwert onverschlësselt.
- Adress vum Ofsender fir d’Bearbechter verstoppt. D’Adress vum Ofsender gëtt verschlësselt gespäichert an de Bearbechter ni gewisen, weder am Fall nach a sengem PDF oder an Exporter. EthicsPortal benotzt se nëmme fir dem Whistleblower d’Empfangsbestätegung an d’Notifikatioune vun neie Messagen ze schécken.
- Zougang ouni E-Mail. D’Empfangsbestätegung enthält d’Dossier-ID an en Eemol-Passwuert fir déi sécher Postbucht, dat bei der éischter Umeldung ersat gëtt. Froen an Äntwerte bleiwen an der Postbucht, net an der E-Mail. Wann déi eegen Domain vum Ofsender d’Adress a senger DMARC-Politik refuséiert, gëtt d’Meldung behalen, mee et gëtt kee Passwuert geschéckt. No 10 Meldungen per E-Mail un eng Organisatioun, oder 50 am ganzen EthicsPortal, bannent 24 Stonne gi weider Meldunge gespäichert, mee et gëtt keng E-Mail geschéckt: keng Empfangsbestätegung un de Whistleblower a keng Notifikatioun per E-Mail un d’Administrateuren, déi de Fall weiderhin an der Applikatioun gesinn.
- Unhäng. Fichiere kréien déiselwecht Entfernung vu Metadaten an déiselwecht Virenprüfung wéi Fichieren, déi iwwer de Formulaire eropgeluede ginn. Fichieren, déi net ugeholl kënne ginn (aneren Typ, ze grouss oder net ze botzen), ginn ausgelooss, an de Whistleblower kritt gesot, wéi vill et waren.
- Kopien. E Message waart an der Waardeschlaang vum Mailserver op deemselwechte Server nëmme sou laang, bis d’Applikatioun en iwwerhëlt. D’Applikatioun hält déi originell E-Mail verschlësselt, bis de Fall gespäichert ass, a läscht se dann. D’Protokoller vum Mailserver halen Meldekanal-Adressen fest, ni d’Adress vum Ofsender.
- Kontroll vum Ofsender. SPF, DKIM an DMARC ginn op der Infrastruktur vun EthicsPortal gepréift. Keng Messagedonnéeë ginn un en externe Spam- oder Reputatiounsservice geschéckt.
E-Mail ass net anonym: den E-Mail-Ubidder vum Whistleblower, an d’E-Mail-Systemer vun der Organisatioun, wann e vun engem Aarbechtskont schreift, kënne Kopien an Opzeechnunge vum Message behalen. D’Empfangsbestätegung seet dat a verlinkt op den Online-Meldeformular fir Whistleblower, déi anonym bleiwe wëllen.
E-Mail fir Neiegkeeten #
Den Online-Meldeformular huet en E-Mail-Feld fir Neiegkeeten, dat fakultativ ass. D’Adress kritt d’Empfangsbestätegung an eng Notifikatioun, wann e Bearbechter schreift, ni den Inhalt vun der Meldung. Si gëtt verschlësselt gespäichert an, wéi d’Adress vum Ofsender vun enger Meldung per E-Mail, op keener Säit fir d’Bearbechter, a kengem PDF an a kengem Export gewisen. D’Feld bleift disponibel, wann de Whistleblower anonym agëtt. Nëmme wann de Whistleblower „Anonym aginn“ desaktivéiert an „meng E-Mail-Adress och de Bearbechter weisen“ ukräizt, gëtt doraus eng Kontaktadress, déi d’Bearbechter gesinn.
Anonymitéit vun der Fallbearbechtung #
Whistleblower gesinn ni déi richteg Nimm oder E-Mail-Adresse vun de Persounen, déi hir Meldung bearbechten. All Messagen vun de Bearbechter ginn als „Fallbearbechtung“ ugewisen. Dat schützt d’Identitéit vun de Bearbechter a verhënnert Social Engineering.
Kee Tracking #
EthicsPortal benotzt keng Drëttubidder-Tracking-Cookien, keng Reklamm-Pixel a keng Fingerprinting-Skripter. Mir benotzen Plausible Analytics nëmmen op der Marketing-Websäit, iwwer eis eegen Domain ausgeliwwert. Et setzt keng Cookien a späichert keng IP-Adressen. Cloudflare, dat d’Marketing-Websäit ausliwwert, veraarbecht Ufro-Metadaten inklusiv IP-Adressen, wéi an der Dateschutzerklärung beschriwwen. De Meldekanal selwer huet keng Analyse.
Aktuellen Assurance-Status #
EthicsPortal beansprocht op dëser Websäit aktuell keng akkreditéiert ISO-27001-Zertifizéierung. Et publizéiert och aktuell keen onofhängegen Drëtt-Audit vun der Anonymitéitsarchitektur. Wann dat ännert, ginn Ëmfang an Datum hei publizéiert.
Material fir de Sécherheetsreview #
Clienten, déi Material fir Procurement oder juristesche Review brauchen, kënnen et am Kader vum Review ufroen. Disponibelt Material kann eng ënnerschriwwen DPA, Register- a Steierbeleeër, en ausgefëllte Sécherheetsquestionnaire an schrëftlech Äntwerten zu Backup- a Restore-Prozeduren, privilegéierte Production Access an Incident Response ëmfaassen.
Zougangskontroll #
D’Autoriséierung gëtt op Applikatiounsniveau iwwer Pundit-Richtlinnen duerchgesat.
| Roll | Kann Meldunge kucken | Kann Organisatiounseinstellunge verwalten | Kann Bearbechter zouweisen |
|---|---|---|---|
| Admin | All Meldungen | Jo | Jo |
| Bearbechter | Meldungen, déi him zougewise sinn oder un deenen hien bedeelegt ass | Nee | Nee |
| Beobachter | Nëmme liesen, fir Auditoren a juristesch Beroder | Nee | Nee |
- Bearbechter gesinn keng Meldungen, déi hinne weder zougewise sinn nach un deenen se bedeelegt sinn. Bedeelegt Persoune ginn explizitt vun engem Admin oder vum Haaptzoustännegen derbäigesat (zum Beispill fir d’Juristen oder d’HR anzebannen).
- Whistleblower hu kee Benotzerkont — si maachen hir Meldung mat enger Dossier-ID (
WB-XXXX-XXXX) an engem Passwuert op, dat de System generéiert, wann d’Meldung agereecht gëtt. - All Controller-Aktioun préift d’Autoriséierung. Onautoriséiert Zougrëffsversich gi blockéiert a protokolléiert.
Zwee-Faktor-Authentifizéierung #
Konte vu Bearbechter an Admins kënnen TOTP-baséiert Zwee-Faktor-Authentifizéierung mat all Standard-Authenticator-App aktivéieren (Google Authenticator, 1Password, Authy a kompatibel Alternativen). Wann se aktivéiert ass, verlaangt d’Umeldung souwuel déi primär Login-Donnéeën wéi och e wiesselende 6-stellege Code.
Umeldung vun de Whistleblower #
Whistleblower mellen sech mat hirer Dossier-ID an engem Passwuert un. D’Dossier-ID identifizéiert den Dossier an ass net geheim. D’Passwuert besteet aus 16 zoufällegen Zifferen, déi de System generéiert, wann d’Meldung agereecht gëtt; de Whistleblower wielt et net selwer. Et gëtt nëmmen als bcrypt-Hash gespäichert, dofir kann et keen erëmhierstellen, an EthicsPortal huet keng Funktioun, mat där de Whistleblower, de Bearbechter oder de Betreiber et zrécksetze kéint. E Whistleblower, deen et verléiert, gëtt eng nei Meldung an an ernimmt do d’Dossier-ID. Meldungen, déi virum 18. Oktober 2026 agereecht goufen, behalen dat 6-stellegt Passwuert, dat de Whistleblower deemools gewielt huet, an et funktionéiert weiderhin. D’Follow-up-Inbox an d’Schécke vu Messagen sinn nëmmen an enger Sessioun no dëser Kontroll zougänglech, sou datt eng gelackt Dossier-ID eleng weder erlaabt, d’Meldung ze liesen, nach sech fir de Whistleblower auszeginn.
Direkt nodeems d’Meldung agereecht gouf, weist eng Empfangssäit d’Adress vun der sécherer Postbucht, d’Dossier-ID an d’Passwuert. Si bleift nëmmen an deem Browser verfügbar, soulaang den Dossier entspaart ass, a verschwënnt, wann d’Postbucht no 30 Minutten ouni Aktivitéit gespaart gëtt oder wann de Whistleblower se verléisst. Op der Umeldesäit ass d’Passwuertfeld e siichtbart Textfeld mat ausgeschalter automatescher Vervollstännegung amplaz vun engem maskéierte Passwuertfeld, sou datt Browser net ubidden, d’Passwuert ze späicheren. E Browser, deen de Patron verwalt, kéint et soss mam Kont vum Patron synchroniséieren. Aféigen funktionéiert, an Espacen ginn ignoréiert.
Wann d’Personal eng Meldung erfaasst, déi per Telefon, bei engem perséinleche Gespréich, per Bréif oder per E-Mail erakomm ass, an de Whistleblower den Dossier online verfollege wëll, generéiert de System en Eemol-Passwuert, dat de Bearbechter weidergëtt. Et funktionéiert eemol: Bei der éischter Umeldung vum Whistleblower gëtt et um Server duerch en neit Passwuert ersat, dat nëmmen de Whistleblower gesäit.
Den Zougang vun der Persoun, déi eng Meldung mécht, hält op, wann se „Verloossen“ wielt, oder no 30 Minutten ouni Aktivitéit. Ongeféier zwou Minutten virun der Spär bitt eng Warnung un, d’Postbucht op ze halen; reagéiert keen, verschwënnt de Fall vum Schierm. Den Zougang läit an engem verschlësselte Cookie am Browser vun där Persoun, an de Server späichert keng Sessioun fir si.
Sessiouns-Liewenszyklus #
All authentifizéiert Sessioun späichert last_seen_at bei all Ufro (debounced). Benotzer kënnen hir aktiv Sessiounen iwwerpréiwen, kucken wéini all eng zulescht aktiv war, eng eenzel Sessioun widerrufen oder sech mat engem Klick aus all aneren Sessiounen ausloggen.
Sessiounen verfalen automatesch no 14 Deeg Inaktivitéit. Déi nächst Ufro vun enger inaktiver Sessioun läscht de Server-säitegen Eintrag, läscht de Cookie an erzwéngt eng nei Authentifizéierung iwwer en neie Magic Link. En nuetse Job botzt verloossen Sessiounen no derselwechter Frist, sou datt user_agent an ip_address net iwwer d’Inaktivitéitsfenster eraus opbehale ginn, och wann de Benotzer net méi zréckkënnt.
D’Magic-Link-Authentifizéierung limitéiert d’Stéiergebitt vu laangliewege Sessiounen: e geklauten Sessiouns-Cookie gëtt keng erneit benotzbar Login-Donnéeë an d’Re-Authentifizéierung verlaangt den Zougang op d’E-Mail.
Memberzougang an Offboarding #
Den Zougang zu der Organisatioun gëtt op der Ufrogrenz duerchgesat. Wann e Member deaktivéiert gëtt:
- Den Zougang zu der Organisatioun gëtt direkt refuséiert, och op virdru gespäicherten URLen.
- Oppe Meldungszouweisunge ginn opgehuewen.
- Bedeelegunge ginn entfernt.
- D’Audit-Log-Historique vum Member bleift konservéiert.
- Den deaktivéierte Member gëtt benoricht.
- Eng Reaktivéierung stellt de virege Falle-Zougang net automatesch erëm hier.
De Besëtzer vun der Organisatioun, de leschten aktiven Admin an de designéierte Compliance-Responsabel vum Meldekanal kënnen net deaktivéiert ginn. All Deaktivéierungs- a Reaktivéierungseventer ginn an d’unhängend Audit-Log geschriwwen.
Wann e Member ewechgeholl gëtt, gëtt d’Memberschaft deaktivéiert an net geläscht, sou datt d’Audit-Spur an d’Meldungshistorique opléisbar bleiwen. Eng Memberschaft gëtt nëmmen definitiv geläscht, wann de Kont vum Member selwer oder d’Organisatioun selwer geläscht gëtt.
Läschen vum Kont #
Wann e Member säin eegene Kont zoumécht, gëtt seng E-Mail-Adress duerch e net routbare Plazhalter ersat, a säin Avatar, d’Zwee-Faktor-Donnéeën, Sessiounen, API-Tokenen a Preferenze ginn definitiv geläscht; de Kont kann sech net méi authentifizéieren a kann net méi kontaktéiert ginn. Wann de Kont ni an enger Organisatioun gehandelt huet, gëtt de Rekord komplett geläscht. Wann hien dat gemaach huet, bleift den Numm vum Member, wärend seng Memberschafte deaktivéiert ginn, sou datt opbewahrt Fallnotizen, Messagen an Auditandréi him zougeuerdnet bleiwen. De Verantwortleche fir d’Veraarbechtung (Controller) bestëmmt d’Späicherdauer no senge dokumentéierten Instruktiounen an dem uwendbare Recht; d’Läschrechter no der RGPD bleiwen den uwendbaren Ausnamen fir rechtlech Obligatiounen oder Rechtsusprëch ënnerworf.
E bereinegte Kont kann sech op kee Wee authentifizéieren: weder iwwer Magic Link, SSO-Assertion nach API-Token.
Rate-Limiting #
Ëffentlech Endpunkte vum Meldekanal sinn limitéiert, fir Mëssbrauch an Enumeratiounsattacken ze verhënneren:
| Endpunkt | Limit |
|---|---|
| Meldung | 5 pro 10 Minutten pro gehashter IP |
| Fallabruf (Dossier-ID + Passwuert) | 10 pro 3 Minutten pro gehashter IP |
| Fallabruf (Dossier-ID + Passwuert) | 10 pro 10 Minutten pro Dossier-ID a gehashter IP |
| Message | 10 pro 3 Minutten pro gehashter IP |
D’Rate-Limiting benotzt de uewe beschriwwenen IP-Hash mat Schlëssel — dofir gëtt keng IP-Adress gespäichert. D’Limit pro Dossier-ID benotzt d’Dossier-ID selwer als Schlëssel; si gëtt bannent 15 Minutten aus dem selwechte Cache geläscht.
Audit a Compliance #
Revisiounsséchert Audit-Protokoll #
Definéiert Eventer zu Meldungen a Konte ginn protokolléiert mat:
- Zäitstempel (UTC)
- Akteur (wéi e Benotzer oder Systemprozess d’Aktioun duerchgefouert huet)
- Aktiounstyp (zum Beispill Meldung erstallt, Status geännert, Message geschéckt, Bearbechter zougewisen, Meldung exportéiert oder Meldung geläscht). All Usiicht vun enger Meldung duerch e Bearbechter gëtt protokolléiert, dedupliziéiert op een Andrag pro Bearbechter pro Meldung pro 24 Stonnen, an d’Follow-up-Usiichte vum Whistleblower ginn op déi selwecht Manéier protokolléiert. Liesen vun anere Ressourcen gëtt net protokolléiert.
Auditandréi kënnen nëmmen ergänzt ginn. Keng Persoun, och kee Organisatiouns-Admin, kann en Andrag änneren oder eenzel läschen: PostgreSQL-Trigger weisen Ännerung an Truncate op Datebank-Niveau zréck. Andréi ginn nëmmen duerch den Opbewahrungszyklus oder mat der Läschung vun der Organisatioun selwer ewechgeholl, an e privilegéierten Agrëff an d’Datebank bleift e dokumentéiert Reschtrisiko (Risikoregëster R-08). Déi komplett Audit-Spur ass an de PDF-Fallexporter fir regulatoresch Iwwerpréiwung enthalen.
Späicherdauer #
Organisatioune konfiguréieren hir eege Späicherdauer: 12, 24, 36, 48 oder 60 Méint nom Ofschloss vun enger Meldung. Wann d’Späicherdauer ofgelaf ass, läscht en Hannergrond-Job d’Meldung an déi zesummenhängend Donnéeën aus der Produktioun; Backup-Kopie lafen no dem separaten dokumentéierte Liewenszyklus of.
E-Mailen un e Whistleblower loossen keen Antrag am Versandverlaf vun EthicsPortal, sou datt no der Läschung vun der Meldung keng Adress vun engem Whistleblower bleift.
De Verantwortleche fir d’Veraarbechtung (Controller) bleift dofir zoustänneg, eng Dauer ze wielen, déi der Späicherbegrenzung no der RGPD an den uwendbaren nationale Regele fir d’Opbewahrung vun Dokumenter entsprécht.
CSRF-Schutz #
All Formulaire-Iwwermëttlunge si mat de agebauten CSRF-Tokens vu Rails géint Cross-Site Request Forgery geschützt.
Sécheren Entwécklungszyklus #
EthicsPortal follegt engem dokumentéierten Entwécklungszyklus fir Ännerungen, déi de Service betreffen. D’Etappe sinn hei opgelëscht, sou datt eng iwwerpréifend Persoun aus dem Akaf se de Moossnamen A.8.25–A.8.29 vun der ISO/IEC 27001:2022 zouuerdne kann (déi komplett Zouuerdnung steet an der Moossnamekaart).
| Etapp | Praxis |
|---|---|
| Architektur an Design | Funktiounen, déi nei Flëss vu perséinlechen Donnéeën, nei Ënnerauftragsverschaffer oder nei Autorisatiounsberäicher aféieren, ginn virun der Ëmsetzung géint d’Zousoe fir Verschlësselung, Zougrëffskontroll an Audit-Spur gepréift, déi op dëser Säit dokumentéiert sinn. |
| Ännerungspréifung | All Produktiounsännerung gëtt virum Deploy géint eng schrëftlech Checklëscht gepréift (Verschlësselungsofdeckung, Autorisatiounsberäich, Schreiwen an den Audit-Log, Validatioun vun den Androen, Ëmgang mat Geheimnisser). D’Duerchsetzung ass automatiséiert an net no Ermiessen: déi komplett Testsuite an d’statesch Analyse lafen bei all Ännerung a blockéieren den Deploy bei engem Feeler. D’Suite leeft op engem gehosteten CI-Runner oder op enger Entwécklungsaarbechtsstatioun, wouduerch de fäerdege Laf als Commit-Status festgehale gëtt, deen d’Pipeline iwwerpréift, ier se de gehosteten Laf iwwersprangt. D’Rolle fir d’Fräiginn vun Ännerunge ginn am Kader vun der Akafspréifung beschriwwen. |
| Sécher Programméierung | D’Codebasis benotzt standardméisseg Schutzmechanismen op Framework-Niveau — parametriséiert Ufroe via ActiveRecord, strong parameters, Escaping vun der Ausgab an de Views, CSRF-Tokens, Verschlësselung op Attributniveau, Pundit-Autorisatioun op der Grenz vum Controller. Ofwäichunge verlaangen eng schrëftlech Begrënnung. |
| Sécherheetstester an der Entwécklung | Statesch Analyse (Brakeman, bundler-audit, importmap audit) leeft bei all Ännerung. D’Tester decken d’Autorisatiounsweeër, d’Invariante vun der Verschlësselung am Rouhzoustand, d’Schreiwen an den Audit-Log an d’Duerchsetzung vun de Reedimitte of. Déi komplett Toolchain steet ënner Ofhängegkeets- a Patch-Management. |
| Trennung vun den Ëmfelder | Produktiouns- an Net-Produktiounsëmfelder si getrennt. Ausserhalb vun der Produktioun ginn keng perséinlech Produktiounsdonnéeë benotzt; Staging an Entwécklung benotze synthetesch Donnéeën. |
| Reaktioun op Schwachstellen | Mellunge ginn bannent 2 Aarbechtsdeeg bestätegt (kuckt verantwortungsvoll Offenlegung). Ziler: kritesch Problemer bannent 7 Deeg behuewen, héich bannent 30, mëttel bannent 90. Bestätegt Problemer, déi agesate Cliente betreffen, gi via Tëschefall-Register gemellt, wa se d’Kritäre vum Register erfëllen. |
Ofhängegkeets- a Patch-Management #
EthicsPortal setzt keng Softwarekomponenten am End-of-Life-Status an. D’Applikatioun leeft op aktiv ënnerstëtzte Versioune vu Rails, Ruby, PostgreSQL an dem ënnerläffegen Betribssystem; d’Sécherheetsreleases vum Upstream gi laafend agespillt.
D’Ofhängegkeete ginn kontinuéierlech an der Continuous Integration gescannt:
- Brakeman mellt Rails-spezifesch Schwachstellen bei all Ännerung.
- bundler-audit vergläicht de Gemfile bei all Ännerung an zousätzlech all Dag no engem fixe Zäitplang mat der Ruby Advisory Database, sou datt nei verëffentlecht Schwachstellen och ouni Codeännerung erkannt ginn.
importmap auditscannt d’JavaScript-Imports bei all Ännerung an zousätzlech all Dag no engem fixe Zäitplang op bekannten Schwachstellen.- Dependabot mécht wëchentlech Pull Requests fir verâlt Ruby-Gemmen a GitHub Actions op, gruppéiert no Minor-/Patch-Updates.
Kontrollen an der Liwwerkette limitéieren, wat eng kompromittéiert Versioun vun enger Ofhängegkeet erreeche kann:
- Waardezäit fir nei Versiounen. Nei Versioune vu Ruby-Gemmen ginn eréischt iwwerholl, wa se dräi Deeg ëffentlech sinn; Dependabot-Versiounsupdates waarden 3, 7 oder 14 Deeg bei Patch-, Minor- a Major-Releases. Gekaapt Versioune ginn normalerweis bannent där Zäit zréckgezunn.
- Fixéiert CI-Actions. All GitHub-Actions-Schrëtt ass op e vollstännegen Commit-SHA fixéiert, sou datt en ëmgesaten Tag net ännere kann, wat ausgefouert gëtt.
- Iwwerpréift Downloads. Binärdateien, déi beim Bau vum Container-Image erofgeluede ginn, ginn géint eng fest hannerluechte SHA-256-Préifzomm iwwerpréift.
- Ofgeséchert automatesch Updates. Dependabot-Pull-Requests ginn eréischt automatesch zesummegefouert, wann déi komplett Testsuite an d’statesch Analys bestanen hunn.
Komponenten, déi am Upstream den End-of-Life erreechen, ginn ersat oder upgegradéiert, ier hire Support-Zäitraum oflaaft.
Infrastruktur #
| Komponent | Ubidder | Standuert |
|---|---|---|
| Applikatiounsserver an Datebank | Hetzner | Nürnberg, Däitschland (EU) |
| Dateispäicherung | Hetzner Object Storage | Nürnberg, Däitschland (EU) |
| Backupkopie vun de Fichiers-Annexen | Hetzner Object Storage | Falkenstein, Däitschland (EU) |
| Transaktionell E-Mailen | Mailjet | Frankräich (EU) |
| Bezueelung | Stripe | Irland; aner Länner ënner den uwendbare Garantien — kuckt Dateschutzerklärung |
- D’Haaptspäicherung vu Meldungs- a Falldonnéeën ass an der Europäescher Unioun. E-Mail-Zoustellung an Applikatiouns-Telemetrie hu separat nogeschalt Liwwerantekette; kuckt d’DPA.
- Op de Servere vun EthicsPortal gi keng Kreditkaartennummeren oder Bezuelungs-Zougangsdonnéeë gespäichert. All Bezuelungsdonnéeë gi vu Stripe behandelt.
- Mailjet schéckt d’Notifikatiounen un d’Bearbechter souwéi optional Empfangsbestätegungen an Notifikatiounen iwwer nei Messagen un d’Whistleblower. D’Notifikatiounen un d’Whistleblower enthalen d’E-Mail-Adress vum Empfänger, d’Dossier-ID an de Link zur Meldung, awer net de Meldungstext. D’Empfangsbestätegung fir eng Meldung, déi per E-Mail geschéckt gouf, enthält och en eemolegt Passwuert fir déi sécher Postbucht, dat beim éischte Login vum Whistleblower ersat gëtt. Déi nogeschalt Supportkette vu Mailjet kann Zougrëff ausserhalb vum EWR mat sech bréngen; kuckt d’DPA.
- D’Marketing-Websäit gëtt iwwer Cloudflare (CDN, Vereenegt Staaten) ausgeliwwert; de Meldekanal an de Bearbechter-Portal net. Dës separat Veraarbechtung vun der ëffentlecher Websäit an hir Transfer-Garantien sinn an der Dateschutzerklärung beschriwwen, net an der Ënnerauftragsverschaffer-Lëscht vun der Client-DPA.
Backup a Restore #
EthicsPortal bedreift dräi komplementär Backup-Schichten, déi all an der EU gespäichert ginn:
| Schicht | Wat | Wou | Späicherung |
|---|---|---|---|
| Datebank | Deeglech PostgreSQL-Dumpen iwwer e Kamal-Accessory, virum Eroplueden um Host mat GnuPG symmetresch AES-256 verschlësselt | Hetzner Object Storage, Nürnberg (EU) | 21 Deeg fir aktuell Versiounen; geläscht Versioune lafen no weidere 7 Deeg of |
| Server | Komplett Disk-Snapshots vum Applikatiounsserver | Hetzner Cloud, Nürnberg (EU) | 7 Deeg |
| Fichiers-Annexen | All verschlësselten Annex gëtt, ënner sengem eegene Schlëssel pro Fichier, an en zweete Bucket mat Versionéierung kopéiert | Hetzner Object Storage, Falkenstein (EU) | Esou laang wéi den Annex existéiert; fréier Versiounen 28 Deeg. Originale Stëmmopname ginn ganz geläscht, ouni fréier Versiounen ze halen |
Recovery-Ziler. Recovery Point Objective (RPO) ass 24 Stonnen. Recovery Time Objective (RTO) ass 4 Stonnen. Dës Ziler erschéngen och am Service Level Agreement.
Restore-Tester. Eng Restore-Iwwung gëtt all Mount automatesch iwwer e CI-Workflow ausgefouert, an op Ufro, an deem de leschten Dump an eng ofgrenzt Wegwerf-Ëmgéigend restauréiert gëtt. D’Iwwung entschlësselt den Dump, restauréiert en, vergläicht all Tabell mat der Live-Produktioun a start dann d’Applikatioun mat der restauréierter Datebank, fir ze bestätegen, datt eng verschlësselt Kolonn sech nach entschlësselt, datt e verschlësselte Fichiers-Annex sech mam Schlëssel aus dem restauréierten Dump opmaache léisst, an datt all Annex, deen eeler wéi eng Stonn ass, eng Kopie an der Backup-Plaz huet, wobäi eng Kopie opgemaach a mat hirer Préifsumm verglach gëtt — d’Zuel vun de Reien eleng kann e benotzbare Backup net vu Chiffertext ënnerscheeden, deem säi Schlëssel net méi passt. D’Aktualitéit vun de Backupe gëtt permanent iwwerwaacht (Alarm, wann de leschten Dump méi al wéi 36 Stonnen ass).
Verschlësselung. Laut Hetzner verschlësselt Object Storage Objeten net standardméisseg beim Späicheren, dofir ginn d’Datebank-Dumps verschlësselt ier se den Host verloossen: GnuPG symmetresch AES-256, mat enger Passphrase déi nëmmen de Backup-Prozess huet a déi ausserhalb vun der Maschinn hannerluecht ass. Felder, déi um Applikatiounsniveau mat Rails Active Record Encryption verschlësselt sinn, bleiwen an all Dump zousätzlech verschlësselt. Fichiers-Annexe ginn mat engem eegene Schlëssel pro Fichier verschlësselt gespäichert (kuckt Fichiers-Annexen). Dës Schlësselen existéieren nëmmen an der Datebank, dofir dréit all verschlësselten Dump se mat. D’Fichieren selwer ginn net an den Dump kopéiert. All Fichier gëtt zu Nürnberg gespäichert an, ënner deemselwechte Schlëssel, an en zweete Bucket zu Falkenstein kopéiert; béid halen fréier Versiounen 28 Deeg op.
Operative Review #
En Deel vun den operative Materialien gëtt am Procurement-Review gedeelt an net voll am oppene Web publizéiert, well et Infrastruktur- a Reaktiounsdetailer enthält, déi sech besser fir kontrolléiert Verëffentlechung eegnen.
Themen, déi op Ufro am Procurement-Review disponibel sinn, enthalen ënner anerem:
- Zesummefaassung vum privilegéierte Production Access
- Incident-Response-Workflow an Eskalatiounskontakter
- Äntwerten zu Business Continuity an Customer Offboarding / Export
Verantwortungsvoll Offenlegung #
Wann Dir eng Sécherheetslück an EthicsPortal fannt, mellt se w.e.g. un security@ethicsportal.eu. Mir bieden Iech:
- D’Lück net ëffentlech ze maachen, ier mir d’Geleeënheet haten, se ze behiewen.
- Genuch Detailer ze liwweren, fir datt mir de Problem reproduzéieren a fixéiere kënnen.
- Net op Donnéeë vun anere Cliente zouzegräifen oder se z’änneren.
- Keng Denial-of-Service-Attacken oder automatiséiert Massescans auszeféieren, kee Social Engineering géint eis Mataarbechter ze probéieren a keng Mellungen iwwer de Meldekanal vun engem Client ofzeginn.
Mir bestätegen Är Mellung bannent 2 Aarbechtsdeeg a striewen eng zügeg Behiewung vu bestätegte Lücken un.
Kee bezuelte Bug-Bounty. Offenlegung gëtt net belount: Mir bezuele keng Belounung fir Schwachstelle-Mellungen, a mir ënnerschreiwen keng Geheimhaltungsofkommes, vereinbaren keng kommerziell Konditiounen a féieren keng Uriff als Viraussetzung fir eng Mellung z’empfänken. Schéckt dat betraffent Asset, d’Schrëtt fir d’Reproduktioun an den Impakt, deen Dir festgestallt hutt, un déi uewe genannten Adress.
Zulescht aktualiséiert: