Privacy Policy

Effective date: August 16, 2026

Summary

There are no accounts here, and nothing you do is tied to an identity. What reaches our server depends on which of the three Spick Me products you use, and the difference is worth stating plainly rather than averaging out:

  • The phone app is designed to work offline. Journey planning, saved journeys, favourite stations, recent searches, and downloaded timetable files stay on your device unless you choose to sync relevant data to a paired watch or create an optional short link. The app otherwise connects to the server only to check for and download timetable data, for optional live-data and train-formation features, and — only when you choose to send it — to deliver feedback.
  • The desktop app (macOS, Windows, Linux) works the same way and asks for even less: it has no access to your location at all.
  • The web planner at /plan cannot work that way: it has no timetable of its own, so the searches themselves are sent to our server to be answered, and if you ask it to find stops near you, the position your browser reports is sent too. Your settings and recent searches are kept by your own browser and are not sent anywhere.

The server keeps standard operational logs for all of these requests.

Who Is Responsible

Spick Me is a private, non-commercial project operated jointly by Gian Calgeer and Jörg Schenker from Zurich, Switzerland, who are together the controllers for the data processing described in this policy. The Swiss Federal Act on Data Protection (FADP) applies, as does the EU General Data Protection Regulation (GDPR) where its territorial scope is met. For any privacy matter, contact unfreqapp@gmail.com.

The Spick Me server is hosted in Germany by netcup. Server data is therefore stored in Germany. The controllers operate from Switzerland; both Switzerland and the European Economic Area are recognised as providing adequate protection for transfers in the relevant direction. Privacy email is handled through Google, and optional watch synchronisation uses Google Play services. Google may process information in other countries under the safeguards described in its privacy documentation.

Information The Phone App Uses

  • Location, optional: if you grant location permission, the app uses your device's last known location to suggest nearby public transport stops. Location is processed on your device against the downloaded timetable. The app does not send your location to the Spick Me server.
  • Journey and station data: searches, saved journeys, favourite stations, recent searches, and downloaded timetable files are stored locally in the app's private storage. Travel data and short-link revocation credentials are excluded from Android cloud backup and device-transfer backup.
  • Watch sync data, optional: when a paired Wear OS watch is used, the phone app can send saved journeys and nearby departure details to the watch using Google Play services Wearable Data Layer.
  • Timetable download requests: when the app checks for updates or downloads a timetable, the server receives the network request needed to provide `index.json` and `.unfreq` timetable files.

The Desktop App

The desktop app for macOS, Windows and Linux downloads a timetable and then does the work on your own computer. It asks for no permissions, and it has no access to your location by any means — not the operating system's, and not an estimate from your IP address. Its "nearby departures" view centres on a station you pick yourself, and the coordinates it uses to find neighbouring stops come out of the timetable file you downloaded.

Searches are computed on your computer and are never sent anywhere. What the desktop app does send:

  • A list of available timetables, requested from our server when the app starts, so it can tell you whether a newer one exists. This is a plain request for a file listing; it carries nothing about you beyond the request itself. Downloading a timetable is then your choice.
  • Live delays, only if you switch them on. This is off by default. With it on, the app asks the server about the specific services shown on screen — not about you, and not about your search.
  • Train formation, only when you open the coach view for a service, and only while live data is switched on. That request names the train and the day.
  • Feedback, only when you send it: your message, an optional subject and email address, and — so a report can be acted on — which part of the app it came from, the app version, the platform (macOS, Windows or Linux), the operating system, and the time. Any screenshots you attach yourself go with it. Nothing is sent automatically, and there is no crash or usage reporting of any kind.

Everything else stays on your computer: downloaded timetables, your settings, saved journeys, favourites and recent searches. They live in a folder in your user profile — %APPDATA%\spickme on Windows, ~/.local/share/spickme on Linux and macOS — and deleting that folder removes all of it. There are no accounts, no analytics, and no tracking.

The Web Planner

The planner in your browser holds no timetable, so it asks the server the questions the app answers on your phone. While you use it, the following is sent to our server:

  • Your search: the departure and destination stop, the date and time you asked about, and whether you asked to depart or to arrive by then. This is what the server needs in order to compute a connection at all.
  • What you type into a stop field, as you type it, so the server can suggest matching stops.
  • Your position, only if you ask for it. Selecting "near me" makes your browser ask for permission; if you grant it, the coordinates it returns are sent to the server to find the closest stops. Decline and everything else keeps working. Your browser is what asks, and you can withdraw the permission there at any time.
  • The station you open a departure board for, to fill that board.
  • Live delays and train formation: the identifiers of the specific services shown, so the server can look up their current delays and, if you open the panel, which coaches are running.

No search, position, suggestion query or departure board is written to a database or associated with an account. Planner journey answers may remain temporarily in a bounded 256-entry in-memory performance cache until eviction or server restart. Request bodies are not logged. Planner state in the browser URL is stored after the # fragment and is therefore not sent in the HTTP request. The ordinary server log records the IP address, time, method, status, response size and user agent, but omits the request target and referrer.

What The Web Planner Keeps In Your Browser

To be useful on a second visit the site stores a small amount of data in your browser's local storage, on your device. It is available to same-origin site code but is not transmitted to our server:

  • your recent searches, and stops you mark as favourites;
  • your home and work stops, if you set them;
  • journeys you save;
  • your language and light/dark preference.
  • the landing page's most recent route, and game preferences or progress if you use the game.

These are functional: they exist to do what you asked the planner to do, and there is no analytics, advertising, tracking or profiling storage of any kind — no third-party scripts run on the page at all. Under Swiss law (Art. 45c of the Telecommunications Act) we tell you this is happening and you may refuse it: block or clear site data for this site in your browser settings, or use a private window. The planner then simply forgets you between visits and otherwise works normally.

Feedback You Send

The app includes an optional feedback form. If you choose to send feedback, the following is transmitted to and stored on the Spick Me server:

  • Your message, plus an optional subject and an optional email address if you fill them in. Provide an email address only if you would like a reply.
  • Technical context added by the app or request: which screen the feedback was sent from, the app version, the platform, operating-system version and SDK level, device manufacturer and model, submission time, and HTTP user agent.

This information is used solely to understand and act on your feedback, improve the app, and reply to you if you provided an email address. It is not used for advertising or profiling. Feedback is sent only when you tap Send — never automatically. The feedback database does not store your IP address; the network request itself appears in the standard server logs described below, like any other request.

Optional Short Links

A normal shared journey is kept after the # in a long URL and never reaches our server. If you explicitly enable short links, the encoded journey payload, a random slug, and creation and expiry times are stored on the server for up to 365 days. Anyone who possesses the short link can open it. The app receives a private revocation token, stores it only on your device, and lets you revoke the link in Settings. The server stores only a hash of that token. Clearing app data or uninstalling the app loses the ability to revoke links early; they still expire automatically.

Server Logs

The Spick Me timetable server uses nginx and writes access and error logs. Access logs include IP address, request time, HTTP method and status, bytes sent, and user agent; they omit the request target and referrer. Error logs may include the request context needed to diagnose a failure. These logs are used to operate the service, troubleshoot downloads, prevent abuse, and keep the service secure.

Two further logs are written purely to count things, and each carries less than the standard log above, not more: one records a timestamp, a status and a content type for every request, so the number of requests and pages per day can be shown; the other records a timestamp, a status and the file name for downloads of the app, so we can see how often each platform's release is downloaded. Neither contains an IP address, a user agent or a referrer, and neither can be tied to a person.

Server logs are not used to profile users, are not sold, and are not used for advertising. Container access and error logs are bounded to three files of 10 MiB per service. Aggregate traffic, download and planner-search counts contain no IP address or user identifier and keep at most 400 dated daily entries.

How Information Is Shared

Spick Me does not sell personal information.

The phone and desktop apps do not send your searches, saved journeys, favourites, recent searches, or location to the Spick Me timetable server, except that choosing an optional short link sends that one encoded journey as described above. The web planner necessarily sends searches, and sends your position if you ask it to find nearby stops — see "The Web Planner" above; neither is stored persistently as a search history.

Feedback you send is stored on the Spick Me server and is accessible only to the project maintainers. If chat notifications are enabled, the configured Matrix homeserver receives only a generic "New feedback" notice and a link containing the report number; opening the report still requires authentication to the ops dashboard. The message, email address, technical metadata and screenshots are never sent to Matrix.

If you use watch features, relevant journey or nearby departure data is shared from your phone to your paired watch through Google Play services. Google Play services is provided by Google and may process data as described in Google's privacy policy.

Retention And Deletion

Local app data remains on your device until you delete it in the app where controls are available, clear the app's storage, or uninstall the app. You can revoke location permission at any time in Android settings; the desktop app never asks for one. On the desktop, deleting the data folder named under "The Desktop App" removes everything the app keeps.

What the web planner keeps in your browser stays there until you clear site data for this site, or use a private window that discards it when you close it. Location permission for the site is granted and withdrawn in your browser, not by us.

Access and error logs are retained only within the bounded rotation described above. To request deletion of entries that may relate to you, contact the project with the approximate date, time, and IP address of the request.

Feedback submissions and screenshots are automatically deleted no later than 365 days after receipt and may be deleted earlier when no longer needed. To request earlier deletion, contact the address below with the approximate submission date and, if you provided one, the email address you used. Short links expire after 365 days and are physically purged by automated maintenance; the creating app can revoke newer links earlier.

Purposes And Legal Bases

  • Requested service, Article 6(1)(b) GDPR: delivering downloads, answering web-planner, live-data and formation requests, synchronising a paired watch, and creating an optional short link when you ask for one.
  • Legitimate interests, Article 6(1)(f) GDPR: limited operational logs, rate limiting, security, troubleshooting, aggregate service statistics, and handling feedback. The interests are keeping a small public service reliable and secure and improving it without behavioural tracking.
  • Consent, Article 6(1)(a) GDPR where required: optional device or browser location. Permission can be refused or withdrawn in system or browser settings without affecting other features.

No information is required by law. Without location permission, "near me" is unavailable; without browser storage, preferences are forgotten; without an email address, we cannot reply to feedback; and without short-link storage, the private long link remains available.

Your Rights

Where the GDPR applies, you may request access, correction, deletion, restriction, and portability where applicable; object to processing based on legitimate interests; and withdraw consent without affecting earlier lawful processing. You may complain to the Swiss Federal Data Protection and Information Commissioner or, where applicable, the data-protection authority in your EU or EEA country.

Send a request to unfreqapp@gmail.com. Include enough information to locate the record, such as the feedback date and email address or the log date, time and IP address. We may request proportionate verification, normally respond within one month, and ordinarily charge no fee. Because there are no accounts, we cannot identify device-only data or server records without a usable identifier.

Automated Decisions

Spick Me does not use personal data for profiling or automated decisions that produce legal or similarly significant effects.

Security

Timetable downloads and feedback submissions are made over HTTPS from and to `https://spickme.ch`. Downloaded timetable files are verified against checksums advertised by the server before they are installed. Local app data is stored in Android app-private storage. Stored feedback is accessible only through an authenticated, rate-limited administration interface.

Children

Spick Me is not directed to children under 13. The app does not knowingly collect personal information from children.

Changes

This policy may be updated when the app's data practices change. The effective date at the top of this page will be updated when changes are published.

Contact

For privacy questions or deletion requests, contact the project at unfreqapp@gmail.com.

This policy applies to the Spick Me Android and Wear OS apps, the Spick Me desktop app for macOS, Windows and Linux, the Spick Me web planner, the Spick Me timetable download service, the live-data and train-formation services, and the Spick Me feedback service. See also the Terms of Use and the Legal Notice.