# Ασφάλεια, ιδιωτικότητα και τοποθεσία δεδομένων

> Πώς προστατεύονται τα δεδομένα ασθενών: τοποθεσία δεδομένων στην ΕΕ, απομόνωση έργων, αναγνωριστικά ζευγών, διαπιστευτήρια, συναίνεση, προέλευση, ένα αρχείο καταγραφής ορατό στον ασθενή και τα όρια της ιδιωτικής beta.

Source: https://developers.anpheros.com/el/guides/security

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

## Τοποθεσία Δεδομένων

- Όλα τα δεδομένα της πλατφόρμας αποθηκεύονται και επεξεργάζονται στην Ευρωπαϊκή Ένωση: η υπηρεσία και οι βάσεις δεδομένων της στο Google Cloud `europe-west4` (Ολλανδία), η ουρά παράδοσης webhook στο `europe-west3` (Φρανκφούρτη) και η εξαγωγή του αρχείου καταγραφής πρόσβασης που δεν τροποποιείται στο BigQuery EU location.
- **Περιοχή δεδομένων ΗΠΑ:** διαθέσιμη κατόπιν αιτήματος για πελάτες παραγωγής υπό συμφωνία συνεργάτη επιχειρηματικής δραστηριότητας HIPAA (δείτε παρακάτω). Τα δεδομένα ασθενών των ΗΠΑ στη συνέχεια δεν εγκαταλείπουν ποτέ την περιοχή των ΗΠΑ.
- Τα έγγραφα αποθηκεύονται σε έναν EU storage bucket κρυπτογραφημένο με κλειδί κρυπτογράφησης που διαχειρίζεται ο πελάτης (CMEK). Τα πρωτότυπα είναι αμετάβλητα μετά την οριστικοποίηση. Το άθροισμα ελέγχου SHA-256 και το μέγεθός τους καταγράφονται.

## Απομόνωση μεταξύ εφαρμογών

- Κάθε κλειδί API ανήκει σε ένα **project**. Ένα project βλέπει μόνο τους ασθενείς που δημιούργησε — στο sandbox, συμπεριλαμβανομένου του δικού του αντιγράφου συνθετικών ασθενών, τον οποίο κανένα άλλο project δεν μπορεί να δει.
- **Αναγνωριστικά ανά ζεύγος:** κάθε project λαμβάνει το δικό του αναγνωριστικό για το ίδιο άτομο. Τα εσωτερικά αναγνωριστικά δεν φεύγουν ποτέ από την πλατφόρμα, επομένως τα αναγνωριστικά δεν μπορούν να συσχετιστούν μεταξύ εφαρμογών.
- Μια εγγραφή στην οποία δεν μπορείτε να έχετε πρόσβαση απαντά `404`, ποτέ `403`, επομένως η ύπαρξη ενός ασθενούς δεν μπορεί να διερευνηθεί.
- **Το Sandbox και η παραγωγή είναι ξεχωριστές βάσεις δεδομένων.** Ένα κλειδί sandbox (`sk_test_`) φυσικά δεν μπορεί να έχει πρόσβαση σε πραγματικούς ασθενείς.
- Με τη συγκατάθεση του ασθενούς, ένας οργανισμός διαβάζει ολόκληρη την εγγραφή, συμπεριλαμβανομένων όσων έγραψαν άλλοι οργανισμοί, αλλά μπορεί να αλλάξει ή να διαγράψει μόνο ό,τι έγραψε ο ίδιος.

## Διαπιστευτήρια

- Τα κλειδιά API εμφανίζονται μία φορά και αποθηκεύονται μόνο ως κατακερματισμός SHA-256. Τα κλειδιά έχουν πεδία `read` / `write` και δεν διασχίζουν ποτέ το περιβάλλον τους.
- OAuth 2.1 με υποχρεωτικό PKCE (S256). Το `redirect_uri` πρέπει να καταχωρηθεί ακριβώς. Τα διακριτικά πρόσβασης διαρκούν 30 λεπτά, τα διακριτικά ανανέωσης 30 ημέρες και περιστρέφονται σε κάθε χρήση.
- **Ανίχνευση επαναχρησιμοποίησης διακριτικού ανανέωσης:** η παρουσίαση ενός διακριτικού ανανέωσης που έχει ήδη χρησιμοποιηθεί ανακαλεί ολόκληρη την αλυσίδα διακριτικών.
- Οι αποκρίσεις διακριτικών φέρουν `Cache-Control: no-store`. Τα διακριτικά OpenID Connect `id_token` υπογράφονται με RS256. Τα δημόσια κλειδιά δημοσιεύονται στο `/oauth/jwks`.

## Συγκατάθεση, προέλευση και έλεγχος

- Ένας ασθενής χορηγεί σε μια εφαρμογή πρόσβαση σε μια φιλοξενούμενη σελίδα συγκατάθεσης, επιλέγοντας τον φάκελο και τη διάρκεια (30, 90, 180 ή 365 ημέρες). Τα πεδία (scopes) είναι ανά τύπο πόρου και ενέργεια, προαιρετικά φιλτραρισμένα ανά κατηγορία. Κάθε χορήγηση αντικατοπτρίζεται ως πόρος FHIR `Consent`.
- Η ανάκληση τίθεται σε ισχύ στην επόμενη αίτηση· η εφαρμογή δεν μπορεί να ανανεωθεί.
- **Κάθε εγγραφή** παράγει έναν πόρο `Provenance`: ποιος την έγραψε (ασθενής, επαγγελματίας υγείας, συσκευή, εισαγωγή ή AI), για ποιον οργανισμό, από ποιο σύστημα πηγής.
- **Κάθε ανάγνωση καταγράφεται και είναι ορατή στον ασθενή**, συμπεριλαμβανομένων των αναγνώσεων που έγιναν με το δικό του κλειδί API του έργου, και συμπεριλαμβανομένου του πλαισίου που δημιουργήθηκε για μοντέλα AI.

## Ασφάλεια μεταφοράς και ιστού

- Μόνο HTTPS, με HTTP Strict Transport Security. Οι αποκρίσεις του API φέρουν περιοριστική Content-Security-Policy, `X-Content-Type-Options: nosniff`, `X-Frame-Options: DENY` και αυστηρή πολιτική παραπομπής (referrer policy).
- Οι παραδόσεις Webhook υπογράφονται με HMAC-SHA256 πάνω στο timestamp και το σώμα (body). Οι δέκτες πρέπει να απορρίπτουν υπογραφές παλαιότερες των 5 λεπτών. Τα συμβάντα (events) φέρουν αναγνωριστικά (ids) και εκδόσεις (versions), ποτέ κλινικό περιεχόμενο.
- Όρια ρυθμού (Rate limits): 600 αιτήματα ανά λεπτό ανά διαπιστευτήριο και ανά IP. Σώματα JSON έως 2 MiB. Έγγραφα έως 25 MiB.

## Μηχανές αναζήτησης και ανιχνευτές AI

Οι δημόσιες σελίδες (anpheros.com, η παρουσίαση της πλατφόρμας και αυτή η τεκμηρίωση) είναι ανοιχτές σε μηχανές αναζήτησης και ανιχνευτές AI. Το API, το dashboard, οι σελίδες OAuth και συναίνεσης και η εφαρμογή ασθενούς (`app.anpheros.com`) εξαιρούνται με τους κανόνες `noindex` και `robots.txt`. καμία από αυτές δεν επιστρέφει δεδομένα ασθενούς χωρίς έλεγχο ταυτότητας.

## HIPAA (Κλινικές ΗΠΑ)

Για μια κλινική στις Ηνωμένες Πολιτείες, η Anpheros είναι ένας **Συνεργάτης Επιχείρησης** (Business Associate). Αυτά που ισχύουν, αντιστοιχισμένα με τον Κανόνα Ασφάλειας HIPAA (HIPAA Security Rule):

| Διασφάλιση | Πώς το κάνει η Anpheros |
|---|---|
| Ανατεθειμένη ευθύνη, ανάλυση κινδύνου, γραπτές πολιτικές (§164.308) | Ένας ορισμένος Υπεύθυνος Ασφάλειας (Security Officer); ετήσια ανάλυση κινδύνου; δέκα γραπτές πολιτικές (πρόσβαση, κρυπτογράφηση, καταγραφή, αντιμετώπιση περιστατικών, ειδοποίηση παραβίασης, διατήρηση και αντίγραφα ασφαλείας, εκπαίδευση, συσκευές, πρόσβαση έκτακτης ανάγκης, προμηθευτές), διατηρούνται για έξι χρόνια |
| Μοναδική αναγνώριση χρήστη, έλεγχος πρόσβασης (§164.312(a)) | Κάθε κλειδί, token και άτομο έχει τη δική του ταυτότητα· τα έργα βλέπουν μόνο τους δικούς τους ασθενείς· οι εμβέλειες συναίνεσης επιβάλλονται σε κάθε ανάγνωση· απαιτείται MFA ή SSO για οργανισμούς με έργο παραγωγής· αυτόματη αποσύνδεση στον πίνακα ελέγχου |
| Έλεγχοι ελέγχου (Audit controls) (§164.312(b)) | Κάθε ανάγνωση και εγγραφή καταγράφεται, hash-chained, εξάγεται ως append-only· ορατό στον ασθενή |
| Ακεραιότητα (Integrity) (§164.312(c)) | Πόροι με εκδόσεις (Versioned resources), προέλευση (provenance) σε κάθε εγγραφή, αμετάβλητα έγγραφα με SHA-256 |
| Ασφάλεια μετάδοσης (Transmission security) (§164.312(e)) | TLS 1.2+, HSTS, υπογεγραμμένα webhooks, παραδόσεις μόνο μέσω HTTPS |
| Κρυπτογράφηση κατά την αποθήκευση (Encryption at rest) | Κρυπτογραφημένη βάση δεδομένων και αντίγραφα ασφαλείας· έγγραφα υπό κλειδί διαχειριζόμενο από τον πελάτη |
| Σχέδιο αντιμετώπισης έκτακτης ανάγκης (Contingency plan) (§164.308(a)(7)) | Καθημερινά αντίγραφα ασφαλείας, ανάκτηση σημείου χρόνου (point-in-time recovery), άσκηση επαναφοράς κάθε 90 ημέρες με καταγεγραμμένους χρόνους |
| Ειδοποίηση παραβίασης (Breach notification) (§164.410) | Η Καλυπτόμενη Οντότητα (Covered Entity) ειδοποιείται εντός 5 εργάσιμων ημερών από το BAA μας (60 ημέρες από το νόμο) |
| Αλυσίδα συνεργατών επιχείρησης (Business associate chain) (§164.308(b)) | Google Cloud υπό το BAA του· η λίστα των υποεπεξεργαστών βρίσκεται στο παράρτημα του BAA |

Μια **Συμφωνία Συνεργάτη Επιχείρησης** (Business Associate Agreement) και μια **περιοχή δεδομένων ΗΠΑ** (US data region) είναι διαθέσιμες κατόπιν αιτήματος για πελάτες παραγωγής (γράψτε στο platform@anpheros.com)· η παραγωγή για δεδομένα ασθενών ΗΠΑ ανοίγει μετά την υπογραφή του BAA. Το sandbox περιέχει μόνο συνθετικούς ασθενείς, οπότε οι προγραμματιστές στις ΗΠΑ μπορούν να αναπτύξουν σήμερα χωρίς BAA. Η Anpheros δεν είναι πιστοποιημένη έναντι SOC 2 ή HITRUST· έχει προγραμματιστεί ένας έλεγχος SOC 2 Type II όταν ένας πελάτης νοσοκομείου το απαιτήσει.

## Τρέχοντα όρια (ιδιωτική beta)

- Φιλοξενία σε μία ζώνη χωρίς αυτόματη ανάληψη ευθύνης (failover). Δεν υπάρχει ακόμη συμβατική συμφωνία επιπέδου υπηρεσιών (SLA).
- Κλειδιά παραγωγής εκδίδονται σε επαληθευμένους οργανισμούς με υπογεγραμμένη συμφωνία επεξεργασίας δεδομένων. Οι συνεργάτες beta ξεκινούν με συνθετικά δεδομένα.
- Η εκκίνηση SMART EHR και η παράμετρος OpenID `nonce` δεν υποστηρίζονται ακόμη.

## Σχετικά

- [GDPR και δεδομένα υγείας για προγραμματιστές](https://developers.anpheros.com/el/guides/gdpr-health-data-developers)
- [Προέλευση ιατρικών δεδομένων εξηγείται](https://developers.anpheros.com/el/guides/medical-data-provenance): ποιος έγραψε τι, και πώς να το καταγράψετε
- [Μοντέλο συναίνεσης και πρόσβασης](https://developers.anpheros.com/el/guides/consent)
- [Έλεγχος ταυτότητας και OAuth](https://developers.anpheros.com/el/guides/authentication)
- [Όρια και όρια ρυθμού](https://developers.anpheros.com/el/guides/limits)
- [Αξιοπιστία, κατάσταση και περιστατικά](https://developers.anpheros.com/el/guides/reliability): παρακολούθηση, αντίγραφα ασφαλείας, επικοινωνία περιστατικών
- [Αρχιτεκτονική](https://developers.anpheros.com/el/guides/architecture)
- [Ο Ευρωπαϊκός Χώρος Δεδομένων Υγείας (EHDS) για προγραμματιστές](https://developers.anpheros.com/el/guides/ehds-for-developers)
