Havn lets you share your phone's status — whether you are at one of your own saved places or away, and where you are while away — with a small number of people you personally invite. This policy explains exactly what the app collects, why, who can see it, and how to get rid of it.
Havn is an independent application developed and operated by Vsevolod Salenko. For any privacy question, data access request, or deletion request, write to suriousHornet@gmail.com.
| Data | Why it is collected | Who can see it |
|---|---|---|
| Google account email address and account identifier | To sign you in and to keep your data attached to your account across devices. | Only you. It is never shown to other users of the app. |
| Display name you choose | So the people you share with can tell who you are. | People you have invited. |
| Precise location (GPS), including while the app is in the background | To show the people you invited roughly where you are while you are away from your saved places. | People you have invited. |
| Wi-Fi information: the network you are connected to and names/addresses of nearby networks | To recognise your own saved places without using GPS, and to give a rough sense of surroundings while you are away. | Nearby-network names are visible to people you invited while you are away. The Wi-Fi "fingerprints" that define your saved places are never shared with anyone. |
| Bluetooth Low Energy beacon identifiers detected nearby | To recognise your own saved places more reliably indoors. | Nobody. Beacon identifiers stay in your private saved-place definitions. |
| Your saved places (the name you give them and their Wi-Fi/beacon fingerprints) | To detect when you are at a place you defined, so that GPS can be switched off entirely. | Only you. Other users see only the name of the place you are currently at, never the fingerprints behind it. |
| Status history — a timestamped record of your recent statuses | So the people you invited can see recent changes, not only the latest one. | People you have invited. |
| Invite codes you generate | To let a specific person start seeing your status. | Only you, until you pass a code to someone. |
| Usage and diagnostic data collected by Google Firebase Analytics (app opens, screen views, device model, OS version, an app-instance identifier, and country/region derived from your IP address) | To understand how the app is used and to find problems. | Only the developer, in aggregate. |
| Crash reports collected by Google Firebase Crashlytics: the technical details of a failure (the type of error and the lines of code it happened in), the state of the device at the time (Android version, device model, free memory and storage, whether the device is rooted), and a technical record of what the app was doing — for example whether status sharing was on, whether it was recognising one of your places or treating you as away, and which permissions were granted | To find and fix crashes, and above all to detect when background status sharing has stopped working without telling you — which is a safety problem, not a cosmetic one. | Only the developer. |
| A Support ID: a random identifier generated on your device the first time the app runs, shown on the Account tab | So that if you report a problem, the crash reports from your phone can be found among everyone else's. | Only the developer. |
| Diagnostic log files, but only if you send them: the app keeps a detailed technical log on your device (see below), and it can be asked to upload a copy — which only happens if you agree to it | To investigate a problem you reported, when the coarse facts in a crash report aren't enough to explain it. | Only the developer, and only after you tap Send. |
Crash reports are deliberately built so that they describe the app, not you. They never contain:
What a report says about your situation is limited to coarse facts like "sharing was on", "the app considered you away", "a location permission was missing" or "the last upload was rejected" — enough to fix the bug, not enough to say where you were.
The Support ID is not your account. It is a random number created on your device, it is not derived from your Google account or your email, and it tells us nothing about you except which phone a crash came from. You never have to give it to anyone; it exists so that if you choose to report a problem, we can find the right crash. Clearing the app's data replaces it with a new one.
The app keeps a technical log on your phone — what the sharing pipeline did, which places it recognised, which locations it read. It is written to storage only this app can read, and it is deleted automatically after 30 days. Nothing in it leaves your phone by itself.
There are exactly two ways it can leave, and you start both of them:
A request that does not need your movements does not get them: unless the request explicitly asks for your location history, the location and beacon records are removed while the archive is being built, not merely hidden afterwards. An uploaded archive is stored privately, is not shared with anyone, is deleted after 30 days, and is deleted immediately if you delete your account.
Your status is visible to only the people who redeemed an invite code you created. There is no other way for anyone to see it. Nobody can find you by email, phone number, or name.
The app runs on Google Firebase, which processes and stores data on our behalf: Firebase Authentication (sign-in), Cloud Firestore (your profile, status, history and saved places), Cloud Functions (account changes and invite redemption), Cloud Storage (a diagnostic log archive, only if you send one), Firebase Hosting (this page), Firebase Crashlytics (crash reports), and Google Analytics for Firebase. Maps inside the app are rendered by Google Maps. Google's handling of this data is described in the Google Privacy Policy.
Data is stored on Google Cloud infrastructure; server-side functions run in the europe-west1
region. We do not share your data with any other third party, except where we are legally
required to do so.
You can delete your account from inside the app: open the Account tab and choose to delete your account. You will be asked to confirm twice, including re-typing your display name, because the action cannot be undone.
Deleting your account permanently removes:
Two things are honestly outside that list. Crash reports and analytics are not connected to your account in the first place — they are identified by the random Support ID described above, never by your account, email or display name — and they are kept for their normal retention period rather than deleted with the account. That is precisely why the app never puts your account identifier in them: nothing left behind can be traced back to you. If you would like the crash reports from a specific device removed anyway, send us its Support ID and we will do what the tooling allows.
If you cannot access the app, email suriousHornet@gmail.com from the address you signed up with and your account will be deleted for you.
Depending on where you live, you may have the right to access, correct, export, or delete your personal data, to object to or restrict its processing, and to lodge a complaint with your local data protection authority. To exercise any of these, contact suriousHornet@gmail.com. Where consent is the legal basis for processing — as it is for location sharing — you may withdraw it at any time by turning sharing off or revoking the permission in Android's system settings.
All communication between the app and the backend uses encrypted connections (TLS), and data is encrypted at rest by Google Cloud. Server-side security rules restrict every document so that it can only be read by its owner and the people that owner invited. No security measure is perfect, but this is the standard we hold the app to.
Havn is not directed at children under 13 (or the equivalent minimum age in your country), and we do not knowingly collect their personal data. If you believe a child has created an account, contact us and it will be removed.
If this policy changes, the updated version will be published at this address with a new "last updated" date. Material changes affecting how your data is used will also be announced in the app.