PetroCheck

PetroCheck Privacy Policy

Effective 10 September 2026

This privacy policy transparently describes what data PetroCheck processes, for what purposes, which service providers are involved, and your rights as a user. The data controller is Federico Trevisani, Italy. Privacy requests and rights inquiries: federico@federicotrevisani.dev.

1. Location and searches

With your permission, precise or approximate location is sent to the backend to find and rank nearby stations. This search location is used to answer the request and is not retained as a location history.

If you are signed in and enable a price alert for an area, PetroCheck instead saves the selected centre and radius with your account until you delete the alert or account. You can search manually without granting location access.

Route search takes a destination you enter: Apple Maps computes the route, and PetroCheck uses it only to pick the already-loaded stations along the way. The destination is not sent to the backend and is not retained.

The Apple Watch app, CarPlay, widgets and the App Clip follow the same rule: location is used to answer the current search. Widgets show the last result the app saved on the device and make no requests of their own; the App Clip shows only the station named in the link you opened and does not use location.

2. Account, favourites, alerts and notifications

An account is optional. Sign in with Apple provides an Apple user identifier and, only if you share them, your name and email. Supabase stores the account identifier, favourite stations, area alerts, station watches, and APNs tokens needed for notifications. This data provides and synchronises the features you request.

3. Feedback, reports and photos

When you send feedback or a report (wrong data, temporary closure, station gone or reopened, bug, missing feature, other), we process its category, free-form text, contact email address, date, app version, platform and, where relevant, station ID, brand and address. The contact email is required; when you are signed in it is pre-filled from your account and the report may be linked to your account identifier. An anonymous diagnostic code may be attached automatically to link the report to technical logs; it contains no token, email or location.

You may optionally attach a compressed photo to a report that a station does not exist or is temporarily closed. Photos require an account and are kept in private storage that only the controller can access.

You will receive status emails from the controller (received, in progress, closed) at the address you gave, sent through Resend; you can reply directly. A copy of the report goes to the controller. Sending is performed by an automated job on GitHub Actions that reads only the data the email needs. Do not include unnecessary personal data in text or photos.

4. Purchases and RevenueCat

Purchases use Apple StoreKit, and Apple handles payment and billing. The RevenueCat SDK receives a customer identifier, transaction information and subscription history to verify Premium access, provide customer history and produce purchase metrics. When signed in, PetroCheck identifies the RevenueCat customer with the opaque UUID of your Supabase account. We never receive card details.

5. Advertising, consent, analytics and diagnostics

The free version integrates Google AdMob. Google UMP collects applicable consent choices; on iOS, App Tracking Transparency controls advertising-identifier access. Non-personalised ads may still appear when tracking is not allowed. Premium users see no ads.

Firebase Analytics, Crashlytics and Remote Config help measure usage, diagnose crashes and performance, and configure features. Consent Mode starts denied and is updated according to applicable choices. Technical data may include device or installation identifiers, interactions, diagnostics, app version and operating system.

Siri, Shortcuts and Spotlight work on the device: stations you have viewed may be indexed locally by the system for suggestions and are not sent to the backend for that purpose. The Mac app carries no advertising and no tracking.

6. Purposes and legal bases

7. Providers, recipients and transfers

Depending on the feature, providers are Supabase (backend, database, authentication and Storage), RevenueCat (subscriptions), Google/Firebase/AdMob (ads, consent, analytics and diagnostics), Resend (operational feedback email), and Apple (sign-in, purchases and notifications). Apple Maps computes route-search itineraries and opens directions; GitHub runs the automated job that sends report status emails. MIMIT, Open Charge Map and OpenStreetMap supply public data on stations, chargers and amenities; OpenStreetMap requests are made by PetroCheck's server, not your device, and none of these bodies receives your PetroCheck account from us.

Some providers may process data outside the European Economic Area. Such transfers rely on the mechanisms stated by the provider, such as adequacy decisions, the Data Privacy Framework or Standard Contractual Clauses, and the relevant processing agreements.

8. Retention and deletion

9. Your choices and rights

Account, location, notifications, feedback and photos are optional; withholding them only limits the features that need them. You may request access, rectification, deletion, restriction and portability, object to processing, and withdraw consent without affecting earlier processing. Contact federico@federicotrevisani.dev. You may also complain to the Italian Data Protection Authority.

10. Children and changes

PetroCheck is intended for people aged 16 and over. Changes are posted here with a revised date and, when material, may also be communicated in the app.