1. Data controller
TrapSpotter is a trading name of TrapSpotter BV.
Address: Trekschurenstraat 245, 3500 Hasselt, Belgium
Company number (VAT): BE1031603017
Privacy / DPO email: privacy@trapspotter.com
General contact: contact@trapspotter.com
2. What data do we collect?
We collect the following data to provide and improve our services:
- Account data: email address, username, telephone number, and password
- Location data: GPS coordinates for real-time alerts along your route
- Usage data: information about reports, routes, and preferences
- Device data: device type, operating system, app version, and push token
- Payment data: processed by Apple, Google, or Stripe; we do not receive card details
- Communications: messages sent to our AI assistant or WhatsApp bot
- Advertising and app identifiers: only with your consent, to show ads in the free version and to measure our own ad campaigns
- Website and web-app visits: the pages you view and the campaign that brought you (utm_* parameters); Google Analytics cookies and Microsoft Clarity (heatmaps and masked session recordings) only if you accept them (see section 11)
- Searches: what you type into map search
- Map requests: when the app loads the map, our own map server receives your device’s IP address, the map area you are viewing and the type of device and app or browser (see sections 5 and 8)
- Diagnostics: crash and error reports
- Document photos: only if you use the document wallet; backed up, encrypted, to your account
3. Why do we collect this data?
- To provide alerts, navigation, and community reports
- To manage your account and subscription
- To improve our app and services
- To communicate about your account and important updates
- To comply with legal obligations
- To prevent fraud and combat abuse
4. Legal basis (GDPR Article 6)
We process personal data on the following grounds:
- Consent for optional features such as push notifications, analytics, and marketing; consent can be withdrawn at any time
- Performance of a contract to provide account access, subscriptions, and alerts
- Legitimate interests in fraud prevention, security, product improvement, cookieless website statistics, and infrastructure protection
- Legal obligations relating to tax records and lawful authority requests
More information
GDPR Article 6: https://gdpr-info.eu/art-6-gdpr/
5. Sharing with third parties (sub-processors)
We do not sell your data. We only share it with sub-processors that help deliver our services under GDPR-compliant agreements.
- Supabase — database, authentication, and file storage using EU hosting in Stockholm (Sweden)
- Hetzner Online (Germany) — hosting of our own servers for maps, routing, search and live alerts; receives the locations, routes and search terms needed to answer your request, with a hashed user key instead of your name. When the app loads the map, your device fetches it directly from our map server in Falkenstein, Germany (EU). That server receives your device’s IP address, the map area you are viewing (often the area around you) and the type of device and app or browser you use. We use this only to serve the map and to protect it against abuse (rate limiting), keep it in the server logs for at most 15 days, and do not combine it with your account
- Stripe — web payments and subscriptions
- RevenueCat — iOS and Android subscription management; receives your account ID and, to link purchases to your account, your email address, name and phone number
- Apple — App Store payments, Sign in with Apple, push delivery via APNs, speech recognition when you dictate a message (Apple processes the audio), and, only with your consent to advertising measurement, Apple Ads attribution (AdServices): whether an iOS install came from an Apple Ads campaign
- Google — Google Play payments, Google Sign-In, Firebase Cloud Messaging for push notifications, the Play Install Referrer (which campaign led to an install), app updates through Google Play, on-device text recognition for document scans (ML Kit, with the model delivered by Google Play services), and speech recognition on Android when you dictate
- Google Analytics (Google Ireland Limited) — our own Google Analytics 4 property, linked to our own Google Ads account, measures visits to trapspotter.com and use of the web app at app.trapspotter.com. Without consent it receives only cookieless pings, with no cookie and no lasting identifier; with consent (the website’s cookie banner, or the web app’s own consent settings) it uses its cookies and, on the website, Google’s ad-measurement cookies. Email addresses and sign-in and unsubscribe tokens in page addresses are removed before they reach Google. See section 11
- Microsoft Clarity (Microsoft Ireland Operations Limited) — heatmaps and session recordings of visits to trapspotter.com, only after you accept in the website’s cookie banner, so that we can see how the site is used and improve it. It receives the pages you view, clicks, scrolling and mouse movement, how the page looked, your device and browser type and a pseudonymous id; what you type, numbers and email addresses are masked in your browser, and the Mijn Boete form, the contact form and the newsletter form are masked completely, so their content is never sent. Microsoft acts as an independent controller for this data and may also use it for its own purposes under the Microsoft Privacy Statement. We do not use Clarity for advertising. The web app and the iOS and Android apps do not use Clarity. See section 11
- Google Analytics for Firebase — in the iOS and Android app, measures which of our own Google Ads campaigns led to an install, a sign-up or a subscription. Only after you consent to product analytics does it use an app identifier, app events and, reported by our server, the start of your trial and subscription and its renewals, with the price; advertising use also needs your consent to advertising measurement. On iOS, with that consent, Google can match your email address or phone number, hashed on your device, against an ad you saw — on the device itself; it does not leave your device. Without consent the app sends only cookieless pings without any identifier (Google Consent Mode); see section 11
- Google AdMob — advertising in the free version, only when ads are shown and only after you allow advertising measurement and then agree in Google's own consent form. AdMob may use your advertising ID, IP address and coarse location to select and measure ads. Premium subscribers see no ads and their data is not sent to AdMob
- Meta — advertising measurement in the iOS and Android apps, only after you consent to advertising measurement; see section 11. The website and the web app run no Meta tracking. Messages to our WhatsApp bot pass through Meta's WhatsApp Business Platform
- Mapbox — route calculation with live traffic and, as a fallback to our own servers, address search and turning coordinates into an address; receives route points, search terms and coordinates, not your identity
- OpenAI via the Vercel AI Gateway — the AI assistant and the processing of reports you write. To answer, it receives your messages and, as context, your position, speed, current route and saved places (such as home). Your data is not used to train models
- Twilio — the WhatsApp bot
- CM.com — SMS one-time login codes
- Resend — transactional email and the newsletter
- Sentry (EU) — crash and error diagnostics (error type, app version, device model, and your user ID so we can match a crash to a support request)
- Cloudflare — bot protection (Turnstile) during sign-in and sign-up, and on the website’s forms (newsletter, contact, Mijn Boete and the fleet demo request); on the website only once you use a form
- Vercel — website hosting, the AI Gateway, and Vercel Web Analytics (cookieless, aggregate page-view counts on the website)
- Uber — only if you order a ride from the app yourself: your pickup point and destination are handed to Uber
Legal requests
We share data with public authorities when required by law.
6. Your rights
Under the GDPR, you have the right to:
- Access the data we hold
- Correct inaccurate data
- Request deletion (the right to be forgotten)
- Restrict processing
- Receive portable data in a structured format
- Object to certain processing
- Withdraw consent
- Lodge a complaint with the Belgian Data Protection Authority
Submit a request
Email privacy@trapspotter.com. We respond within 30 days in accordance with the GDPR.
7. Security
We use appropriate technical and organisational measures, including TLS 1.3 in transit, AES-256 at rest, database-level row security, rate limits on sensitive endpoints, idempotent payment webhooks, and audit logs for subscription changes.
8. Retention
We keep data only as long as necessary:
- Account and profile data: while your account is active; deleted immediately after account deletion
- SMS and one-time password codes: expire after 10 minutes and are then deleted
- Payment records: 7 years under Belgian accounting law
- Community reports: their content may remain available to the community but is disconnected from your identity after account deletion
- Anti-fraud data: up to 24 months in one-way hashed form
- Map server logs (your device’s IP address and the map area viewed): at most 15 days
- Suppression list: if you opt out or delete your account, we keep a one-way hash of your phone number so that we cannot message you again. We do not keep the number itself
- Google Analytics data (website, web app, and the iOS and Android apps): 14 months
- Microsoft Clarity (website): recordings 30 days — a random sample, and recordings we mark, up to 9 months; heatmap and click data 9 months (Microsoft’s retention)
9. International data transfers
Our primary infrastructure is located in the EU (Supabase in Stockholm, Sweden; our own servers at Hetzner in Falkenstein, Germany). Several sub-processors are established or process data outside the EU, mainly in the United States: Google (including Google Analytics, which we use through Google Ireland Limited), Microsoft (Microsoft Clarity, which we use through Microsoft Ireland Operations Limited), Apple, Meta, OpenAI, Stripe, RevenueCat, Twilio, Resend, Mapbox, Cloudflare, Vercel (including Vercel Web Analytics) and Uber. Transfers rely on appropriate safeguards:
- EU Standard Contractual Clauses (SCCs)
- The EU–US Data Privacy Framework, for providers certified under it
- European Commission adequacy decisions where applicable
- Additional safeguards required following the Schrems II judgment
More information
GDPR Article 44: https://gdpr-info.eu/art-44-gdpr/
10. Children
TrapSpotter is intended for drivers and is not designed for anyone under 16. We do not knowingly collect data from children below the GDPR age threshold. Parents or guardians can report a concern to privacy@trapspotter.com.
12. Changes
We may update this privacy policy. The date at the top indicates the latest revision. Material changes will be announced by email or an in-app banner.
Business seats: TrapSpotter Teams and Fleet
Your employer or the business that engages you (the company) can give you a seat. You then get TrapSpotter Premium for as long as the seat is active, with your own TrapSpotter account.
Who is responsible. For your account and your use of the app (alerts, navigation, reports, Premium), TrapSpotter remains the controller, as set out in this privacy policy. For the data in the company's console, the company is the controller and TrapSpotter processes that data on its behalf, under a data processing agreement (Article 28 GDPR). The company must inform you in advance about what it does with that data.
What the company sees with Teams. The details it entered about you itself (name, email address and, if it entered them, phone number, job title and employee number), whether you accepted the invitation, your seat and its invoices. In addition:
- the vehicle it assigns to you, with its papers and their scans, which you also see in the app;
- the receipts you submit, with a photo;
- a traffic fine it registers with you, and your answer to the question whether you were driving (see below).
The company's clients appear when you search in the app; the company does not see whether you look them up or drive to them. Teams does not record workdays, trips, positions or hours. The company does not see where or when you drive, which alerts you receive or report, your saved places, your searches, your own documents in the app or your messages to the assistant, nor whether and when you use the app.
What the company sees with Fleet. Everything in Teams and, in addition, only between "Start workday" and "Stop workday" and, if the company sets work hours, only within those hours:
- your workdays (start and end) and the vehicle or your own car;
- your trips: departure, arrival, the route taken, the distance and the client;
- for a trip you make private, only the time and the distance: the places, the route and the client are permanently erased;
- your live position, only if the company switches that feature on: at most once a minute, only during a workday, and erased after 30 minutes. You can see in the app whether it is on;
- for a fine, the trip that shows who was driving the vehicle at that moment;
- the mileage statement and the hours calculated from this data.
Outside a workday, the app records nothing for the company. A workday that you forget to stop ends automatically after the number of hours the company chose, and at the end of the work hours. The company never sees your saved places, your own documents in the app, your messages to the assistant, the alerts and reports in the app, or your own payments.
Police checks. On a business seat, police checks are shown by default. The company can switch them off; they are then hidden (with Teams always, unless you also pay for Premium yourself; with Fleet during a workday).
Legal basis. We use your seat to give you Premium, as performance of the contract with you (Article 6(1)(b) GDPR). For the data in the console, the company determines the legal basis.
When the seat stops. If you leave the company or the company removes you, your seat and its Premium stop. Your TrapSpotter account continues to exist. The work data the company already had stays with the company for as long as it needs it, and at the latest until the end of its subscription plus the period in the data processing agreement. If you delete your TrapSpotter account, your membership ends; the work data is no longer linked to your account, but the company may keep it as an employer.
Your rights. For the data in the console, contact the company. If you send your request to privacy@trapspotter.com, we will pass it on to the company and help it to respond.
Confirming a fine
If the company receives a traffic fine for a vehicle, it can register the fine with you and ask you in the app whether you were driving that vehicle at that time: with Teams because the vehicle is assigned to you (Teams records no trips, so that is not proof that you were driving), with Fleet because your trip at that moment shows it. You then receive a notification and see the question on the Work page.
- Data: the number plate, the date, time and place of the offence, the reference, and your answer (yes or no); with Fleet, also the trip.
- Who decides: the company is the controller. It decides whether to designate you to the authorities as the driver. Where the law requires the company to designate the driver (in Belgium within 15 days, in Luxembourg and France within 45 days), that is the legal basis.
- Sensitive data: data about traffic offences is data relating to criminal offences (Article 10 GDPR). Only the company's owner and managers see it.
- Retention: automatically erased after the period of the company's country: in Belgium, 24 months after the offence; in France and Luxembourg, 45 days after the date of the letter (without that date, 90 days after the offence); in the Netherlands and Germany, 30 days after the company closes the fine, and otherwise at the latest 24 months after the offence. The company can erase it earlier.
Partner codes
If you redeem a code from a partner (at trapspotter.com/code), we store with your account which partner and which batch the code comes from, when you redeemed it and until when your Premium runs. We use this to give you the Premium, to show "Premium via [partner] until [date]" and to compile counts.
- Legal basis: performance of the contract with you (Article 6(1)(b) GDPR).
- What the partner sees: only counts (issued, redeemed, active). Never your name, your email address or the fact that you redeemed a code.
- Retention: for as long as your account exists. If you delete your account, only an anonymous count remains.
13. Contact and complaints
Privacy / DPO email: privacy@trapspotter.com
Address: Trekschurenstraat 245, 3500 Hasselt, Belgium
You may lodge a complaint with the Belgian Data Protection Authority at https://www.dataprotectionauthority.be/ if you believe we are processing your data incorrectly.
