> Τεχνικά μέτρα ασφάλειας στο EthicsPortal — κρυπτογράφηση, ανωνυμία, έλεγχος πρόσβασης, καταγραφή ενεργειών και λεπτομέρειες υποδομής.

Source: https://ethicsportal.eu/el/security/
Updated: 2026-09-23

---

# Ασφάλεια

Το EthicsPortal επεξεργάζεται ευαίσθητα δεδομένα αναφορών. Η σελίδα αυτή καταγράφει τα τεχνικά και οργανωτικά μέτρα που εφαρμόζουμε.

Τελευταία ενημέρωση: 2026-08-28.

---

## Κρυπτογράφηση δεδομένων {#data-encryption}

Όλα τα ευαίσθητα πεδία κρυπτογραφούνται σε κατάσταση ηρεμίας με Rails Active Record Encryption και **μη ντετερμινιστική κρυπτογράφηση**.

| Πεδίο | Κρυπτογραφημένο | Ντετερμινιστικό |
|---|---|---|
| Περιγραφή αναφοράς | Ναι | Όχι |
| Όνομα προσώπου που αναφέρει | Ναι | Όχι |
| Στοιχεία επικοινωνίας | Ναι | Όχι |
| Περιεχόμενο μηνυμάτων | Ναι | Όχι |
| Δομημένες απαντήσεις υποβολής (σχέση, πηγή, χρόνος, προηγούμενη αναφορά, φόβος αντιποίνων) | Ναι | Όχι |
| Εσωτερικές σημειώσεις υπόθεσης | Ναι | Όχι |
| Μυστικά διπλού παράγοντα και εφεδρικοί κωδικοί | Ναι | Όχι |

Όλες οι συνδέσεις στο EthicsPortal χρησιμοποιούν **HTTPS/TLS**.

---

## Ανωνυμία και απόρρητο {#anonymity-and-privacy}

### Ανωνυμοποίηση IP

Το EthicsPortal **δεν αποθηκεύει ποτέ διευθύνσεις IP**. Οι διαδρομές της πύλης χρησιμοποιούν μονόδρομο SHA256 hash της IP μόνο για περιορισμό ρυθμού.

### Αφαίρεση μεταδεδομένων αρχείων

Τα μεταφορτωμένα αρχεία καθαρίζονται αυτόματα από αναγνωριστικά μεταδεδομένα **πριν** αποθηκευτούν:

| Τύπος αρχείου | Μεταδεδομένα που αφαιρούνται | Μέθοδος |
|---|---|---|
| Εικόνες | EXIF: GPS, μοντέλο κάμερας, συντάκτης, χρονοσφραγίδες | Vips |
| PDF | Συντάκτης, εφαρμογή δημιουργίας, ιστορικό τροποποιήσεων | exiftool |
| Βίντεο | GPS, πληροφορίες συσκευής, λογισμικό εγγραφής | exiftool |
| Ήχος | Συσκευή εγγραφής, GPS, ετικέτες λογισμικού | exiftool |

### Έλεγχος για κακόβουλο λογισμικό

Όλα τα μεταφορτωμένα αρχεία ελέγχονται αυτόματα για κακόβουλο λογισμικό με [ClamAV](https://www.clamav.net). Τα μολυσμένα αρχεία αφαιρούνται αυτόματα.

### Ανωνυμία χειριστών

Τα πρόσωπα που αναφέρουν δεν βλέπουν ποτέ τα πραγματικά ονόματα ή τις διευθύνσεις ηλεκτρονικού ταχυδρομείου των χειριστών. Όλα τα μηνύματα εμφανίζονται ως **«Χειριστής υπόθεσης»**.

### Χωρίς παρακολούθηση

Το EthicsPortal δεν χρησιμοποιεί cookies παρακολούθησης, διαφημιστικά εικονοστοιχεία ή scripts δημιουργίας αποτυπώματος τρίτων. Το [Cloudflare Web Analytics](https://www.cloudflare.com/web-analytics/) χρησιμοποιείται μόνο στις σελίδες προβολής του δημόσιου ιστότοπου.

### Τρέχουσα κατάσταση διασφάλισης

Το EthicsPortal δεν δηλώνει επί του παρόντος σε αυτόν τον ιστότοπο διαπιστευμένη πιστοποίηση ISO 27001. Επίσης δεν δημοσιεύει προς το παρόν ανεξάρτητο έλεγχο τρίτου μέρους για την αρχιτεκτονική ανωνυμίας. Αν αυτό αλλάξει, το πεδίο εφαρμογής και η ημερομηνία θα δημοσιευθούν εδώ.

### Υλικά για αξιολόγηση ασφάλειας

Οι πελάτες που χρειάζονται υλικά για αξιολόγηση από τμήμα προμηθειών ή νομικό έλεγχο μπορούν να τα ζητήσουν κατά την αξιολόγηση. Τα διαθέσιμα υλικά μπορεί να περιλαμβάνουν αντιυπογεγραμμένη DPA, αποδεικτικά μητρώου και φορολογικά έγγραφα, συμπληρωμένο ερωτηματολόγιο ασφάλειας και γραπτές απαντήσεις για διαδικασίες δημιουργίας και επαναφοράς αντιγράφων ασφαλείας, προνομιακή πρόσβαση σε παραγωγή και αντιμετώπιση περιστατικών.

---

## Έλεγχος πρόσβασης {#access-control}

Η εξουσιοδότηση εφαρμόζεται στο επίπεδο εφαρμογής με [Pundit](https://github.com/varvet/pundit).

| Ρόλος | Βλέπει αναφορές | Διαχειρίζεται ρυθμίσεις οργάνωσης | Αναθέτει χειριστές |
|---|---|---|---|
| Διαχειριστής | Όλες | Ναι | Ναι |
| Χειριστής | Μόνο όσες του έχουν ανατεθεί | Όχι | Όχι |
| Παρατηρητής | Μόνο ανάγνωση, για ελεγκτές και νομικούς συμβούλους | Όχι | Όχι |

### Δύο παράγοντες

Οι λογαριασμοί χειριστών και διαχειριστών μπορούν να ενεργοποιήσουν έλεγχο ταυτότητας δύο παραγόντων βασισμένο σε TOTP.

Τα πρόσωπα που αναφέρουν αυθεντικοποιούνται επίσης με δύο παράγοντες: αναγνωριστικό υπόθεσης και PIN.

### Κύκλος ζωής συνεδριών

Κάθε αυθεντικοποιημένη συνεδρία καταγράφει `last_seen_at` σε κάθε αίτημα (με αποσυμφόρηση). Οι χρήστες μπορούν να ελέγξουν τις ενεργές συνεδρίες τους, να δουν πότε ήταν τελευταία ενεργή κάθε μία, να ανακαλέσουν οποιαδήποτε συνεδρία μεμονωμένα ή να αποσυνδεθούν από όλες τις άλλες συνεδρίες μαζί από τις ρυθμίσεις λογαριασμού.

Οι συνεδρίες λήγουν αυτόματα μετά από **14 ημέρες αδράνειας**. Το επόμενο αίτημα από μια αδρανή συνεδρία καταστρέφει την εγγραφή στην πλευρά του διακομιστή, διαγράφει το cookie και επιβάλλει εκ νέου αυθεντικοποίηση μέσω νέου μαγικού συνδέσμου. Νυχτερινή εργασία εκκαθαρίζει τις εγκαταλελειμμένες συνεδρίες με το ίδιο χρονικό όριο, ώστε τα `user_agent` και `ip_address` να μη διατηρούνται πέρα από το παράθυρο αδράνειας, ακόμη και όταν ο χρήστης δεν επιστρέφει.

Η αυθεντικοποίηση μέσω μαγικού συνδέσμου περιορίζει την έκταση επίπτωσης μακρόβιων συνεδριών: ένα υποκλαπέν cookie συνεδρίας δεν αποτελεί επαναχρησιμοποιήσιμο διαπιστευτήριο και η εκ νέου αυθεντικοποίηση απαιτεί πρόσβαση στο ηλεκτρονικό ταχυδρομείο.

### Πρόσβαση μελών και αποχώρηση

Η πρόσβαση στον οργανισμό εφαρμόζεται στο όριο του αιτήματος. Όταν ένα μέλος απενεργοποιείται:

- Η πρόσβαση στον οργανισμό απορρίπτεται αμέσως, ακόμη και σε προηγουμένως αποθηκευμένα URL.
- Οι αναθέσεις ανοιχτών αναφορών αφαιρούνται.
- Οι συμμετοχές αφαιρούνται.
- Το ιστορικό ίχνους ελέγχου που αποδίδεται στο μέλος διατηρείται.
- Το απενεργοποιημένο μέλος ειδοποιείται.
- Η επανενεργοποίηση δεν αποκαθιστά αυτόματα την προηγούμενη πρόσβαση σε υποθέσεις.

Ο τελευταίος ενεργός διαχειριστής και ο κάτοχος του οργανισμού δεν μπορούν να απενεργοποιηθούν. Όλα τα συμβάντα απενεργοποίησης και επανενεργοποίησης καταγράφονται στο ίχνος ελέγχου μόνο με προσθήκες.

Οι ιδιότητες μέλους χωρίς αποτύπωμα συμμόρφωσης (χωρίς εγγραφές στο ίχνος ελέγχου, χωρίς αναθέσεις, χωρίς συμμετοχές) διαγράφονται οριστικά κατά την αφαίρεση. Οι ιδιότητες μέλους με αποτύπωμα απενεργοποιούνται με ήπιο τρόπο ώστε το ίχνος ελέγχου να παραμένει επιλύσιμο.

### Διαγραφή λογαριασμού

Όταν ένα μέλος κλείνει τον λογαριασμό του, η διεύθυνση ηλεκτρονικού ταχυδρομείου αντικαθίσταται με μη παραδοτέα διεύθυνση και τα στοιχεία δύο παραγόντων, οι συνεδρίες, τα διακριτικά API και οι προτιμήσεις διαγράφονται οριστικά. Αν δεν είχε ενεργήσει ποτέ σε οργανισμό, η εγγραφή διαγράφεται. Διαφορετικά, το όνομα και η εικόνα παραμένουν συνδεδεμένα με τις υποθέσεις και το ίχνος ελέγχου, ενώ οι συμμετοχές απενεργοποιούνται ώστε να διατηρείται η απαιτούμενη απόδοση ενεργειών.

### Περιορισμός ρυθμού

| Σημείο πρόσβασης | Όριο |
|---|---|
| Υποβολή αναφοράς | 5 ανά 10 λεπτά |
| Αναζήτηση υπόθεσης | 10 ανά 3 λεπτά |
| Υποβολή μηνύματος | 10 ανά 3 λεπτά |

---

## Έλεγχος και συμμόρφωση

### Ίχνος ελέγχου μόνο με προσθήκες {#append-only-audit-trail}

Κάθε ενέργεια στο EthicsPortal καταγράφεται με:

- χρονοσφραγίδα (UTC)
- εκτελεστή
- τύπο ενέργειας

Οι εγγραφές δεν μπορούν να τροποποιηθούν ή να διαγραφούν από χρήστες.

### Διατήρηση δεδομένων

Οι οργανισμοί ορίζουν περίοδο διατήρησης **12, 24, 36, 48 ή 60 μηνών** μετά το κλείσιμο της αναφοράς. Μετά τη λήξη, τα δεδομένα διαγράφονται αυτόματα.

### Προστασία CSRF

Όλες οι φόρμες προστατεύονται με κρυπτογραφικά διακριτικά CSRF της Rails.

---

## Ασφαλής κύκλος ζωής ανάπτυξης {#secure-development-lifecycle}

Το EthicsPortal ακολουθεί τεκμηριωμένο κύκλο ζωής ανάπτυξης για τις αλλαγές που αφορούν την Υπηρεσία. Τα στάδια παρατίθενται εδώ ώστε ένας αξιολογητής προμηθειών να μπορεί να τα αντιστοιχίσει στα μέτρα A.8.25--A.8.29 του ISO/IEC 27001:2022 (η πλήρης αντιστοίχιση βρίσκεται στον [χάρτη μέτρων](/iso-27001/)).

| Στάδιο | Πρακτική |
|---|---|
| Αρχιτεκτονική και σχεδίαση | Λειτουργίες που εισάγουν νέες ροές δεδομένων προσωπικού χαρακτήρα, νέους υπεργολάβους επεξεργασίας ή νέα πεδία εξουσιοδότησης αξιολογούνται πριν από την υλοποίηση έναντι των δεσμεύσεων κρυπτογράφησης, ελέγχου πρόσβασης και ίχνους ελέγχου που τεκμηριώνονται σε αυτή τη σελίδα. |
| Έλεγχος αλλαγών | Κάθε αλλαγή παραγωγής ελέγχεται πριν από την ανάπτυξη έναντι γραπτής λίστας ελέγχου (κάλυψη κρυπτογράφησης, εύρος εξουσιοδότησης, καταγραφή στο μητρώο ελέγχου, επικύρωση εισόδου, χειρισμός μυστικών). Η επιβολή είναι αυτοματοποιημένη και όχι κατά διακριτική ευχέρεια: η πλήρης σουίτα δοκιμών και η στατική ανάλυση εκτελούνται σε κάθε αλλαγή και μπλοκάρουν την ανάπτυξη σε περίπτωση αποτυχίας. Η σουίτα εκτελείται σε φιλοξενούμενο εκτελεστή CI ή σε σταθμό εργασίας ανάπτυξης, με την ολοκληρωμένη εκτέλεση να καταγράφεται ως κατάσταση commit την οποία επαληθεύει η ροή πριν παραλείψει τη φιλοξενούμενη εκτέλεση. Οι ρόλοι έγκρισης αλλαγών περιγράφονται κατά τον έλεγχο προμηθειών. |
| Ασφαλής κωδικοποίηση | Ο κώδικας χρησιμοποιεί εξ ορισμού προστασίες σε επίπεδο πλαισίου --- παραμετροποιημένα ερωτήματα μέσω ActiveRecord, strong parameters, διαφυγή εξόδου στις όψεις, διακριτικά CSRF, κρυπτογράφηση σε επίπεδο χαρακτηριστικού, εξουσιοδότηση Pundit στο όριο του ελεγκτή. Οι αποκλίσεις απαιτούν γραπτή αιτιολόγηση. |
| Δοκιμές ασφάλειας κατά την ανάπτυξη | Η στατική ανάλυση ([Brakeman](https://brakemanscanner.org), [bundler-audit](https://github.com/rubysec/bundler-audit), `importmap audit`) εκτελείται σε κάθε αλλαγή. Οι δοκιμές καλύπτουν τις διαδρομές εξουσιοδότησης, τις αμετάβλητες ιδιότητες της κρυπτογράφησης σε ηρεμία, την καταγραφή στο μητρώο ελέγχου και την επιβολή ορίων ρυθμού. Δείτε [διαχείριση εξαρτήσεων και ενημερώσεων ασφαλείας](#dependency-and-patch-management) για την πλήρη αλυσίδα εργαλείων. |
| Διαχωρισμός περιβαλλόντων | Τα περιβάλλοντα παραγωγής και μη παραγωγής είναι απομονωμένα. Δεδομένα προσωπικού χαρακτήρα παραγωγής δεν χρησιμοποιούνται εκτός παραγωγής· τα περιβάλλοντα δοκιμών και ανάπτυξης χρησιμοποιούν συνθετικά δεδομένα. |
| Απόκριση σε ευπάθειες | Οι αναφορές επιβεβαιώνονται εντός 2 εργάσιμων ημερών (βλ. [υπεύθυνη γνωστοποίηση](#υπεύθυνη-γνωστοποίηση)). Στόχοι: αποκατάσταση κρίσιμων ζητημάτων εντός 7 ημερών, υψηλών εντός 30, μεσαίων εντός 90. Επιβεβαιωμένα ζητήματα που επηρεάζουν πελάτες σε παραγωγή αναφέρονται μέσω του [μητρώου περιστατικών](/incidents/) όταν πληρούν τα κριτήρια εμβέλειας του μητρώου. |

---

## Διαχείριση εξαρτήσεων και ενημερώσεων ασφαλείας {#dependency-and-patch-management}

Το EthicsPortal δεν αναπτύσσει συστατικά λογισμικού που έχουν φτάσει στο τέλος του κύκλου ζωής τους. Η εφαρμογή εκτελείται σε ενεργά υποστηριζόμενες εκδόσεις των Rails, Ruby, PostgreSQL και του υποκείμενου λειτουργικού συστήματος· οι ενημερώσεις ασφαλείας από τους κατασκευαστές εφαρμόζονται σε κυλιόμενη βάση.

Οι εξαρτήσεις σαρώνονται συνεχώς στο CI:

- Το **[Brakeman](https://brakemanscanner.org)** εντοπίζει ευπάθειες ειδικές για Rails σε κάθε αλλαγή.
- Το **[bundler-audit](https://github.com/rubysec/bundler-audit)** ελέγχει το Gemfile έναντι της Ruby Advisory Database σε κάθε αλλαγή και επιπλέον καθημερινά βάσει προγραμματισμού, ώστε οι νέες δημοσιευμένες ευπάθειες να εντοπίζονται ακόμη και χωρίς αλλαγή κώδικα.
- Το **`importmap audit`** σαρώνει τα JavaScript imports για γνωστές ευπάθειες σε κάθε αλλαγή και επιπλέον καθημερινά βάσει προγραμματισμού.
- Το **[Dependabot](https://docs.github.com/en/code-security/dependabot)** ανοίγει εβδομαδιαία pull requests για παρωχημένα Ruby gems και GitHub Actions, ομαδοποιημένα κατά minor/patch ενημερώσεις.

Συστατικά που πλησιάζουν στο τέλος του κύκλου ζωής τους αντικαθίστανται ή αναβαθμίζονται πριν κλείσει το παράθυρο υποστήριξής τους.

---

## Υποδομή

| Συστατικό | Πάροχος | Τοποθεσία |
|---|---|---|
| Διακομιστής εφαρμογής και βάση δεδομένων | [Hetzner](https://www.hetzner.com) | Νυρεμβέργη, Γερμανία (ΕΕ) |
| Αποθήκευση αρχείων | [Hetzner Object Storage](https://www.hetzner.com/storage/object-storage) | Νυρεμβέργη, Γερμανία (ΕΕ) |
| Αποστολή μηνυμάτων υπηρεσίας | [Mailjet](https://www.mailjet.com) | Γαλλία (ΕΕ) |
| Πληρωμές | [Stripe](https://stripe.com) | Ιρλανδία· άλλες χώρες με τις εφαρμοστέες εγγυήσεις — βλ. [Πολιτική απορρήτου](/privacy/) |

---

## Αντίγραφα ασφαλείας και επαναφορά {#backups-and-restore}

Το EthicsPortal λειτουργεί δύο συμπληρωματικά επίπεδα αντιγράφων ασφαλείας, αμφότερα διατηρούμενα εντός της ΕΕ:

| Επίπεδο | Τι | Πού | Διατήρηση |
|---|---|---|---|
| Βάση δεδομένων | Καθημερινά αντίγραφα PostgreSQL μέσω εξαρτήματος Kamal | Hetzner Object Storage, Νυρεμβέργη (ΕΕ) | 21 ημέρες για τις τρέχουσες εκδόσεις· οι διαγραμμένες εκδόσεις λήγουν μετά από 7 επιπλέον ημέρες |
| Διακομιστής | Πλήρη στιγμιότυπα δίσκου του διακομιστή εφαρμογής | Hetzner Cloud, Νυρεμβέργη (ΕΕ) | 7 ημέρες |

**Στόχοι ανάκτησης.** Το recovery point objective (RPO) είναι 24 ώρες. Το recovery time objective (RTO) είναι 4 ώρες. Οι στόχοι αυτοί εμφανίζονται και στη [συμφωνία επιπέδου υπηρεσίας](/sla/#recovery-objectives).

**Δοκιμές επαναφοράς.** Δοκιμή επαναφοράς εκτελείται αυτόματα κάθε μήνα μέσω ροής CI σε αναλώσιμο περιβάλλον. Η φρεσκάδα των αντιγράφων ασφαλείας παρακολουθείται συνεχώς.

**Κρυπτογράφηση.** Τα πεδία που κρυπτογραφούνται από την εφαρμογή παραμένουν κρυπτογραφημένα στο αντίγραφο. Το Hetzner Object Storage δεν κρυπτογραφεί αντικείμενα από προεπιλογή· η κρυπτογράφηση ολόκληρου του αντιγράφου και των συνημμένων δεν έχει επαληθευθεί.

---

## Επιχειρησιακή αξιολόγηση

Αυτή η σελίδα είναι δημόσια σύνοψη ασφάλειας. Μέρος του επιχειρησιακού υλικού κοινοποιείται στο πλαίσιο αξιολόγησης από τμήμα προμηθειών αντί να δημοσιεύεται πλήρως στον ανοιχτό ιστό, επειδή περιέχει λεπτομέρειες υποδομής και απόκρισης που είναι καταλληλότερες για ελεγχόμενη κοινοποίηση.

Θέματα διαθέσιμα κατόπιν αιτήματος στην αξιολόγηση προμηθειών περιλαμβάνουν:

- Περίληψη προνομιακής πρόσβασης σε παραγωγή
- Ροή εργασίας απόκρισης σε περιστατικά και επαφές κλιμάκωσης
- Απαντήσεις για επιχειρησιακή συνέχεια και αποχώρηση / εξαγωγή δεδομένων πελάτη

---

## Υπεύθυνη γνωστοποίηση

Αν ανακαλύψετε ευπάθεια ασφαλείας στο EthicsPortal, παρακαλούμε αναφέρετέ την στο [security@ethicsportal.eu](mailto:security@ethicsportal.eu).

**Χωρίς αμειβόμενο πρόγραμμα bug bounty.** Δεν καταβάλλουμε αμοιβή για αναφορές ευπαθειών και δεν υπογράφουμε συμφωνίες εμπιστευτικότητας ούτε συμφωνούμε εμπορικούς όρους ως προϋπόθεση για την παραλαβή αναφοράς.
