Privacy Policy
1. Introduction
TrainLah (“we”, “us”, or “our”) is a mobile application that helps you check KTMB stations, scheduled departures, and live train information in Malaysia. This Privacy Policy explains how we handle information when you use the TrainLah app on Android, iOS, or web.
TrainLah is operated by Chin Zheng Yang, an individual developer. By using the app, you agree to the practices described in this policy.
2. Information We Collect
TrainLah does not require an account, login, or payment. We do not ask for your name, email address, phone number, or other personal identifiers inside the app.
Depending on how you use the app, the following information may be involved:
- Device location (optional): If you grant permission, the app reads your approximate or precise location while the app is in use to show nearby stations and calculate distances. Location is processed on your device and is not uploaded to our servers.
- App preferences: Your chosen theme (light, dark, or system) and language (English or Bahasa Malaysia). On web, these are stored in your browser’s local storage. On native mobile builds, they are kept in memory for the current session.
- Network requests: When you use features such as station search, timetables, live maps, or vehicle positions, your device sends standard HTTP requests to our backend to retrieve public KTMB schedule and vehicle data. These requests may include your IP address, device type, and general network information as part of normal internet communication.
- Hosting logs: Our privacy policy page and backend infrastructure may record standard server or CDN logs (such as IP address, browser or app user-agent, and request timestamps) for security and reliability. We do not use these logs to build advertising profiles.
3. How We Use Information
We use the information described above only to:
- Display nearby stations when you choose to use location features;
- Remember your theme and language preferences;
- Fetch and show public train schedules, station details, map data, and live vehicle positions;
- Operate, maintain, and protect the app and its backend services.
We do not sell your personal information, use in-app advertising SDKs, or use third-party analytics or crash-reporting SDKs in the current version of TrainLah.
4. Data Storage and Retention
- Location data used for nearby stations stays on your device and is not stored on our servers.
- Theme and language preferences persist according to your platform (browser local storage on web, or for the current app session on native).
- Our backend serves public transport data and does not maintain a user account database for TrainLah.
- Standard server logs may be retained for a limited period for operational and security purposes, then deleted or aggregated.
5. Third-Party Services
TrainLah relies on the following third parties to provide its features:
- KTMB and public transport data sources: Schedule, station, and vehicle position data obtained from publicly available GTFS, timetable, and operator feeds used to display transport information.
- Google Maps: On Android, map views may use Google Maps through the device’s map provider. Station detail screens may open Google Maps links. Google’s privacy policy applies to their services: policies.google.com/privacy.
- OpenStreetMap: Web map tiles may be loaded from OpenStreetMap contributors. See OpenStreetMap copyright.
- Vercel: This privacy policy page is hosted on Vercel. Vercel may process connection metadata when you visit this page. See Vercel’s Privacy Policy.
6. App Permissions
TrainLah may request the following permission on mobile devices:
- Location (while in use): Used only if you choose the “Nearby” stations feature. You can deny or revoke this permission at any time in your device settings. The app continues to work for other features without location access.
7. Children’s Privacy
TrainLah is a general public transport information app and is not directed at children under 13. We do not knowingly collect personal information from children. If you believe a child has provided us personal information, please contact us and we will take appropriate steps to delete it.
8. Your Choices
- Deny or revoke location permission in your device’s app settings.
- Clear app data or reinstall the app to reset locally stored preferences on native builds.
- Clear browser storage to reset preferences on the web version.
- Stop using the app at any time.
9. International Users
TrainLah is intended for users in Malaysia. If you access the app from outside Malaysia, your information may be processed in locations where our service providers operate, subject to this policy and applicable law.
10. Changes to This Policy
We may update this Privacy Policy from time to time. When we do, we will revise the “Last updated” date at the top of this page. Continued use of TrainLah after changes become effective means you accept the updated policy.
11. Contact Us
If you have questions about this Privacy Policy or TrainLah’s data practices, contact:
Chin Zheng Yang
Email: zyachin1996@gmail.com