Privacy Policy
Last updated: June 2026
This Privacy Policy explains how the operator of Tiny Hamster (https://tinyhamster.app) collects, uses, stores and shares your personal data. It is provided pursuant to Art. 13 of the General Data Protection Regulation (GDPR).
1.Who we are (controller / Verantwortlicher)
The data controller responsible for your personal data is:
The GbR is represented by its partners. For full provider details (including names of the representatives), see our Imprint.
We have not appointed a Data Protection Officer. Tiny Hamster is a small operation that does not carry out large-scale processing of special-category data and employs fewer than 20 people. No DPO is required under Art. 37 GDPR.
2.What we collect
2.1 Account data
When you register, we collect and store the following data in our authentication system (Supabase): your email address, a password hash (we use bcrypt and never store your actual password), your email verification timestamp, and, if you register via Google, your Google account ID, email address and given name as provided by Google.
Legal basis: Art. 6(1)(b) GDPR — processing is necessary to perform the contract (your account and use of the service).
2.2 Profile data
After registration, you create a profile. We store the following profile data:
| Data element | Mandatory / Optional | Legal basis |
|---|---|---|
| Display name | Mandatory — visible to members of your groups and used for leaderboards | Art. 6(1)(b) GDPR — necessary to perform the contract (group play requires a visible identity) |
| First name, last name | Optional — visible only to you in your profile settings | Art. 6(1)(a) GDPR — you provide this voluntarily; you may leave it blank or remove it at any time |
| Home country | Optional — used only for display purposes | Art. 6(1)(a) GDPR — you provide this voluntarily; you may leave it blank or remove it at any time |
| Notification preferences | Mandatory if notifications used | Art. 6(1)(b) GDPR |
| Account creation timestamp, last update timestamp, onboarding completion | Automatically generated | Art. 6(1)(b) GDPR — necessary for account management |
For optional fields collected on the basis of Art. 6(1)(a) GDPR, you may withdraw your consent at any time by deleting the relevant data in your profile settings. Withdrawal does not affect the lawfulness of processing prior to withdrawal.
2.3 Game and group data
To provide the core service, we store your picks, group memberships, group configuration set by the group owner, settlement records for group-internal arrangements, and Hall of Fame records. Hall of Fame records contain only display name and score, never your email address or contact information.
Visibility of pick data is controlled by Row-Level Security in our database: you see only your own picks until the lock or kick-off deadline, after which group members can see each other's picks.
Legal basis: Art. 6(1)(b) GDPR.
2.4 Push notifications
If you actively enable web push notifications (for example by clicking "turn on" in the in-app prompt on /app/sports, or via your notification settings), we store the following data on our infrastructure to deliver notifications to your device:
- the push endpoint URL provided by your browser or operating system,
- the public encryption keys (p256dh and auth) provided by your browser,
- your browser's user-agent string,
- your per-category channel preferences (currently: pick reminders, essentials, banter), which determine for each category whether notifications are delivered by email, by push, or not at all.
This data is created only when you actively opt in. It is deleted when you opt out in the app or in your browser/OS settings, or when your browser invalidates the endpoint.
Legal basis: Art. 6(1)(a) GDPR — your freely given consent, expressed through the active opt-in click. You may withdraw your consent at any time, with effect for the future, by disabling notifications in the app or in your browser/OS settings. Withdrawal does not affect the lawfulness of processing prior to withdrawal.
Storage of the push subscription on your device is not strictly necessary to provide the service and therefore does not fall within the exemption of § 25(2) TDDDG. We rely on your explicit consent under § 25(1) TDDDG, obtained via the active opt-in click described above.
2.5 Security and audit logs
We maintain logs to detect abuse and audit privileged actions, including admin action logs, game audit logs and group audit logs. Our infrastructure providers (Lovable Cloud, Supabase) also record standard hosting logs containing IP address, user agent, timestamp and request path. These logs are retained per provider defaults and are not exported to third parties for analytics purposes.
Legal basis: Art. 6(1)(f) GDPR — our legitimate interests in (i) detecting abuse, cheating and unauthorised access to protect the fairness of the game for all users; (ii) auditing privileged administrative actions to ensure accountability; and (iii) maintaining the technical security and integrity of the platform.
We have carried out a balancing assessment: the logs are retained for a limited period only (audit logs: 12 months; hosting logs: up to 30 days per provider defaults), are not shared with third parties for marketing or analytics purposes, and are accessed only where there is a specific reason to investigate an incident. We consider that our interests are not overridden by users' interests, given the minimal intrusiveness of the processing and the importance of platform security for all users.
You have the right to object to processing based on our legitimate interests under Art. 21 GDPR; please contact us at hello@tinyhamster.app.
2.6 Prize payout handling
If you win a prize competition, we will contact you via your registered email address. At your request, you provide either a PayPal email address or SEPA bank details (account holder name, IBAN, optional BIC) for the payout. Payment details are not stored by default and are collected solely for the single payout event. Once the transfer is complete, the payment details are discarded. Payout records and supporting documents are retained in accordance with the German commercial and tax retention obligation (§ 147 AO) as described in Section 5.
Legal basis: Art. 6(1)(b) GDPR (performance of the prize arrangement) and Art. 6(1)(c) GDPR (legal retention obligation under § 147 AO).
2.7 Cookies and local storage
We use essential storage only. A Supabase authentication session token is stored in your browser's localStorage to keep you signed in. This is strictly technically necessary for the service to function. A short-lived OAuth state cookie is set during a Google sign-in redirect, only when you use that sign-in method, and is automatically deleted as soon as the OAuth flow completes. We also store the dismissed/collapsed state of in-app UI hints (such as the notification and engagement nudges on /app/sports) in your browser's localStorage, so that hints you have already dismissed do not reappear on every visit.
No other cookies, tracking scripts, advertising pixels or non-essential browser storage is used.
These storage operations fall within the exemption under § 25(2) No. 2 TDDDG (German Telecommunications and Digital Services Data Protection Act), which dispenses with the consent requirement where storage is strictly necessary to provide a digital service explicitly requested by the user. No consent banner is therefore required.
2.8 Pick Reminder Emails
To help you submit your picks before the applicable lock deadline, we send automated transactional reminder emails ("Pick Reminders"). These are service-operational emails; they are not marketing communications, newsletters, or promotional messages.
Data processed. For each Pick Reminder, we process the following data:
- your email address (from your account in Supabase Auth),
- your user ID and group membership,
- lock deadline timestamps for the relevant competition or matchday,
- a pick-completeness flag (a boolean value indicating whether you have already submitted picks for the upcoming deadline — no pick content or selections are processed),
- reminder dispatch records: a deduplication key (reminder_key), sent timestamp (sent_at), and associated email address.
No tracking pixels, open-rate tracking, or click trackers are used in Pick Reminders.
Legal basis: Art. 6(1)(f) GDPR — our legitimate interest in notifying you before your picks are locked, given that you have actively registered to participate in a prediction competition and can reasonably expect reminder communications before a deadline. We have assessed that this interest is not overridden by your interests or fundamental rights: the emails are strictly transactional, contain no promotional content, and are subject to a hard cap of three reminder emails per user per day. You may opt out at any time (see below).
Processor. Pick Reminders are dispatched via Mailgun, operated by Sinch Email, acting as a sub-processor through Lovable Cloud's email infrastructure. Email sending and processing take place within the EU. A data processing agreement covering this processing activity is in place with Lovable Cloud.
Retention. Reminder dispatch records (reminder_key, email address, sent_at) are retained in an append-only log for 90 days, after which they are deleted.
Unsubscribe / right to object. Every Pick Reminder email contains a one-click unsubscribe link. Unsubscribing globally suppresses all Pick Reminders for your account (no granular per-sport selection is available). Authentication emails (password reset, email verification) are not affected by an unsubscribe. You may also object to this processing at any time by contacting us at hello@tinyhamster.app. Opting out does not affect your ability to continue using the Service.
Suppression list. Email addresses that have unsubscribed, generated a hard bounce, or triggered a spam complaint are stored on a permanent suppression list. This data is retained indefinitely to ensure that no further Pick Reminders are sent to those addresses.
Legal basis for the suppression list: Art. 6(1)(f) GDPR — our legitimate interest in honouring opt-outs and in complying with email deliverability standards; and Art. 6(1)(c) GDPR — compliance with applicable anti-spam obligations.
2.9 Engagement Communications (Essentials & Banter)
In addition to Pick Reminders, we send two further categories of engagement communications, dispatched manually by an authorised administrator. For each category, you can choose per channel (email, push, or off) how you wish to receive it; the channels are mutually exclusive, and no message is sent on more than one channel.
(a) Essentials — service-related announcements such as new releases, planned or unplanned outages, changes to our terms, and the launch of new sport modes. Essentials are operational communications directly tied to your use of the prediction service.
Data processed. We process your email address and/or push subscription (depending on your channel preference), your user ID and your per-category channel preference for Essentials. No tracking pixels, open-rate tracking, or click trackers are used.
Legal basis: Art. 6(1)(f) GDPR — our legitimate interest in informing active users of a prediction game about service-relevant changes that may affect their participation. We have assessed that this interest is not overridden by your interests: the messages are strictly service-operational, contain no promotional content, are sent infrequently and on an ad-hoc basis, and you may opt out at any time per channel via your notification settings or via the one-click unsubscribe link in any Essentials email.
(b) Banter — editorial and community content such as recaps, storylines and other "nice-to-have" entertainment around the prediction games.
Data processed. We process your email address and/or push subscription (depending on your channel preference), your user ID and your per-category channel preference for Banter. No tracking pixels, open-rate tracking, or click trackers are used.
Legal basis: Art. 6(1)(a) GDPR — your freely given consent, expressed by setting the Banter channel preference to "email" or "push" in your notification settings. We do not rely on legitimate interest for Banter, given its community/marketing-adjacent character. You may withdraw your consent at any time, with effect for the future, by setting the Banter channel preference to "off" or by using the one-click unsubscribe link in any Banter email. Withdrawal does not affect the lawfulness of processing prior to withdrawal.
Recipient filtering. For both categories, recipients are filtered server-side before dispatch. Email addresses or push subscriptions that have unsubscribed, that are on the suppression list, or whose channel preference is set to a different value are hard-blocked from delivery.
Unsubscribe. Every Engagement email contains a one-click unsubscribe link compliant with RFC 8058 (List-Unsubscribe and List-Unsubscribe-Post headers). Unsubscribes are honoured immediately for the relevant category. You may additionally toggle each category off in your in-app notification settings at any time.
Processor. Engagement emails are dispatched via the same email infrastructure as Pick Reminders (Mailgun / Sinch Email, sub-processor via Lovable Cloud). Engagement push notifications are delivered via the standard browser/OS push services using the subscription data described in Section 2.4.
Retention. Engagement broadcast dispatch records (broadcast ID, category, channel, recipient address or subscription reference, sent timestamp) are retained in an append-only send log for 90 days, after which they are deleted. The email suppression list described in Section 2.8 applies equally to Engagement emails.
3.Why we collect it — purposes and legal bases
| Purpose | Data involved | Legal basis |
|---|---|---|
| Create and manage your account | Email, password hash, Google ID | Art. 6(1)(b) |
| Provide pick games and group play | Picks, group memberships | Art. 6(1)(b) |
| Show leaderboards inside groups | Display name, score | Art. 6(1)(b) |
| Store optional profile data (first name, last name, home country) | First name, last name, home country | Art. 6(1)(a) consent (freely given by voluntary input) |
| Push notifications | Push subscription, channel preferences | Art. 6(1)(a) consent |
| Prize payout handling | Email, PayPal / SEPA details | Art. 6(1)(b) and (c) |
| Detect abuse, audit admin actions | Audit logs, hosting-log IP | Art. 6(1)(f) |
| Secure platform operation | Server logs | Art. 6(1)(f) |
| Tax and accounting retention | Payout records | Art. 6(1)(c) |
| Send Pick Reminder emails | Email, user ID, lock timestamps, pick-completeness flag, reminder dispatch log | Art. 6(1)(f) |
| Send Essentials announcements (email / push) | Email and/or push subscription, user ID, channel preference, broadcast send log | Art. 6(1)(f) |
| Send Banter content (email / push) | Email and/or push subscription, user ID, channel preference, broadcast send log | Art. 6(1)(a) consent |
| Maintain email suppression list (unsubscribes, bounces, complaints) | Email address | Art. 6(1)(f) and Art. 6(1)(c) |
4.Who we share your data with
We do not sell your personal data. We do not share it with advertisers, data brokers or marketing partners.
Infrastructure providers (processors under Art. 28 GDPR). We use the following processors, with whom we have data processing agreements in place:
| Provider | Role | Location |
|---|---|---|
| Lovable Cloud | App hosting, edge/worker runtime, transactional email delivery (Pick Reminders and Engagement Communications) | EU / global edge |
| Supabase | Database, authentication, storage | EU (Frankfurt / eu-central-1) |
| Mailgun (via Lovable Cloud) | Pick Reminder and Engagement email dispatch (sub-processor) | EU |
Please note: Lovable Cloud operates a global edge network. To the extent any edge nodes outside the European Economic Area actively process your data (rather than merely routing traffic), we rely on appropriate safeguards under Chapter V GDPR. We monitor this arrangement on an ongoing basis and will update this Policy if the transfer basis changes.
Google (independent controller). If you choose to sign in with Google, your authentication request is handled by Google Ireland Ltd. / Google LLC as an independent controller. The transfer to the USA is covered by the adequacy decision of the European Commission of 10 July 2023 on the EU-US Data Privacy Framework (EU 2023/1795, Art. 45(3) GDPR), under which Google LLC is certified. We monitor the continued validity of this adequacy decision and will update our transfer basis if it is withdrawn or invalidated. Google OAuth is triggered only if you actively click "Continue with Google". Google's privacy policy is available at https://policies.google.com/privacy.
Payment providers (independent controllers). If you win a prize competition and opt in to a payout, your payment details are transferred to PayPal Europe S.à r.l. (for PayPal payouts) or processed via SEPA transfer through our EU bank. Both act as independent controllers for the payment transaction. PayPal Europe S.à r.l. is established in Luxembourg (EU), so no third-country transfer occurs.
Sport data providers. API-Football, ESPN and similar services provide read-only data feeds. No personal data about you is ever sent to these providers.
We do not use automated decision-making or profiling within the meaning of Art. 22 GDPR. Score calculation is deterministic game logic based solely on your picks versus the real sporting outcome.
5.How long we keep your data
| Data | Retention period |
|---|---|
| Account and profile data | Until you delete your account, or 24 months after your last sign-in (whichever comes first) |
| Picks and game history | For the lifetime of your account. After deletion, anonymised aggregates may remain in the Hall of Fame as "Former player". We ensure that such records cannot be linked back to any identifiable individual. |
| Push subscriptions (endpoint URL, p256dh, auth, user-agent, channel preferences) | Until you opt out in the app or your browser/OS, or until your browser invalidates the endpoint |
| Audit logs | 12 months |
| Hosting logs | Per provider defaults (typically up to 30 days) |
| Prize payout records | 8 years for payment vouchers / 10 years for accounting records (§ 147(1) nos. 1 and 4 AO). In practice we apply a uniform 10-year retention period to all payout-related records as a conservative measure. |
| Pick Reminder dispatch log (reminder_key, email, sent_at) | 90 days |
| Engagement broadcast dispatch log (Essentials and Banter: broadcast ID, category, channel, recipient address or subscription reference, sent timestamp) | 90 days |
| Email suppression list (unsubscribes, bounces, complaints) | Indefinitely (retained to prevent further emails being sent to opted-out or invalid addresses) |
6.Your rights
Under the GDPR, you have the following rights. You can exercise them by contacting us at hello@tinyhamster.app.
- Right of access (Art. 15) — you may request a copy of the personal data we hold about you.
- Right to rectification (Art. 16) — you may ask us to correct inaccurate or incomplete data.
- Right to erasure (Art. 17) — you may ask us to delete your personal data. You can also delete your account directly in the app via Profile → "Delete my account".
- Right to restriction of processing (Art. 18) — you may ask us to pause processing of your data in certain circumstances.
- Right to data portability (Art. 20) — you may request a structured, machine-readable export of your data. A JSON export is available on request.
- Right to object (Art. 21) — you may object to processing based on our legitimate interests (Art. 6(1)(f)), including processing for security and audit log purposes as described in Section 2.5, Pick Reminder email processing as described in Section 2.8, and Essentials engagement communications as described in Section 2.9. To opt out of Pick Reminders or Essentials specifically, you may use the one-click unsubscribe link in any such email, toggle the relevant category off in your in-app notification settings, or contact us at hello@tinyhamster.app.
- Right to withdraw consent — where processing is based on your consent (Art. 6(1)(a)), including optional profile data, push notifications (Section 2.4) and Banter engagement communications (Section 2.9), you may withdraw your consent at any time. For optional profile fields, you may do so by deleting the relevant data in your profile settings. For push notifications, you may do so by disabling them in the app or in your browser/OS settings. For Banter, you may do so by setting the Banter channel preference to "off" in your notification settings or by using the one-click unsubscribe link in any Banter email. Withdrawal does not affect the lawfulness of processing prior to withdrawal.
- Right to lodge a complaint — if you believe we are handling your data unlawfully, you may lodge a complaint with the competent supervisory authority. In Germany, the competent authority for Hamburg (the seat of tinyhamster GbR) is:
Ludwig-Erhard-Straße 22, 7. OG
20459 Hamburg
https://datenschutz-hamburg.de
You may alternatively lodge a complaint with the supervisory authority of your EU/EEA Member State of habitual residence, place of work or place of the alleged infringement (Art. 77 GDPR).
We aim to respond to all requests within one month.
7.No automated decision-making or profiling
We do not use your data for automated decision-making or profiling within the meaning of Art. 22 GDPR. Score calculation is fully deterministic and based solely on your submitted picks versus the real sporting outcome.
8.Minors
Tiny Hamster is not directed at children. Users must be at least 18 years old. If we become aware that an account belongs to a user under 18, we will delete it without undue delay.
9.Changes to this policy
We may update this Privacy Policy when our technical setup or processing activities change. If we make material changes — meaning changes that affect the purposes for which we process your data, the legal bases we rely on, or the categories of data we collect — we will announce them inside the app at least 30 days before they take effect, and where possible notify you by email. Non-material and purely clarifying changes (such as correcting typographical errors or updating contact details) take effect on the notified date without further action from you.
The "Last updated" date at the top of this page always reflects the current version.
Contact: hello@tinyhamster.app