update documentation

This commit is contained in:
2026-05-18 15:01:53 +02:00
parent 834025e560
commit 7018443b18
13 changed files with 756 additions and 725 deletions
+32 -14
View File
@@ -1,27 +1,45 @@
# Privacy Policy
## Information We Collect
TimeToLeave is designed to keep user data local where possible. The app does not include third-party analytics or advertising trackers.
We do not collect any personal information or data from users. All data is stored locally on your device.
## Data Stored Locally
## Data Usage
- Web events and reminder settings are stored in browser `localStorage`.
- Mobile events, origin station, notification settings, theme, and selected native calendars are stored in `AsyncStorage`.
- Mobile notifications are scheduled locally through Expo notifications.
- **Location Data**: We use your device's location to find nearby stations and calculate travel times. This data is only used for the app's functionality and is not stored or transmitted.
- **Calendar Data**: If you choose to import calendar events, we only read the events from your calendar and do not store or transmit them.
- **Notifications**: We use local notifications to remind you about events, which are stored locally on your device.
## Data Sent to External Services
## Data Storage
Some features require network calls to calculate routes or import calendars:
All data is stored locally on your device and never leaves your device. We do not use any third-party analytics or tracking services.
| Data | Sent to | Purpose |
| --- | --- | --- |
| Destination text or address | Nominatim | Convert a place into coordinates. |
| Coordinates | OSRM | Calculate bike and walking routes. |
| Station IDs, dates, and times | ÖBB HAFAS | Search stations and live public-transport journeys. |
| Coordinates or stop IDs | Wiener Linien | Find nearby stops and live departures. |
| Calendar URL | TimeToLeave backend, then the calendar host | Fetch and parse remote ICS feeds. |
| Google Calendar authorization code and tokens | Google and the TimeToLeave backend | Connect and sync Google Calendar on web. |
| Device calendar event fields | Local mobile app process | Import native calendar events with locations. |
## Third-Party Services
Remote ICS imports are restricted by server-side URL validation. Private and reserved hosts are blocked.
We do not use any third-party services that might collect or process your data. All processing happens locally on your device.
## Google Calendar
## Changes to This Privacy Policy
Google Calendar sync is optional. When connected on the web app, OAuth tokens are stored in HTTP-only cookies and used only to fetch calendar events. Disconnecting Google Calendar deletes the token cookie.
We may update our Privacy Policy from time to time. We will notify you of any changes by posting the new Privacy Policy on this page.
## Location
## Contact Us
Location access is optional and used to find nearby stations or calculate routes. Coordinates may be sent to route, geocoding, or transit APIs only when the corresponding feature is used.
If you have any questions about this Privacy Policy, please contact us at [contact email].
## Calendar Data
Only events with locations are useful to TimeToLeave. Imported events are normalized to title, destination, event time, source, and ID. The app stores those normalized events locally.
## Data Retention
Local data remains until the user clears app/browser storage, deletes events, disconnects Google Calendar, or uninstalls the app. Server-side proxy routes are intended for request handling and do not provide application-level persistent event storage.
## Changes
This policy may be updated as the app changes. Updates are made in this repository.