1. Who we are
1. Ποιοι είμαστε
Stasi (“we”, “the app”) is an open-source Android application for Athens public transport, published by its contributors. This policy describes how the app handles information when you use it. The app does not require an account or sign-in.
Η Stasi («εμείς», «η εφαρμογή») είναι μια εφαρμογή Android ανοιχτού κώδικα για τα μέσα της Αθήνας, που δημοσιεύεται από τους συνεισφέροντες του έργου. Η παρούσα πολιτική περιγράφει πώς η εφαρμογή χειρίζεται πληροφορίες όταν τη χρησιμοποιείτε. Η εφαρμογή δεν απαιτεί λογαριασμό ή σύνδεση.
2. Summary
2. Σύνοψη
- No ads, no analytics SDKs, and no crash-reporting services in the current app.
- We do not sell your personal data.
- Most data stays on your device (favorites, settings, cache, arrival alerts).
- Location is used only when you allow it—for nearby stops and your position on the map. We do not store a location history.
- The app contacts OASA Telematics for live transit data and map tile providers when you open the map.
- Arrival alerts are local notifications scheduled on your phone; there is no remote push server.
- Χωρίς διαφημίσεις, χωρίς SDK analytics και χωρίς υπηρεσίες αναφοράς σφαλμάτων στην τρέχουσα έκδοση.
- Δεν πουλάμε τα προσωπικά σας δεδομένα.
- Τα περισσότερα δεδομένα μένουν στη συσκευή σας (αγαπημένα, ρυθμίσεις, cache, ειδοποιήσεις άφιξης).
- Η τοποθεσία χρησιμοποιείται μόνο όταν την επιτρέπετε—για κοντινές στάσεις και τη θέση σας στον χάρτη. Δεν αποθηκεύουμε ιστορικό τοποθεσίας.
- Η εφαρμογή επικοινωνεί με την τηλεματική ΟΑΣΑ για ζωντανά δεδομένα και με παρόχους πλακιδίων χάρτη όταν ανοίγετε τον χάρτη.
- Οι ειδοποιήσεις άφιξης είναι τοπικές στη συσκευή· δεν υπάρχει διακομιστής push.
3. Data stored on your device
3. Δεδομένα που αποθηκεύονται στη συσκευή
The app may store the following locally (Android Room, DataStore, and app preferences):
Η εφαρμογή μπορεί να αποθηκεύει τοπικά τα εξής (Room, DataStore, προτιμήσεις):
- Favorite stops (stop codes, optional aliases, order).
- Settings: UI language (English/Greek), arrival-alert lead time, quiet hours.
- Recent activity: last viewed stop or route (shortcuts on Home).
- Active arrival alerts: identifiers for the stop, route, and vehicle you chose for a reminder.
- Cached transit catalog and responses (lines, stops, arrivals, timetables) to load faster and work better with poor connectivity. Cache entries expire on a schedule (for example, lines/stops up to about 24 hours; arrivals use a short freshness window).
- Αγαπημένες στάσεις (κωδικοί, προαιρετικά ψευδώνυμα, σειρά).
- Ρυθμίσεις: γλώσσα UI, χρόνος ειδοποίησης άφιξης, ώρες ησυχίας.
- Πρόσφατη δραστηριότητα: τελευταία στάση ή δρομολόγιο (συντομεύσεις στην αρχική).
- Ενεργές ειδοποιήσεις άφιξης: αναγνωριστικά στάσης, δρομολογίου και οχήματος.
- Cache δεδομένων μετακίνησης για ταχύτερη φόρτωση· με χρονικά όρια λήξης (π.χ. γραμμές/στάσεις έως ~24 ώρες, αφίξεις με σύντομο παράθυρο φρεσκάδας).
If you uninstall the app or clear its storage, this on-device data is removed unless Android backup restores it (see section 8).
Αν απεγκαταστήσετε την εφαρμογή ή διαγράψετε τα δεδομένα της, αυτά τα τοπικά δεδομένα διαγράφονται, εκτός αν το backup του Android τα επαναφέρει (βλ. ενότητα 8).
4. Location
4. Τοποθεσία
With your permission, the app uses coarse or fine location (via Google Play services location APIs on your device) to show nearby stops and your position on the route map. Location is read when those features need it; we do not maintain a trail of past GPS fixes on a server or in long-term storage for tracking purposes.
Με την άδειά σας, η εφαρμογή χρησιμοποιεί χονδρική ή ακριβή τοποθεσία (μέσω Google Play services στη συσκευή) για κοντινές στάσεις και τη θέση σας στον χάρτη. Δεν τηρούμε ιστορικό τοποθεσιών σε διακομιστή ή για παρακολούθηση.
5. Network requests and third parties
5. Δικτυακές κλήσεις και τρίτα μέρη
When you use features that need fresh data or maps, your device sends requests to:
Όταν χρησιμοποιείτε λειτουργίες που χρειάζονται δεδομένα ή χάρτη, η συσκευή στέλνει αιτήματα σε:
-
OASA Telematics (
http://telematics.oasa.gr/api/) — official Athens transit API for lines, stops, live arrivals, bus positions, and timetables. Requests use HTTP (cleartext) as required by that API. Your IP address and request parameters (e.g. stop or route codes) are visible to OASA’s infrastructure. -
Map basemap — vector map style and tiles from CARTO
(
basemaps.cartocdn.com) when you view a route map. Your IP address may be logged by that provider. - Google Play services — used on-device for location; governed by Google’s privacy policy.
-
Τηλεματική ΟΑΣΑ (
http://telematics.oasa.gr/api/) — επίσημο API για γραμμές, στάσεις, ζωντανές αφίξεις, θέσεις λεωφορείων και δρομολόγια. Οι κλήσεις γίνονται με HTTP. Η IP και οι παράμετροι (π.χ. κωδικοί στάσεων) είναι ορατές στην υποδομή της ΟΑΣΑ. -
Χάρτης — στυλ και πλακίδια από την CARTO (
basemaps.cartocdn.com) όταν βλέπετε χάρτη δρομολογίου. - Google Play services — για τοποθεσία στη συσκευή· ισχύει η πολιτική απορρήτου της Google.
We do not operate our own backend that receives your personal profile. Transit data accuracy and availability depend on OASA and third-party services; we are not affiliated with OASA.
Δεν λειτουργούμε δικό μας backend που συλλέγει προφίλ χρήστη. Η ακρίβεια των δεδομένων εξαρτάται από την ΟΑΣΑ και τρίτους· δεν συνδεόμαστε με την ΟΑΣΑ.
6. Notifications
6. Ειδοποιήσεις
If you enable an arrival alert on a live bus row, the app schedules background work on your device to poll OASA for that vehicle and show a local notification when your chosen threshold is reached. On Android 13+, you must grant the notification permission. Alerts can respect quiet hours you set in Settings. Notification content (stop name, line, minutes) is composed on the device. No marketing or remote push campaigns are sent.
Αν ενεργοποιήσετε ειδοποίηση άφιξης, η εφαρμογή προγραμματίζει εργασία στο παρασκήνιο για polling στην ΟΑΣΑ και τοπική ειδοποίηση όταν φτάσετε στο όριο λεπτών που ορίσατε. Σε Android 13+ απαιτείται άδεια ειδοποιήσεων. Ισχύουν προαιρετικές ώρες ησυχίας. Δεν αποστέλλονται διαφημιστικά ή remote push.
7. What we do not collect
7. Τι δεν συλλέγουμε
- No account, email, or phone number inside the app.
- No in-app advertising identifiers.
- No Firebase Analytics, Crashlytics, or similar telemetry in the current release.
- No selling or renting of user data to data brokers.
- Χωρίς λογαριασμό, email ή τηλέφωνο μέσα στην εφαρμογή.
- Χωρίς διαφημιστικά αναγνωριστικά.
- Χωρίς Firebase Analytics, Crashlytics ή παρόμοια τηλεμετρία στην τρέχουσα έκδοση.
- Χωρίς πώληση δεδομένων σε brokers.
8. Backup and security
8. Αντίγραφα ασφαλείας και ασφάλεια
The app manifest allows Android’s automatic backup (android:allowBackup="true").
Depending on your device and Google account settings, favorites and preferences may be included in encrypted device backups.
Keep your device updated and use a screen lock. Source code is public at
github.com/ntufar/stasi for review.
Το manifest επιτρέπει αυτόματο backup του Android (android:allowBackup="true").
Ανάλογα με τη συσκευή και τον λογαριασμό Google, αγαπημένα και προτιμήσεις μπορεί να συμπεριληφθούν σε κρυπτογραφημένα backups.
Ο κώδικας είναι δημόσιος στο
github.com/ntufar/stasi.
9. Children
9. Παιδιά
The app is a general transit utility and is not directed at children under 13. We do not knowingly collect personal information from children through a dedicated registration flow (there is no registration).
Η εφαρμογή απευθύνεται στο ευρύ κοινό και όχι ειδικά σε παιδιά κάτω των 13 ετών. Δεν συλλέγουμε εν γνώσει προσωπικά δεδομένα παιδιών μέσω εγγραφής (δεν υπάρχει εγγραφή).
10. Changes to this policy
10. Αλλαγές στην πολιτική
We may update this page when the app changes. The effective date at the top will be revised. Continued use after changes means you accept the updated policy.
Μπορούμε να ενημερώνουμε αυτή τη σελίδα όταν αλλάζει η εφαρμογή. Η ημερομηνία ισχύος θα αναθεωρείται. Η συνέχιση χρήσης μετά από αλλαγές σημαίνει αποδοχή της ενημερωμένης πολιτικής.
11. Contact
11. Επικοινωνία
Questions or requests about privacy: open an issue on GitHub or contact the maintainer through that repository.
Ερωτήσεις για το απόρρητο: ανοίξτε issue στο GitHub ή επικοινωνήστε με τον συντηρητή μέσω του αποθετηρίου.