Plan&Ride privacy policy
Effective 28 September 2026. Updated the same day: web version (section 8). Updated 29 September 2026: location in the background (section 3), timetables from our server (section 2). Updated 9 October 2026: sharing a bus with someone by a code (section 3a), the bus map (section 2).
Plan&Ride is a free, open-source transit app for Slovakia, for Android. It is developed by Michal Karafa and Michal Jablonský (ksjd), who are jointly responsible for the data described here. Contact: [email protected].
Plan&Ride is an unofficial app. It is not made by, or affiliated with, any transport operator.
This policy covers the Android app and the web version for iPhone (see section 8 for how the web version differs). The short version:
- Your account password is stored only on your device, and your location leaves it only if you share your bus by a code with someone and accept them (section 3a). (The web version passes the password through our server to sign you in, without keeping it.)
- Plan&Ride shows no ads, and nobody gets your data to sell or advertise.
- Anything sent to us (bug reports, suggestions, help with bus positions) is sent only when you choose to.
What the app sends, and where
1. Your sadzv.qrbus.me account (optional)
You can use Plan&Ride without an account. If you add your sadzv.qrbus.me account to show your ticket:
- Your email and password are stored only on your phone. The password is encrypted with a key kept in the phone's secure hardware (Android Keystore).
- The app sends them only to sadzv.qrbus.me, to sign you in. From there it loads your ticket code, cards, credit, validity dates and ticket history, the same as the operator's website shows you.
- The last account details are kept on the phone so the app works offline. They are protected by your PIN or fingerprint.
- We never receive your password or account data.
- Adding credit (Account → Add credit): sadzv.qrbus.me creates the order and you pay on the operator's payment gateway (GP webpay), exactly as on its website. The money goes straight to SAD Zvolen. Plan&Ride only opens the gateway: it does not receive the payment, takes no fee and never sees or stores your card details.
- Settings → Remove account from this phone deletes the email, password, PIN and stored account details.
sadzv.qrbus.me handles this data under its own privacy policy.
2. Timetables and live departures
For live departures and bus positions the app loads public data directly from sadzv.qrbus.me. Connections, stop searches, other carriers' departures and bus stop lists come from our server (emhub), which builds them from the timetables the carriers publish. Both receive what you search for (stop names, from and to, date and time) and your IP address, as with any website. Our server keeps no record of your searches beyond its short-lived access logs (see Where our server runs). No account is involved.
The bus map shows map pictures from OpenStreetMap (tile.openstreetmap.org), which receives your IP address and which part of the map is shown, under the OpenStreetMap Foundation's privacy policy. Your location is shown on the map on your phone only.
3. Your location
Location is optional. It is used only on your phone, for:
- stops near you, when you tap Find stops near me;
- Will I catch it?: the walk from where you are to the stop of a bus you follow;
- Automatic help with bus positions (see 4): working out where on the route the bus you are riding is.
Your location is never sent to us or anyone else, except when you share your bus by a code (section 3a). While you follow a bus, the app checks your location only every 1 to 3 minutes on the way to the stop. Continuous GPS runs only at the stop, from a few minutes before the bus comes, or while you ride.
Location in the background. Plan&Ride collects location data to show Will I catch it? and to mark where the bus is in Automatic mode, even when the app is closed or not in use, but only while you follow a bus. A notification is shown the whole time. When following ends, so does location access. With Android's Allow all the time permission, this also works for regular rides that start following by themselves. Without it, background location works only for buses you start following yourself. You can change the permission in Android settings at any time. This location data stays on your phone and is never sent or shared, except when you share your bus by a code (section 3a).
3a. Sharing a bus by a code (optional)
You can share a bus you follow with someone, for example family. Our server (emhub) makes a one-time 6-digit code (valid 10 minutes, usable once) that you tell them. They enter it with their name, which the app fills in from their SAD Zvolen or IDS BBSK account (they can change it). You see the name and choose to accept or decline. Only after you accept:
- they receive the bus (line, trip, day and the stops where you get on and off);
- while you follow it, your phone sends your position (latitude, longitude, accuracy) through our server to them, at most every 20 seconds, so they see where you are on the bus's map;
- they can choose to send theirs back to you the same way (a switch on their map).
The server keeps each share in memory only: the code, the name, the bus and the last position of each side, which is replaced by the next one and shown only for 5 minutes. Nothing of it is written to disk. Sharing ends when you stop following (or decline, or the other side leaves), and the share is deleted at the latest 6 hours after it was made. Sharing a bus as a link instead sends only the bus, never your position or name.
4. Help with bus positions (optional, off by default)
Many buses don't report where they are, so riders can help. You can choose Buttons (tap Bus is here) or Automatic in Settings → Community and location. Plan&Ride then sends our server (emhub):
- which bus: line, trip identifier and date, or line, first stop and departure time;
- which stop it is at or has passed, and the timetable time there;
- a random identifier that is new for every bus you follow;
- that the report comes from Android.
The server records when each report arrives. It never receives your location or anything linked to you or your account. Reports from all riders are combined into the current delay of a bus, and into how late that trip usually runs. We keep them for that purpose.
5. Bug reports and feature suggestions (optional)
When you send a bug report or a suggestion from Settings, and only after you tick the consent box, our server receives:
- what you wrote, and the category;
- your name and email, if you enter them;
- your device model, Android version and app version;
- for bug reports only, if you leave Attach app logs on: recent log lines from this app and the last crash. Passwords, tokens and other long secrets are removed before sending. You can view the logs before you send them.
- screenshots or photos you choose to attach (up to 5). They are made smaller and re-saved before sending, which removes their location and other photo details, and only the developers can see them.
We use this to fix the problem or consider the idea, and to reply if you left an email. You get a confirmation email, and replies about your report. We keep reports while we work on them. Write to us to have yours deleted.
6. Usage statistics (Google Firebase Analytics)
To see which features are used and where the app can improve, Plan&Ride uses Google Firebase Analytics. It collects:
- how the app is used: app opens, sessions, updates, and time in the app;
- an app-instance identifier created for Firebase;
- device model, Android version, language, app version;
- your country or region, estimated from your IP address. Google does not store the IP address itself.
Firebase Analytics in Plan&Ride:
- does not use your advertising ID;
- receives no account data, no location and no content you enter.
Google processes this data for us under the Google Privacy Policy and the Firebase data processing terms. Google keeps it for the retention period set in our Analytics settings.
You can turn this off at any time: Settings → Usage statistics.
7. Notifications, alarms and the phone
Everything else stays on the phone:
- saved journeys, regular rides, favourite stops;
- settings, PIN (stored only as a salted slow hash);
- reminders, and follow notifications.
App data is excluded from Android cloud backups and device transfers.
8. The web version (for iPhone)
The web version runs in your browser, added to the Home Screen. It works the same way as the Android app, with these differences:
- Signing in goes through our web server. A browser can't sign in to sadzv.qrbus.me directly, so our web server passes your email and password on to sadzv.qrbus.me and keeps the resulting session in its memory for up to 6 hours, to load your ticket code. It does not store your password. On your device, the password is stored only encrypted with your PIN, in the browser's storage.
- Timetables and live departures are loaded through our web server too (it asks sadzv.qrbus.me and cp.sk for you).
- Alerts for a bus you follow: if you turn them on, our web server keeps the bus, your stops, your language and your browser's notification address (issued by Apple, Google or Mozilla's push service) until the bus arrives, for at most 3 hours.
- Regular rides: our web server keeps your rides (stops, times, days and dates, how early to start) with your browser's notification address, so it can find your bus and notify you while the app is closed. They stay until you delete them; deleting all of them removes the entry.
- Bug reports and suggestions are passed on to emhub by our web server, with your browser's details instead of a device model.
- The web version uses no usage statistics (no Firebase Analytics).
- Your location is used only in the browser and is never sent, as in the app, except when you share your bus by a code (section 3a; only while the web version is open).
Where our server runs
Our servers (emhub, and the web server of the web version) run on servers operated by the developers. It is reached through Cloudflare, which carries the connection (encrypted with HTTPS) and sees IP addresses as part of that. The server's logs, which include IP addresses, are used only for security and troubleshooting, and are kept for a limited time.
All connections from the app use HTTPS.
Legal basis (GDPR)
- Your consent: bug reports and suggestions, and help with bus positions. You can withdraw it at any time. Stop sending, or switch the feature off.
- Our legitimate interest in keeping the app working and improving it: anonymous usage statistics, which you can switch off, and security logs.
- Your account is used only on your device (and, in the web version, passed through our web server to sign in), to provide the service you ask for.
- Providing the service you ask for: alerts and regular rides in the web version, which you can delete at any time.
Your rights
You have the right to:
- see what we hold about you, have it corrected or deleted, and restrict or object to its use;
- get your data in a portable form;
- withdraw consent.
Write to [email protected]. As we don't know who sent a report without an email, tell us the report code (for example EM-0042) or what you wrote. You can also complain to the Slovak data protection authority, the Úrad na ochranu osobných údajov SR.
Children
Plan&Ride is a general transit app, not aimed at children under 13. We don't knowingly collect their personal data.
Changes
If this policy changes, the new version is published here with a new effective date. Important changes are also mentioned in the app's What's new.