Ασφάλεια δεδομένων.
Πώς κρατάμε τις αποδείξεις και τα δεδομένα φύλλων που ανεβάζεις ασφαλή από τυχαία αποκάλυψη, μη εξουσιοδοτημένη πρόσβαση και αστοχία υποδομής. Σε απλά ελληνικά. Χωρίς θεατρινισμούς ασφαλείας.
1. Κρυπτογράφηση
- Στη μεταφορά: μόνο TLS 1.3. Παλιότερα πρωτόκολλα (TLS 1.0, 1.1, SSLv3) και αδύναμα cipher suites είναι απενεργοποιημένα στο edge. HSTS preloaded.
- Σε ηρεμία: κρυπτογράφηση AES-256 σε όλα τα αποθηκευμένα αρχεία (αποδείξεις, παραγόμενα φύλλα) και γραμμές βάσης δεδομένων. Τα κλειδιά διαχειρίζονται από τους παρόχους υποδομής μας (Cloudflare R2 + D1, Google Cloud) και ανανεώνονται στα χρονοδιαγράμματά τους.
- Backups: τα δεδομένα backup κρυπτογραφούνται με τα ίδια πρότυπα όπως ο κύριος αποθηκευτικός χώρος. Τα αρχειακά στιγμιότυπα ακολουθούν τη διαμορφωμένη πολιτική διατήρησης (προεπιλογή 10 χρόνια· εύρος 6–30 χρόνια ανά προεπιλογή χώρας).
2. Ταυτοποίηση
- Κωδικοί: κρυπτογραφούνται με Argon2id (ή bcrypt ως εναλλακτική) πριν την αποθήκευση. Ποτέ δεν βλέπουμε τον plaintext κωδικό σου. Ελάχιστο μήκος κωδικού 12 χαρακτήρες· απόρριψη κοινών κωδικών.
- Συνεδρίες: HTTP-only, Secure, SameSite=Lax cookies υπογεγραμμένα με HMAC. Οι συνεδρίες λήγουν με αδράνεια· καμία μόνιμη «remember me» cookie.
- Προστασία σύνδεσης: rate-limit ανά IP και ανά λογαριασμό. Επαναλαμβανόμενες αποτυχίες ενεργοποιούν προοδευτικό κλείδωμα (60δ → 5λ → 30λ). Ύποπτες συνεδρίες ανακαλούνται αυτόματα.
- Επιβεβαίωση email: απαιτείται πριν τη σύνδεση. Αλλαγές email ενεργοποιούν ροή επιβεβαίωσης στη νέα διεύθυνση.
- OAuth: υποστηρίζεται Google sign-in. Ποτέ δεν ζητάμε περισσότερα από τα scopes email + όνομα + εικόνα προφίλ.
3. Απομόνωση λογαριασμών
Κάθε γραμμή βάσης δεδομένων που αγγίζει δεδομένα χρήστη φέρει ξένο κλειδί στον κάτοχο λογαριασμό. Τα ερωτήματα API φιλτράρουν ανά ID λογαριασμού σε επίπεδο SQL, όχι μόνο σε επίπεδο εφαρμογής, οπότε ένα προγραμματιστικό σφάλμα που ξέχασε τον έλεγχο πρόσβασης δεν θα διέρρεε δεδομένα μεταξύ λογαριασμών.
Ο αποθηκευτικός χώρος αντικειμένων χρησιμοποιεί προθέματα κλειδιών ανά λογαριασμό (π.χ. capture-results/{account-id}/{job-id}.zip) και η διαδρομή αιτήματος επικυρώνεται έναντι της πιστοποιημένης συνεδρίας πριν το αρχείο υπογραφεί για λήψη. Άμεσα URLs R2 δεν εκτίθενται.
4. Δίκτυο & υποδομή
- Edge: Cloudflare μπροστά από όλη την κίνηση παραγωγής. Κανόνες WAF μπλοκάρουν γνωστά μοτίβα επίθεσης (SQLi, path traversal, κοινά bot signatures).
- DDoS: το δίκτυο anycast της Cloudflare απορροφά επιθέσεις όγκου στο edge πριν φτάσουν στην προέλευσή μας.
- Origin: ο ai-server τρέχει σε Google Cloud Run με ιδιωτική δικτύωση· μόνο το υπογεγραμμένο HMAC callback του Worker μπορεί να φτάσει στο εσωτερικό endpoint ολοκλήρωσης εργασιών.
- DNS: διαχειριζόμενο από Cloudflare, με ενεργοποιημένο DNSSEC.
5. Καταγραφή & παρακολούθηση
- Audit log: συνδέσεις, αλλαγές κωδικού, αλλαγές email, διαγραφές λογαριασμών, και εργασίες capture καταγράφονται με χρονοσήμανση, IP και user agent. Μπορείς να ζητήσεις αντίγραφο του audit log σου μέσω του endpoint εξαγωγής δεδομένων GDPR.
- Παρακολούθηση σφαλμάτων: server-side σφάλματα καταγράφονται (Sentry)· payload δεδομένα πελάτη καθαρίζονται από αναφορές σφαλμάτων πριν τη μετάδοση.
- Διατήρηση: 90 ημέρες για sign-in fingerprint logs· τα αρχεία εργασιών capture ακολουθούν τη διαμορφωμένη πολιτική διατήρησης (προεπιλογή 10 χρόνια· εύρος 6–30 χρόνια ανά προεπιλογή χώρας) εκτός αν ζητήσεις νωρίτερη διαγραφή.
6. Αντιμετώπιση παραβιάσεων
Αν εντοπίσουμε ή ειδοποιηθούμε για παραβίαση ασφαλείας που επηρεάζει τα δεδομένα σου, θα σε ειδοποιήσουμε εντός 72 ωρών σύμφωνα με το Άρθρο 33 του GDPR. Η ειδοποίηση θα περιλαμβάνει:
- Τι συνέβη: βασική αιτία όσο γνωρίζουμε
- Ποια δεδομένα επηρεάστηκαν: συγκεκριμένο εύρος, όχι αόριστες γενικότητες
- Τι κάναμε: άμεσος περιορισμός και αποκατάσταση
- Τι πρέπει να κάνεις: συγκεκριμένα βήματα (αλλαγή κωδικού, παρακολούθηση κατάχρησης, ειδοποίηση πελάτη αν ισχύει)
Επίσης θα αναφέρουμε στον Επίτροπο Προστασίας Δεδομένων Κύπρου όπου απαιτείται. Post-mortem δημοσιεύεται αν η παραβίαση επηρέασε περισσότερους από μια χούφτα λογαριασμούς.
7. Αναφορά ευπαθειών
Αν εντοπίσεις ζήτημα ασφαλείας, θέλουμε να μας πεις πριν γίνει παραβίαση. Στείλε email στο security@pileform.com με τις λεπτομέρειες. Θα απαντήσουμε εντός 2 εργάσιμων ημερών, θα διορθώσουμε κρίσιμα ζητήματα εντός 7 ημερών, και θα αναγνωρίσουμε δημόσια τον αναφέροντα (με την άδειά του) μόλις λυθεί το ζήτημα.
Safe-harbour: καλόπιστη έρευνα ασφαλείας δεν επιφέρει νομικές ενέργειες από εμάς. Μην προσπελαύνεις δεδομένα άλλων λογαριασμών, μην διαταράσσεις την υπηρεσία, μην απαιτείς πληρωμή ως προϋπόθεση αποκάλυψης, και μην δημοσιεύεις το ζήτημα πριν προλάβουμε να το διορθώσουμε.
8. Συμμόρφωση
- GDPR: συμμορφωμένοι. Η Συμφωνία Επεξεργασίας Δεδομένων μας είναι δημοσιευμένη πλήρως, δεν χρειάζεται email.
- Διατήρηση φορολογικών αρχείων: προεπιλογή 10 χρόνια σε όλο το σύστημα, διαμορφώσιμη 6–30 χρόνια με προεπιλογές χώρας (Κύπρος / ΗΒ / Ιρλανδία / Μάλτα / Ισπανία / Ελλάδα 6 χρόνια, Ολλανδία 7, Γερμανία / Γαλλία / Ιταλία / Λίβανος 10) ώστε να καλύπτει τον αυστηρότερο ισχύοντα νόμο. Ρυθμίσεις → Δεδομένα & εξαγωγές.
- Αλλαγές υπεργολάβων: ενημερώνονται στους ενεργούς πελάτες 30 ημέρες πριν τεθούν σε ισχύ, σύμφωνα με το Άρθρο 28.
- SOC 2 / ISO 27001: δεν είμαστε ακόμη πιστοποιημένοι. Ακολουθούμε εσωτερικά τις ίδιες οικογένειες ελέγχων· η επίσημη πιστοποίηση είναι στο roadmap μόλις η πελατειακή βάση δικαιολογήσει το κόστος του ελέγχου.
9. Τι ελέγχεις εσύ
- Αλλαγή κωδικού: διαθέσιμη από τη σελίδα του λογαριασμού σου οποτεδήποτε.
- Ανάκληση συνεδρίας: η αποσύνδεση ανακαλεί απομακρυσμένα την cookie συνεδρίας· πρόσφατα αλλαγμένος κωδικός ακυρώνει αυτόματα τις άλλες συνεδρίες.
- Διαγραφή δεδομένων: μπορείς να ζητήσεις άμεση διαγραφή οποιασδήποτε εργασίας capture, ή πλήρη διαγραφή λογαριασμού. Τιμούμε και τα δύο εντός 30 ημερών εκτός αν είμαστε νομικά υποχρεωμένοι να διατηρήσουμε (π.χ. ενεργός φορολογικός έλεγχος).
- Εξαγωγή δεδομένων: το endpoint φορητότητας GDPR επιστρέφει JSON dump όλων όσων κρατάμε για τον λογαριασμό σου. Χωρίς χρέωση, χωρίς ερωτήσεις.
Ερωτήσεις; contact@pileform.com. Ευπάθειες; security@pileform.com. Και τα δύο πάνε σε πραγματικούς ανθρώπους.