Record Of Personal Data Processing Activities
The following table provides an overview of how HAFAS products process data. It lists the product modules, the specific features involved, the type of personal data (if any) that is processed, and the purpose of this processing. This transparency ensures that passengers and operators understand what data is collected, how it is used, and why it is necessary for the operation of our services.
Product |
Feature |
Data subjects (Passenger/Operator) |
Personal Data
|
Purpose
|
---|---|---|---|---|
HAFAS.analytics | Foreign host id | Passenger | Hash code derived from the user’s IP address | Understand user behavior and preferences; enable personalized services (e.g., routing); improve occupancy calculations; distinguish whether requests come from the same or different users (stored in Analytics AWS account) |
HAFAS.analytics | Analytics usage of Matomo | Passenger | anonymized, no person-specific data | Provide tailor-made reports; automated alerts on significant changes in user behavior; enable continuous tracking of behavior across customers; beyond standard Matomo reports (stored in Analytics AWS account) |
HAFAS.analytics | User account in Anaylitcs | Operator | First name, Last name, E-mail, Language prefernce, user roles and permissions | Grant personalised access to the system. |
HAFAS.engine | Journey Planner | Passenger, Operator | The journey planner uses personal information, such as current location, recorded journey trace and email addresses to provide it's services. Examples, see Application Request Logs. | Data is process in order to operate the specific service. In general, the journey planner is stateless w.r.t personal data and stores relevant data only in application request logs. |
HAFAS.engine | Push Notifications | Passenger | Engine Push stores user subscriptions that are managed from clients. Accounts are managed by the client, an anonymous id that acts as a shared secret binds subscriptions and preferences together. The Push-Server of HAFAS.engine saves:
| Operation of the push service. The data is deleted after subscription expiry (e.g. x days after arrival of a trip), on user inactivity (x days without any request for a user id) or on client request. Soft-delete for x days is possible for subscriptions and pushed events. Additionally, log files (which may contain any of the aforementioned objects) are deleted after a configurable period of time. By default this is 7 days. |
HAFAS.engine | Backoffice | Operator | User accounts with administrative functionalities exist in the backoffice UIs: API Manager, Push Backoffice, Datacockpit. Accounts store username, password, email, roles&rights in addition to domain-specific items. | Operation of the specific service. Accounts are deleted manually upon request. In cases where a hard-delete is not possible e.g. not to loose quota information for tenants, the account may be soft-deleted by anonymization. |
HAFAS.engine | Application Request Logs | Passenger, Operator | Application Logs Application logs extend the normal server logs with application-specific information: Typically the full request payload is logged in verbatim, as it is received over the network. For several services the logged requests may contain personal data at least in:
Outside of Push and Backoffice HAFAS.engine itself has no user account feature, so (outside of the email addresses) this data is not usable to directly identify users. Summaries of TripSearch requests incl. origin and destination locations and date/time, as well as technical details about the client App are forwarded to OBS Analytics, where they are processed. Application MetricsMetrics store technical information about each request, this is a subset of otherwise logged information, This includes especially:
| Logs and metrics are used to monitor system stability, diagnose ongoing problems and post-mortem analysis. Logs and metrics are used for quality assurance purposes (together with public transport schedule and realtime data), they are not analyzed w.r.t the behavior of individual users. Logs are deleted, when technical logs are deleted. Excerpts of logs may be kept longer for QA purposes. Metrics are stored separately and the retention period is be longer. |
HAFAS.engine | Integrated 3rd Party Services | Passenger | Engine integrates several 3rd party services that Hacon cannot control. Data required to for the respective service is forwarded. These act as independent data controllers in accordance with Art. 6 (1)(f) GDPR. Mobility Service Providers, GIS Routers and Tariff Providers Elements from the application request are forwarded to 3rd party providers, including origin and destination request locations and additional parameters that are used to influence price calculation. Common examples are examples:
Notification Delivery Push notifications are sent using an anonymized app ID. It is not possible to trace them back to individual users. Push output channels involve several third party service providers & software: e.g. Apple Push Notification services (APNs) for push to iOS, Google's Firebase Cloud Messaging (FCM) for push to Android or SMTP-servers and email-infrastructure for sending emails. 3rd-Party Notification Source Engine may forward itineraries to 3rd party push notification providers in order to integrate addition notification triggers. | Operation of the specific service. |
HAFAS.fleet | User account in Fleet | Operator | First name, last name, (optional) short name, e-mail, (optional) phone number, user name, personalised settings (eg. language preference), password hash, assigned role(s). Deleted accounts are only marked for deletion for 3 months to enable potential restoration. After 3 months the account is also technically deleted. | Grant personalised access to the system. |
HAFAS.fleet | User's activity in Fleet | Operator | Last Activity: The system tracks when a user last logged in or performed an action, comments/notes, operational logs (eg. when login/logout). (Technical) Log scope is defined on a per-project basis (deleted typically within one month). Data visible for end users in the real-time archive is typically stored for up to 1 year, but this could also be fine-tuned in the specific environment. | System troubleshooting and security incident analysis |
HAFAS.fleet | Drivers' information and activities | Operator (Fleet drivers) | Name (optional), personnel ID (optional), device ID (IMEI or Android ID), phone number (optional), account used for logging into the driver app. Associated data points that could directly or indirectly via the used device be linked to personal data: IP address of the device, vehicle ID, block ID, GPS track points (including speed and orientation), login and logout times, text messages exchanged with dispatchers and other drivers. Most data is stored both on the driver's device and on the backend (eg. plan realtime data, realtime archive). Technical logs on the backend and archive data are subject to the same retention period as mentioned above for "User's activity in Fleet". Technical logs of the driver app are usually overwritten within one week due to rotating log file names. | System troubleshooting and security incident analysis Allow communication between control center (Fleet) and drivers and collect operational data for fleet management and monitoring. |
HAFAS.hosting AWS | Application Load Balancer | Passenger | HTTP request data, client’s IP address, target application IP address, timestamp of request | System troubleshooting and security incident analysis - only on demand, not merged with other data |
HAFAS.hosting AWS HAFAS.hosting on-premise | Server Log Files | Passenger | App type, browser type/version, operating system, referrer URL, hostname of device, timestamp of request, IP address | Technical information storage for operation; enable troubleshooting; ensure system security |
HAFAS.info | User account in Info | Operator | First name, last name, user name, e-mail, language preference, password hash, user roles. Deleted accounts don't show on the product but account references will be kept in the database for the Info messages. | Grant personalised access to the system. |
HAFAS.info | User's activity in Info | Operator | Technical logs. They will be deleted after 14 days. Details of changes (eg, message creation). | System troubleshooting and security incident analysis. |
HAFAS.journeyeditor | User activity in Journey Editor | Operator | User name, activitiy (edited by, last change, when login/logout) Technical logs. | System troubleshooting and security incident analysis. |
HAFAS.mobile | Google Analytics | Passenger | IP address, App ID, Advertising ID | Location tracking, session tracking, usage analysis |
HAFAS.mobile | Live Navigation | Passenger | Does not store any personal data. | |
HAFAS.mobile HAFAS.engine | Push Notification Delivery | Passenger | Anonymized app ID; device token / registration ID (cryptic string from Apple/Google); possibly email/phone/name if used as channel type | Delivery of push messages via Apple/Google/SMTP; manage subscriptions; send service-related notifications |
HAFAS.mobile HAFAS.engine HAFAS.webapp | Map Services | Passenger | IP address, location) transmitted to Google/Apple | Display maps, stops, routes; geo pattern matching |
HAFAS.mobile HAFAS.trm | UUID | Passenger | Unique device identifier | Identify a device across services; can be used in other Productss |
HAFAS.mobile HAFAS.webapp | Analytics with Matomo | Passenger | First two bytes of IP address; app type; visited pages; session duration; usage frequency | Improve app; tailor-made reports; automated alerts; continuous tracking of behavior (privacy-friendly) |
HAFAS.mobile HAFAS.webapp | Optional Permissions | Passenger | Location, calendar, contacts (depending on user consent) | Convenience features only (no processing) |
HAFAS.realtimehub | User account and activity in Realtime hub | Operator | User name, (optional) First name, (optional) Second name, (optional) E-mail, (optional) Phone number. Activity (what was done in the system and when, possibly IP address). Technical Logs (personal information such as drivers' names might be part of the delievered realtime informaiton eg. Siri). These logs will be deleted as per defined with the customer (from 2 days to 6 months). | System troubleshooting and security incident analysis. Grant access to the system. |
HAFAS.salesplatform | User account (master) data and trip data | Passenger | uuid, externalId, userName, email, firstName, lastName, dateOfBirth, company, salutation, gender, address (street, houseNo, postalCode, city, state, country), billingAddress, phoneNumber, title, givenName, nameSuffix, placeOfBirth, nationality, deviceId, trip data (start station, end station, dates), entitlement metadata (validity, traveler data) | Provide, personalize, and maintain services; user identification & fraud prevention; communication & support; billing & invoicing; comply with legal/tax requirements; booking, routing, fare calculation, dispute resolution; manage accounts on mobility providers’ systems |
HAFAS.salesplatform | Order data | Passenger | uid, userName, email(s), firstName, lastName, deliveryAddress, billingAddress, postal code, dateOfBirth, gender, title, salutation, company, phone, mobile, fax, language, recipient, device_id, customer numbers, logpay_customer_id, paypal_payer_id, payment descriptors, account holder, issuer_id, payment details | Process and deliver orders; provide support services; ensure accurate service delivery; comply with tax, anti-fraud, and safety regulations |
HAFAS.salesplatform | Mobility Service Provider related data | Passenger | driversLicenseNumber, driverLicenseCountry, cardEngravedId, cardTypeId, cardPinCode, cardChipId | Provide MSP services; fulfill MSP-specific requirements; logs retained 2 weeks then deleted |
HAFAS.trm | Freetext feedback data | Passenger | Does not store any personal data. | Collect feedback from users to improve the service |
HAFAS.trm | IP address | Passenger | IP address of the user’s device (stored temporarily, then deleted or anonymized) | Enable delivery of content, ensure system security, analyze technical issues (security & troubleshooting) |
HAFAS.trm | Current location | Passenger | GPS position of user | content filtering (on client only, not stored) |
HAFAS.webapp HAFAS.engine | Email Delivery | Passenger | Email address provided by the user | Delivery of system emails (e.g., password resets, feedback forms) and trip-sharing messages |