কার্যকর: 15 October 2026
এই নথিটি আপাতত শুধু ইংরেজিতে পাওয়া যায়।
This Privacy Policy explains what information TrainJatra handles when you use the TrainJatra Android app and this website (together, the “Service”), why we handle it, how long we keep it, and the choices you have.
The short version: you can browse trains, stations and timetables without an account and without giving us your location. We collect your precise location only if you choose to share a journey, only while that sharing is on, and only to work out where the train is. If you ask for a train alert, we do not use your location for it: the alert is about the train, not about you.
1. Who we are
TrainJatra is an independent, unofficial train information service for rail passengers in Bangladesh. It is not operated by, affiliated with, endorsed by or connected to Bangladesh Railway, the Ministry of Railways or any other government body.
For anything in this policy, contact us at [email protected].
2. Using TrainJatra without an account
TrainJatra has no sign-up and no login. We do not ask for your name, email address, phone number, national ID or payment details, and the Service does not sell tickets.
Looking up trains, live status, stations and timetables sends ordinary web requests to our servers. Those requests are not tied to a profile of you.
3. Journey location sharing (Android app only)
TrainJatra shows where trains are by combining location reports from passengers who are on board and choose to help. Sharing is always optional, and everything else in the app works without it.
Sharing starts only when you turn it on from a train’s page and accept the in-app disclosure. Android then asks for the location and notification permissions. Nothing is collected before that, and the app never starts sharing by itself.
While sharing is on, the app sends us, roughly every 15 to 30 seconds:
- your device’s precise location (latitude and longitude) and its accuracy;
- speed and direction of travel, where your device provides them;
- the time of each reading;
- whether the reading came from a mock-location tool, so false positions can be rejected;
- the train you are sharing for and, if you chose them, the stations where you boarded and will get off.
Sharing continues when you close the app or turn the screen off, using an Android foreground service. A notification is shown for the whole time, so you can always see that sharing is on. TrainJatra does not request Android’s “allow all the time” background location permission.
Sharing stops when you tap Stop sharing, when you reach the station you chose, when we detect that you have left the train, when the train’s journey ends or is cancelled, or after a safety limit of at most 24 hours, whichever comes first. Removing the location permission also stops it.
4. Device key and sharing sessions
To keep fake or repeated reports out, the app creates a cryptographic key in your phone’s secure hardware (Android Keystore) the first time you share, and uses it to sign what it sends. The private key never leaves your device.
On our servers we store only a one-way, keyed hash derived from the public key, not the key itself. This is a pseudonymous identifier: it lets us recognise that reports come from the same installation and count independent passengers, but it does not contain your name, phone number, Google account or advertising ID, and we do not try to work out who you are from it.
Each time you share we also keep a session record: that pseudonymous identifier, the train, when sharing started and ended and why, the stations you chose, and counts of accepted reports. A session record contains no location history.
5. Usage analytics (Android app)
The Android app uses Google’s Firebase Analytics to learn which screens are used and how often, so we can fix problems and improve TrainJatra. It is part of how the app runs, and the app has no switch to turn it off. If you object to it, write to us at the address in section 18, or stop using the app.
While it is on, Firebase receives a random identifier created for this installation of the app, the names of the screens you open, simple events such as being offered an app update, and technical details such as app version, device model, Android version, language and the approximate region Google infers from your IP address.
It never receives your precise location, the trains you share a journey for, or your name, phone number or email address, and it is kept separate from location reports and the device key described above. We turn off Google’s advertising ID and ad personalisation for the app, and we do not use analytics for advertising.
Google keeps this data for the period set in our Firebase project and handles it under its own privacy policy. Uninstalling the app stops it from sending anything further.
6. Train alerts (Android app)
On a train’s page you can ask to be alerted about one station: when the train is within 10 km of it, within 5 km of it, has reached it, or has left it. Alerts are optional, you choose each one yourself, and nothing is sent to you unless you do.
To show alerts, Android asks for the notification permission (from Android 13; on older versions notifications are on unless you turned them off in settings). You can say no, and everything else in the app still works.
How it works: when you pick a station and an alert, the app asks Google’s Firebase Cloud Messaging (FCM) to put your installation on a topic named after that train’s journey, the station, the kind of alert and your language. When the train reaches that point we send one message to the topic and Google delivers it to every phone on it. We do not receive or store your FCM registration token or any other identifier of your device, and we do not know which phones are on a topic or how many.
Google assigns each installation a Firebase installation ID and an FCM token to deliver messages, and handles them under its own privacy policy (see section 12). Alerts use no location from your phone: they are worked out from the train’s own position, which comes from passengers on board.
On our side we note only that the alert for a station of a train’s journey was sent, so it is not sent twice. That note expires after 48 hours and has nothing about the people who asked for it.
The alerts you have set are kept on your phone so the app can show them and turn them off. An alert is no longer sent once the train’s journey has ended, and you can switch it off from the bell on the train’s page or by turning off notifications for TrainJatra in Android settings.
7. How we use this information
- To calculate each train’s live position, speed, delay and expected arrival times, and to record when it arrives at and leaves stations.
- To check that reports are plausible and come from people really on the train, and to prevent abuse, spam and false positions.
- To send you the train alerts you asked for.
- To keep the Service secure and running, and to fix faults.
- To understand in aggregate how reliable our live tracking is.
We do not use your location for advertising, we do not build a profile of your movements, and we do not sell your information.
8. What other people can see
Other users see the train: its position on the route, speed, delay and how recently it was confirmed. They never see who shared, how many journeys you have shared, or any identifier of you or your device.
Please understand how that position is produced. It is calculated from the reports of passengers on board, and at a given moment it can be the same as, or very close to, the location one passenger’s phone reported. It is published as the train’s position, without anything that says which passenger it came from.
9. How long we keep it
- Location reports are deleted automatically 30 days after we receive them.
- The train’s own record (its positions, delays, and station arrival and departure times) is kept as service history. It describes the train, not you.
- Session records, and the record that a pseudonymous identifier helped confirm a station arrival or departure, are kept with the train’s record for fraud prevention and service integrity. They contain no location history.
- The note that an alert for a station was sent expires by itself after 48 hours. It has nothing about the people who asked for the alert.
- Short-lived security data, such as rate-limit counters, expires within hours.
10. What is stored on your device
The Android app keeps your settings (theme, language, time format), the train alerts you have set, the current sharing session and any location readings waiting to be sent while you are offline. Waiting readings are sent when the connection returns or discarded when they are too old. Uninstalling the app removes all of it, including the device key.
This website stores three preference cookies (theme, language and time format) for up to one year. They hold only your choices. On an Android phone it also keeps one note in your browser’s local storage that you have seen the offer of the Android app, so the offer is not shown again. We do not use advertising or cross-site tracking cookies.
11. Technical data
As with any online service, our servers and network providers process the IP address, date and time, requested page and browser or app version of each request. We use this to deliver the Service, limit abusive traffic and investigate faults, and keep it only for a limited period.
12. Service providers and third-party services
We do not sell or rent your information, and we do not share your location reports with advertisers or data brokers. The Service relies on the following providers, each of which handles data under its own terms and privacy policy:
- Cloudflare: network delivery and protection against attacks for our website and API. It processes request data such as IP addresses and may set cookies needed for security.
- Google Maps SDK for Android: displays station maps inside the app. Google may collect device and usage information as described in Google’s Privacy Policy.
- Google Play services: provides the device location to the app when you share a journey. Google Play also tells the app when a newer version is available, so it can offer you the update.
- Firebase Analytics (Google): receives the usage data described in section 5.
- Firebase Cloud Messaging (Google): delivers the train alerts you ask for, as described in section 6. Google handles the installation ID and token it needs for that under its own privacy policy.
- Google Fonts: supplies the fonts and icons on this website.
- Our hosting provider: runs the servers and database that store the data described in this policy.
We may also disclose information where the law requires it, or where it is necessary to protect the safety of people or the security of the Service.
13. Security
All traffic between the app or website and our servers is encrypted in transit (HTTPS). Reports are signed by your device, identifiers are stored as keyed hashes, and access to our systems is restricted. No system can be guaranteed perfectly secure, but we work to protect the information we hold.
14. Your choices
- Do not share: every feature except contributing a train’s position works without location.
- Stop at any time: tap Stop sharing in the app or in its notification.
- Turn off an alert: open the bell on the train’s page and switch the station’s alert off.
- Withdraw permission: turn off location or notifications for TrainJatra in Android settings.
- Clear the device: uninstalling the app deletes its data and its device key.
15. Requesting deletion of your data
Location reports are deleted automatically after 30 days, so in most cases you do not need to do anything.
If you want reports removed sooner, email [email protected] with the subject “Data deletion request” and tell us the train name or number, the date, and roughly when you started and stopped sharing. Because we never collect your name, email or phone number, these details are how we find the reports. We will delete the matching reports we can identify and reply within 30 days.
You may also ask what information we hold in connection with a journey you shared, or ask us to correct it, by writing to the same address.
16. Children
TrainJatra is intended for people aged 18 and over and is not directed at children. We do not knowingly collect personal information from children. If you believe a child has shared location through the app, contact us and we will delete it.
17. Changes to this policy
We may update this policy when the Service or the law changes. The date at the top shows when it last changed. If a change affects how your location is used, we will also show it in the app before you next share a journey.
18. Contact
Questions, requests or complaints about privacy: [email protected].