1. Introduction
Portolan is an Android game about running ferries between islands while the tide rises and falls, published by an independent developer (hereafter "we" or "the publisher"). This privacy policy describes what data is collected, how it is used, and what rights you have over it.
Contact: mfodevhub@gmail.com
2. Data stored locally on your device
Portolan saves your progress on your device. The tide and the whole simulation are computed by the game on your device: no tide data is downloaded from any service. Your save is not sent to our servers (the optional online backup through Google Play Games is described in section 7). It includes:
- Your game in progress, your records for each archipelago, your score-based unlocks and your cumulative statistics
- Your settings (sound, vibration, appearance, daily challenge reminder, usage statistics and crash reports) and the state of the welcome tutorial
- Your daily challenge days, your streak and the rewards already earned, as well as the cosmetics you earned and the one you selected
- Counters and timestamps needed for optional ads and for the temporary 24-hour unlocks (for example the end time of an unlock obtained by watching an ad)
- Whether you own the one-time “Portolan Plus” purchase (last known value, re-checked with Google Play)
Uninstalling the app deletes all of this data.
3. Advertising (Google AdMob)
Portolan shows rewarded ads only, served by Google AdMob. You must explicitly accept to watch each one, in exchange for a benefit: opening an archipelago for 24 hours, a second chance after a lost game, trying a cosmetic for 24 hours, or catching up on a missed day of your streak. There are no banner or interstitial ads. Portolan Plus removes the ads.
To serve and measure these ads, Google's Mobile Ads SDK may process an advertising identifier and technical data about your device (device model, OS version, coarse location derived from IP, ad interaction data). On first launch, a consent form (Google's User Messaging Platform, "UMP") is shown where applicable under GDPR (European Economic Area, United Kingdom), letting you choose whether to allow personalized advertising; you can change this choice at any time in Settings (“Privacy choices”, shown when required). See Google's Privacy Policy for details.
4. Purchases (Google Play Billing)
Portolan offers “Portolan Plus” (optional one-time purchase: all archipelagos, endless mode, all cosmetics and no ads), as well as optional one-time donations and a monthly supporter subscription, which unlock nothing in the game. They are processed entirely by Google Play Billing. Portolan never sees or stores your payment details (card number, billing address, etc.): these are handled directly by Google Play under its own privacy notice. The app only receives confirmation of whether a purchase is active. It keeps on your device the last known status and re-checks it with Google Play when it starts online. This status is tied to your Google account and is not part of your game save or of the online backup; the “Restore my purchases” button re-reads it from Google Play.
5. Crash reports and usage statistics (Firebase)
To find and fix bugs, Portolan uses Firebase Crashlytics, a service of Google. If the app crashes, a technical report is sent to Google/Firebase. It contains the technical details of the error (stack trace, app state at the time of the crash), your device model, Android version and app version, and a randomly generated Firebase installation identifier that is not linked to your identity. These reports contain no game data and no information that directly identifies you.
Purpose: correcting bugs and improving stability. Legal basis: our legitimate interest in maintaining a reliable app. Processor: Google / Firebase, under its privacy and security information. Retention: 90 days on Firebase's side. Opt-out: collection can be turned off at any time in Settings.
Usage statistics (Firebase Analytics). To understand how the game is used and improve it, Portolan also uses Firebase Analytics. It records only categories and ranges, never exact amounts or personal content: screens opened, steps of the welcome tutorial, game starts and ends (archipelago, cause of the end, duration and score in ranges), season reward chosen, number of lines drawn or edited, undos and tide changes per game (in ranges), archipelagos unlocked, records beaten, daily challenge started or completed, reminder switched on or off, ads requested, shown, rewarded or failed (with the placement), Portolan Plus offer viewed and purchase started, completed or canceled, donations, cosmetic chosen, endless mode results, and, if you use Google Play Games, your sign-in status, the achievements unlocked (internal key only) and the result of backup synchronisations. These events are tied to a pseudonymous Firebase installation identifier, not to your identity. The advertising purposes of Analytics (ad storage, ad user data, ad personalization) and the advertising identifier are always disabled.
Consent and opt-out: in the European Economic Area, the United Kingdom and Switzerland, collection only starts if you give your consent in the consent form (UMP, section 3). In all cases you can turn it off at any time in Settings and change your consent choice in the privacy options. Purpose: improving the game. Processor: Google / Firebase. Retention follows Firebase's settings; you may ask us to delete the data tied to your installation (section 12).
6. Feedback
The feedback button in Settings lets you send us a message. Sending is entirely voluntary and only happens when you press "Send". The message goes to a single Supabase project shared by the publisher's apps (table feedbacks), together with: the text you typed, the app name (Portolan) and version, and your Android version, device model and language. No other information is attached. Please do not put personal information in your message. We use these messages only to improve the app; they are kept only as long as needed for that purpose, and you can ask us to delete yours at any time (see section 12).
7. Google Play Games Services (achievements and online backup)
Portolan uses Google Play Games Services for achievements and an online backup. Signing in is optional and the game works fully without it, offline and without any Google account. A silent sign-in is attempted after the intro and the consent form; you can also sign in by hand in Settings. If you are signed in, Google's SDK lets the game recognise your Play Games profile and records the achievements you unlock. This data is processed by Google under its Privacy Policy and is not sent to our servers. The SDK may also send technical and diagnostic data to Google. You can manage or delete your Play Games data from your Play Games profile or your Google Account.
Online backup (Saved Games). When you are signed in to Play Games, Portolan also stores a copy of your durable progress (records, score-based unlocks, daily challenge days and streak, cumulative statistics, earned cosmetics) in your Google account through Google's “Saved Games” feature, so you can resume on another device. The game in progress, your settings, your Plus purchase and your 24-hour unlocks are not part of it. The copy is kept by Google, not on our servers, and we have no access to it. Without sign-in, the save stays local. You can delete it from your Play Games profile or your Google Account.
8. Audience (18 and over)
Portolan is intended for an audience aged 18 and over. It is not directed at children and we do not knowingly collect personal data concerning minors. The advertising SDK is configured accordingly (no treatment as a child-directed or under-age-of-consent audience).
9. Data we do not collect
Portolan does not collect your name, email address or any directly identifying information, your GPS location, your photos, contacts or media files, or your payment details (handled entirely by Google Play, see section 4). The app has no user account of its own and requires no sign-up. The only data that can leave your device is described in sections 3, 4, 5, 6 and 7.
10. Android permissions used
- INTERNET: needed to serve ads, process purchases, send crash reports and usage statistics, synchronise Play Games and send the feedback you choose to submit. The game itself works offline.
- ACCESS_NETWORK_STATE (added by the Google and Firebase libraries): used to check network availability.
- VIBRATE: short vibrations during play, which you can turn off at any time.
- POST_NOTIFICATIONS and RECEIVE_BOOT_COMPLETED: for the optional daily challenge reminder, requested only if you enable it in Settings. The notification is scheduled locally on your device (and re-scheduled after a restart); no data is sent.
No other system permission is requested.
11. Communication security and sharing with third parties
All of the app's network communication is carried out exclusively over HTTPS. We do not sell, rent, or share your data with any third party ourselves. The following services process data on our behalf or on their own account, each under its own privacy policy: Google AdMob (ads, section 3), Google Play Billing (purchases, section 4), Google / Firebase (Crashlytics and Analytics, section 5), Supabase (feedback messages, section 6, privacy policy) and Google Play Games Services (section 7). See Google's Privacy Policy.
12. Your rights (GDPR)
We hold no data that directly identifies you. Your game progress stays on your device and you can delete it at any time by uninstalling the app (section 2). You can stop crash reports and usage statistics at any time in Settings (section 5). You may ask us for access to, or deletion of, the feedback you sent (section 6) or of crash and statistics data tied to your installation, by writing to mfodevhub@gmail.com; since this data is not linked to your identity, we may ask you for details such as the date of sending or your app version to find it. For advertising consent (section 3), purchases (section 4) and your Play Games profile, achievements and online backup (section 7), please use Google's own privacy controls, since we do not control that data ourselves.
13. Data retention
Local data is kept on your device until you uninstall the app. Crash reports are kept for 90 days on Firebase's side; usage statistics follow Firebase's retention settings; the online backup is kept by Google until you delete it. Feedback messages are kept only as long as needed to process them and improve the app, unless you ask for earlier deletion.
14. Changes to this policy
We may update this privacy policy. In case of a substantial change, the "last updated" date at the top of this page will be updated. We encourage you to check this page periodically.
15. Contact
For any question about this privacy policy, contact us at mfodevhub@gmail.com