Privacy Policy
How HuntHub collects, uses, shares and protects your personal data — including live location, photos, messages and subscription details.
1. Who we are
HuntHub is operated by Simon Elhøj Steinmejer, an individual established in Denmark. We are the data controller for the personal data described in this policy, which means we decide why and how that data is processed.
- Controller: Simon Elhøj Steinmejer
- Address: Gadelandet 20A, 3. tv., 2700 Copenhagen, Denmark
- Email: support@hunthub.dk
Write to support@hunthub.dk about anything in this policy, including any request to exercise your rights under the EU General Data Protection Regulation (GDPR) and the Danish Data Protection Act.
2. What this policy covers
This policy applies to the HuntHub mobile apps for iOS and Android, to the HuntHub website — including the team administration area — and to the subscriptions we bill through Stripe on the website.
HuntHub is organised into closed, invite-only hunt teams. Almost everything you do in HuntHub happens inside one team and is visible only to the other members of that team. You belong to exactly one team at a time. That structure is the single most important thing to understand about how your data is handled here: your posts, your messages, your calendar entries, your map markers and your live position are shared with your fellow members, and with nobody else.
This policy does not cover how the independent companies we rely on handle data under their own agreements with you — for example the app store you downloaded HuntHub from. Those companies are named in section 7.
3. The data we collect
We collect only what HuntHub needs in order to work. There is no hidden collection: everything below is either something you type in, something you upload, something you explicitly switch on, or a record we must keep in order to run a paid service.
Account data
Your email address and — if you use a password — a cryptographically hashed version of your password, held on our behalf by Supabase Auth. We never see, store or transmit your password in readable form.
If you sign in with Apple or Google
You can create your account and sign in with your Apple Account or your Google account instead of a password. If you choose to, Apple or Google confirms who you are and sends us a small set of details, most of them in a signed token, which Supabase Auth stores with your account:
- From Google: your Google account identifier, your name, your email address and whether Google has verified it, a link to your Google profile picture and, for a Google Workspace account, its domain. HuntHub asks Google only for your basic profile and email address — the openid, email and profile permissions — and for nothing else.
- From Apple: your Apple user identifier, your email address — a private relay address if you choose Apple’s Hide My Email — and your name, but only the first time you sign in and only if you choose to share it.
We use these details only to create your account, to sign you in, and to fill in your profile: your email address, and your display name the first time — you can change that name at any time in the app. Like the rest of your profile, your name and email address are visible to the members of your team. We do not use your Google profile picture, we never get access to anything else in your Google account or Apple Account — such as your mailbox, contacts, calendar or files — and we do not keep the access tokens Apple or Google issue during sign-in.
HuntHub’s use of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.
If you sign in with Apple or Google using an email address that already belongs to a HuntHub account, the sign-in is added to that existing account. For your protection, if that account was created with email and password, the password is then removed and every other device signed in to it is signed out shortly afterwards. You can set a new password at any time with Forgot password.
Profile data
Your display name, your email address, an optional avatar image, and an optional phone number if you choose to add one. Your profile is readable by you and by the members of your own team — never by members of another team.
Location data
A latitude, a longitude and a timestamp. We keep one current position per member per team: each new position replaces the previous one, so we do not build a location history or a movement trail. Section 5 explains this in detail.
Content you create
- Posts in your team feed, and any images attached to them.
- Comments and likes on those posts.
- Group-chat messages. The chat is text only — it does not support image or file attachments.
- Hunts you create in the shared calendar, and your RSVP to a hunt.
- Map markers you place, and any images attached to them.
- Hunting areas and boundaries, which are drawn and maintained by team administrators.
Membership data
Which team you belong to, your role in it (member or administrator), and the invitations issued to you or accepted by you, including the invitation code and its status.
Subscription data
If your team buys a paid plan, we store the Stripe customer identifier, the Stripe subscription identifier, the subscription status, the price identifier, the plan seat cap and the date the current billing period ends. We never receive or store your card number, expiry date or security code — those go directly to Stripe and never touch our systems.
Technical data
Our infrastructure and hosting providers generate ordinary server logs when your device communicates with our servers — an IP address, a timestamp, the resource requested, and the response. These logs exist to keep the service running, to diagnose faults and to detect abuse. They are not used to profile you and are not combined with your team content.
Push notification data
If you allow push notifications, we register your device with a device installation record: a device identifier, the push token issued by Apple or Google for that device, whether the device is iOS or Android, your app locale, and the notification permission state. We use this only to reach your own device with the six notification categories the app tells you about (new posts, comments and likes on your own posts, new hunts, responses to your hunts, and new members) — never to identify or track you outside the app.
A push notification’s lock-screen and banner text is deliberately minimal — who did something, and what kind of activity it was — never the full post, comment, hunt or member detail. The full content loads only after you open the app, under the same access rules that already govern everything else you read there. You can turn each of the six notification categories on or off independently in the app’s settings.
4. How we use your data, and our legal basis
Under GDPR Article 6, every processing purpose needs a legal basis. Ours are set out purpose by purpose below.
To provide HuntHub to you — Article 6(1)(b), performance of a contract
Creating and maintaining your account, signing you in with a password or with Apple or Google, showing you your team feed, chat, calendar and map, delivering your content to your fellow members, and letting administrators run the team. Without this processing there is no service to deliver.
To keep teams isolated and secure — Article 6(1)(f), legitimate interest
Enforcing the boundary between one team and another, authenticating requests, preventing abuse and unauthorised access, and investigating security incidents. Our legitimate interest is running a closed network that members can actually trust; that interest does not override your rights, because the processing is limited to what security requires.
To show your live position to your fellow members — Article 6(1)(a), consent
Your consent is given when you grant the location permission your operating system asks for and start sharing in the app. You can withdraw it at any time, with no effect on the lawfulness of what was processed before you withdrew it, by stopping sharing in the app or by revoking the location permission in your device settings.
To bill subscriptions and keep our books — Article 6(1)(b) and Article 6(1)(c)
Taking payment for a paid plan, applying seat limits, and handling renewals and cancellations is performance of the subscription contract. Retaining accounting records afterwards is a legal obligation under Danish bookkeeping law.
To notify you of activity in your team — Article 6(1)(a), consent
Your consent is given when your device grants the notification permission your operating system asks for. All six notification categories are on by default once you grant that permission, and you can turn any of them off independently at any time in the app’s settings, with no effect on the rest of the app. Revoking notification permission in your device settings withdraws this consent entirely and stops all future notifications to that device.
5. Location data, in plain words
Live location is the most sensitive data HuntHub handles, so we would rather be exact than reassuring.
- HuntHub collects your position only while the app is open and in the foreground. Neither the iOS app nor the Android app requests a background-location permission, so HuntHub cannot see where you are once you close the app or switch away from it.
- You decide when to share. Sharing is started and stopped by you inside the app, and the operating system permission can be revoked at any time in your device settings.
- Your position is visible only to the members of your own team. It is never shown publicly, never shown to another team, never sold, and never used for advertising.
- Live positions travel over an authenticated, private realtime channel. A device that is not signed in as a member of your team cannot subscribe to it.
- Your most recent position is stored so that a fellow member who opens the map later can see where you were, together with the time it was recorded. Each new position overwrites the previous one — we do not keep a track, a route or a history.
- Your stored position is deleted when you leave the team or delete your account.
A live position on a map is an estimate, not a fact. It can be delayed, imprecise or entirely absent — because of GPS error, poor mobile coverage, a closed app, a flat battery or a denied permission. HuntHub is a coordination tool, not a safety device, and must never be used as the only way of knowing where another hunter is. This is set out in full in our Terms of Service.
6. Photos and camera
HuntHub asks for camera and photo-library access only so that you can attach an image you have chosen — to a post, to a map marker, or as your avatar. We do not scan, index or upload your photo library, and we access only the individual files you select.
Every image is re-encoded before it leaves your device, and its EXIF metadata — including any embedded GPS coordinates — is stripped in the process. An image you upload therefore does not carry the location where it was taken.
One thing you should know about uploaded images
Image files are served from public storage buckets at long, namespaced URLs that are not published or listed anywhere. The database rows that reference those URLs are access-controlled and only your fellow members can read them, so in normal use nobody outside your team can discover an image. But the file itself is not access-controlled: anyone who obtains the exact URL — for example because you forwarded it — can open it without signing in. We would rather tell you this than let you assume otherwise. Do not upload an image whose exposure to a stranger would harm you.
8. International transfers
Our database and file storage are hosted by Supabase in the European Union — specifically the Supabase North EU region, in Stockholm, Sweden. Your account, your content and your location history are stored inside the EU/EEA.
The providers named in section 7 are United States companies, and some processing — including support access and operational tooling — may take place outside the EU/EEA. Where personal data is transferred outside the EU/EEA, that transfer is covered by the Standard Contractual Clauses adopted by the European Commission and, where the provider is certified, by the EU-US Data Privacy Framework.
We are not in a position to guarantee that no data is ever processed outside the EU/EEA, and we do not claim otherwise. If you would like a copy of the transfer safeguards that apply to a specific provider, ask us at support@hunthub.dk.
9. No tracking, no advertising, no analytics
Neither the HuntHub mobile apps nor the HuntHub website contain third-party analytics, advertising, attribution or crash-reporting software. There is no measurement SDK, no ad network and no marketing pixel in either product.
- We do not ask your device for an advertising identifier and do not request app-tracking permission.
- We do not track you across other apps or other websites.
- The website sets no advertising or analytics cookies. The only cookies it sets are the ones strictly necessary to keep you signed in to your account.
This is a deliberate design decision rather than an oversight, and we consider it part of what a closed, private network for a hunt team ought to mean. If that ever changes, we will say so here before it takes effect.
10. How long we keep your data
- Account and profile data, including any Apple or Google sign-in linked to your account: for as long as your account exists.
- Content you create — posts, images, comments, likes, chat messages, hunts, RSVPs and markers: until you delete it, or until you delete your account.
- Location data: only your single most recent position is kept, and it is overwritten by the next one. It is deleted when you leave the team or delete your account.
- Subscription and billing records: for as long as Danish bookkeeping law requires us to retain accounting material, which is currently five years from the end of the financial year the record belongs to. This retention is a legal obligation and survives deletion of your account.
- Push notification device records: your device installation record (section 3) is kept until you sign out, deny or revoke notification permission and the token stops being used, uninstall the app, or delete your account. A queued notification that cannot be delivered expires and is discarded after 24 hours. Operational records of individual notification deliveries — which device, which category, whether the provider accepted it — are kept for a limited window, currently 30 days, to diagnose delivery problems, then purged.
- Backups and server logs: deleted data may persist for a limited period in routine backups and infrastructure logs before those rotate out. It is not restored into the live service.
Guest accounts
A member of a team can invite a temporary visitor by generating a guest code. Redeeming that code creates an anonymous account that carries no email address and no password — the guest supplies only a display name. Guest access lasts 7 days from the moment the code is redeemed, and a team administrator can end it earlier at any time.
Content a guest creates during that access window — feed posts, comments, chat messages and calendar responses — is retained after their access ends and stays attributed to their display name. The guest account itself is not deleted when access ends, which is why that content continues to display correctly rather than becoming unattributed.
While a guest has active access, they can see the same contact details — such as a phone number — that other members have chosen to add to their profile. This follows from a guest having been admitted to the team’s private space through a member’s deliberate invitation, and it applies for as long as the guest’s access lasts.
11. Your rights
The GDPR gives you the following rights over your personal data. They are free to exercise, and exercising them will never disadvantage you as a user.
- Access — a copy of the personal data we hold about you, and an explanation of how it is processed.
- Rectification — correction of data that is inaccurate or incomplete. Your display name, email, avatar and phone number can be corrected by you directly in the app.
- Erasure — deletion of your personal data. See below; you can do this yourself.
- Restriction — a pause on processing while a dispute about accuracy or lawfulness is resolved.
- Objection — an objection to processing we base on legitimate interest.
- Portability — the data you provided to us, in a structured, commonly used, machine-readable format.
- Withdrawal of consent — you may withdraw your consent to live-location sharing at any time, without affecting the lawfulness of processing carried out before the withdrawal.
Deleting your account
You do not need to ask us. Open the app, go to Profile and choose Delete account. This permanently deletes your account and, with it, your profile, your team membership, your posts and post images, your comments and likes, your chat messages, the hunts you created and your RSVPs, your map markers, and your stored position. The deletion is immediate and cannot be undone.
If you are the administrator of a team, you must first hand the team over to another member or wind it down; only then can you delete your own account. This exists so that a team is never left without an administrator, with its other members locked out of their own content.
If you signed in with Apple or Google, deleting your account also deletes that sign-in from our systems. Apple and Google each keep their own record that you used them to sign in to HuntHub, which you can remove yourself — in your Apple Account settings under Sign in with Apple, or in your Google Account under Sign in with Google.
Content is deleted from the live service. Copies may remain briefly in routine backups, and accounting records covered by section 10 are retained as the law requires.
How to make a request
Email support@hunthub.dk. We will respond within one month of receiving your request, as GDPR Article 12(3) requires. If a request is unusually complex we may extend that period, and we will tell you if we do.
Complaints
If you believe we have handled your personal data unlawfully, you can complain to the Danish Data Protection Agency (Datatilsynet), Carl Jacobsens Vej 35, 2500 Valby, Denmark — www.datatilsynet.dk. We would appreciate the chance to put things right first, but you are not required to contact us before complaining.
12. How we protect your data
- Isolation between teams is enforced in the database itself, by row-level security policies, not merely by the app. Every read and every write is checked against your membership, so a request for another team’s data fails at the database even if the app asks for it.
- Passwords are stored only as cryptographic hashes by Supabase Auth. We cannot read your password and cannot recover it for you.
- If you sign in with Apple or Google, you need no HuntHub password: before letting you in, Supabase Auth verifies that the token Apple or Google issued is genuine and was issued to HuntHub.
- All traffic between your device and our servers is encrypted in transit with TLS.
- Live-location channels are authenticated and private; membership is verified before a device can receive positions.
- Card details never reach our systems — they are handled by Stripe, a PCI DSS Level 1 certified payment provider.
Uploaded image files are the documented exception to the isolation model above, for the reason explained in section 6.
No online service can promise perfect security, and we will not pretend otherwise. If a personal data breach occurs that is likely to result in a risk to your rights and freedoms, we will notify Datatilsynet within 72 hours as Article 33 requires, and we will notify you directly where Article 34 requires it.
13. Children
HuntHub is not directed at children. Our Terms of Service require you to be at least 18 years old to create an account, and we do not knowingly collect personal data from anyone below that age.
If you believe a child has created an account, write to support@hunthub.dk and we will delete the account and the associated data.
14. Changes to this policy
We may update this policy as HuntHub develops or as the law changes. The date shown at the top of this page always reflects the current version.
If a change materially affects how we handle your personal data — a new purpose, a new processor, a new category of data — we will announce it in the app and on this website before it takes effect, and we will ask for your consent again where consent is the legal basis.
15. Contact
Questions about this policy, or about anything HuntHub does with your data, go to the address below. A real person reads it.
- Simon Elhøj Steinmejer
- Gadelandet 20A, 3. tv., 2700 Copenhagen, Denmark
- support@hunthub.dk