Privacy Policy
Last updated: 11 October 2026.
This policy explains what information ljbus.cc handles when you use the website, the LjBus mobile app and the ljbus connector for AI assistants (ChatGPT, Claude), why, and for how long. ljbus.cc is an independent, unofficial service for LPP bus arrivals in Ljubljana and is not affiliated with LPP.
ljbus.cc is operated by Temno Modro d.o.o., Savska cesta 14, 1000 Ljubljana, Slovenia (“we”, “us”), the controller of the data described here. Contact: support at ljbus dot cc.
Website (ljbus.cc)
- Favourites: when you star a stop or line, the site creates a random identifier, keeps it in a first-party cookie (renewed on every visit, kept up to about 400 days) and saves your favourite stops/lines under it on our server. Your browser also keeps a copy of your favourites in its local storage, so they can be restored if the cookie is lost. Neither is linked to your name or any account. Clearing your cookies and site data resets them.
- Session cookie: one first-party cookie (kept up to about 300 days) links your browser to a session stored on our server. The session holds only your last location, if you shared it, and a copy of your favourites identifier. Clearing your cookies resets it.
- Location: only if you allow your browser to share it (e.g. for “nearest stops”). We keep the coordinates in your session to sort stops by distance; locations outside Slovenia are replaced by central Ljubljana and not stored.
- Analytics: we use our own self-hosted analytics, which records page views, referrer and campaign (UTM) tags, browser and device type, approximate location (city level) derived from the IP address, and a pseudonymous visitor identifier: a random one kept in your browser’s local storage, or a salted one-way hash of your IP address and browser. The IP address itself is not stored. We use this only to understand and improve the site.
- Advertising: the site shows ads from Google AdSense. Google and its partners may use cookies and similar technologies to show, limit and measure ads, including personalised ads where permitted. See how Google uses information from sites that use its services; you can turn off personalised ads at adssettings.google.com.
LjBus mobile app
- Favourites: the app creates a random identifier on your device and uses it to save your favourite stops on our server. It is not linked to your name, phone number or any account. Uninstalling the app discards the identifier.
- Location: if you grant location permission, the app uses your location on your device only, to sort stops by distance. It is not sent to our servers. You can deny or withdraw the permission at any time in your device settings.
- Maps: map tiles are loaded from our own map server (temnomodromaps.net), which receives your IP address and the map area being displayed, like any web request.
- Advertising: the free version shows ads from Google AdMob, which may use your device’s advertising ID. In the EU/EEA and UK the app asks for your consent through Google’s consent form, and you can change your choice later in the app’s privacy options. You can also reset your advertising ID or opt out of personalised ads in your device settings.
- Subscription: the optional subscription is handled by RevenueCat, which receives the app’s random identifier and your purchase status. Payment itself is processed by Google Play or the App Store; we never see your payment details.
- Analytics and crash reports: Google Firebase Analytics records anonymous usage statistics (such as screens viewed) and Firebase Crashlytics sends crash and error reports (stack trace, device model, OS and app version) so we can fix bugs. See Firebase privacy.
ChatGPT, Claude and other AI assistants (MCP connector)
ljbus offers a public connector at https://ljbus.cc/mcp that AI assistants such as ChatGPT and Claude
can use to look up LPP stops and live arrivals (how it works). It requires no account and no login.
- What we receive: only the inputs the assistant sends for a lookup — a stop name or stop code, optionally a line number, or latitude/longitude if you chose to share your location with the assistant — plus standard technical request data (the IP address of the assistant provider’s server, time, user agent) and a random session identifier.
- What we never receive: your conversation, your name, e-mail, account or any other information the assistant holds about you. We do not read, request or infer your chat history.
- How it is used: solely to answer the lookup. To fetch live arrivals we pass the stop code (and nothing else) to LPP’s public data service. Nothing is used for advertising, profiling, or sold or shared with anyone else.
- Retention: the session identifier expires after one hour. Routine server and application logs (which may contain the request data above) are kept for security and troubleshooting and deleted within about two months.
- Links: answers include links to ljbus.cc tagged
utm_medium=mcp. If you open one, the website’s normal analytics apply as for any other visit. - Your assistant: the conversation itself is governed by the privacy policy of the assistant you use (e.g. OpenAI for ChatGPT, Anthropic for Claude).
Who we share information with
We do not sell personal data. Information only leaves our servers in these cases: stop codes are sent to LPP’s public data service to fetch arrivals; Google receives data through AdSense, AdMob and Firebase, and RevenueCat through the app subscription, as described above; our servers are hosted by an infrastructure provider in the EU. We may disclose information if required by law.
How long we keep it
Website sessions expire after about 300 days of inactivity; favourites (website and app) are kept until you remove them. Server and application logs (IP address, time, requested page) are kept for security and troubleshooting and deleted within about two months. Analytics are kept in aggregate and pseudonymous form.
Your rights
Under the GDPR you can ask us for access to, correction or deletion of your data, or object to its processing — write to support at ljbus dot cc. As we do not know who you are, including your favourites, a stop code or the time of your visit helps us find the right data. You can also lodge a complaint with the Slovenian data protection authority, Informacijski pooblaščenec.
Children
ljbus is a general-audience service and is not directed at children under 13. We do not knowingly collect personal data from them.
Changes
We will update this page when our practices change and adjust the date at the top. Questions or concerns: support at ljbus dot cc.
