Privacy Policy — Brokk
Last updated: September 16, 2026
Brokk — Runes of Dawn ("Brokk", "the app", "we") is a single-player physics puzzle game set in the
nine Norse worlds, with a daily challenge. This policy explains what
information the app handles, where it goes, and how you can control it.
1. Summary
- The whole game is playable without signing in. Your
progress is stored on your device.
- Signing in with Apple or Google is optional. It puts
your name on the account plate and puts you on the leaderboards; it does
not transfer your progress anywhere.
- There are two advertisements in the app, and neither
one interrupts a game: a short video you can choose to
watch for one more throw after a lost fortress, and a single
sponsored card beside the panel that appears when you
win a fortress. There are no banners, no ads between levels and nothing
on the play field; the ads are never personalised, and
the app never asks for App Tracking Transparency.
- There is nothing to buy in this version of the app: no
purchases, no subscriptions, no virtual currency. A later version may add
an optional tip; if it does, this page will say so before it ships.
- The app has leaderboards: a daily, a weekly and an
all-time board. A row carries a name and a score, and
everyone using the app can see it. If you are not
signed in, nothing of yours goes up until you say so; signing in puts
you on the boards under the nickname you choose.
- Usage analytics are switched off until you answer the
question the app asks once, inside the game. Crash reports are collected
so we can fix what breaks.
- We do not sell your data.
2. What information is handled, and why
2.1 Always, whether or not you sign in
- Game state stored on your device — stars, scores,
attempts, unlocked fortresses, hint charges, daily-challenge results and
streak, settings (language, sound, music, vibration) and the nickname you
may enter. This is kept in the app's local storage. Your progress is
never uploaded; the nickname is, but only as the name on your own
leaderboard row, and only once you are on the boards (2.2).
- An anonymous account (Firebase Authentication) — at
launch the app signs in anonymously so it can fetch its fortress
catalogue from our backend. The anonymous identifier is not tied to your
name, your e-mail or your device's advertising identifier.
- Fortress catalogue and settings we publish (Firebase
Firestore) — the app reads the level bundle and a small
configuration document. The only thing it ever writes is your
own leaderboard row, and only once you are on the boards (see 2.2). Your
progress itself is never uploaded.
- Crash reports (Firebase Crashlytics) — if the app
crashes, a report with the crash trace, the app version, the device
model and operating-system version and a random installation identifier
is sent to us. It contains no name, e-mail or location.
- App integrity (Firebase App Check) — when the app talks
to our backend, the device attests that the request comes from a genuine
copy of Brokk (Apple App Attest / Google Play Integrity). The attestation
token identifies the app instance, not you.
2.2 Only if you are on the leaderboards
- Your leaderboard row (Firebase Firestore) — one row per
board, stored under your user identifier:
name, total score, stars, points and the time the row
was written on the daily board; name, score and the number of
days you turned up for on the weekly board; name, score, stars
and points on the all-time campaign board. Nothing else: no e-mail
address, no device information, no message of any kind, and no free text
other than the name.
- The name on the row — the nickname you chose, or, if you
have not chosen one, a name the app generates from your anonymous
identifier (for example
Brokk·7f3a). A chosen nickname is
at most 16 characters and has to pass an automatic profanity filter
before it is accepted.
- Who can see it — everyone using the app.
The boards are public by design: that is what a leaderboard is. The row
does not say who you are beyond the name on it.
- How your row gets there — if you are not signed in, the
app asks first and nothing is uploaded until you accept. Declining is a
real answer, and the whole game — campaign, daily challenge, stars — is
complete without ever joining. If you sign in, you are on the boards:
that is part of what signing in is for, and your existing rows are
renamed to the nickname you chose.
- Taking it down — see sections 7 and 8. Deleting your
account deletes your leaderboard rows: the all-time row, the weekly
rows and the daily rows, name and score together.
- Reporting a name — if you see a name on a board that
should not be there, write to
contact@fluttech.com and we
remove it.
2.3 Only if you allow analytics
- Usage analytics (Firebase Analytics) — collection is
disabled when the app starts. The first time you return
to the menu after clearing a fortress, the app asks once whether it may
measure how the game is played: which fortress was opened, won or lost,
how many throws it took, which hint was used, which screen was shown.
Nothing is collected before you say yes, and you can change your answer
at any time in Settings → Privacy. These events carry a
random app-instance identifier and coarse device information, and are
used to balance the levels.
2.4 Only if you sign in with Apple or Google
- Provider-issued user identifier — used by Firebase
Authentication to associate your sign-in with a stable account.
- E-mail address and display name — when you sign in with
Apple or Google we receive an e-mail address (or Apple's private relay
address if you chose Hide My Email) and the name the provider hands over.
They are stored only in Firebase Authentication, so the app can recognise
you and show whose account is signed in.
- Your progress — once you are signed in, the app keeps a
copy of your saved game in a private document tied to your account:
which fortresses you have beaten and with how many stars and points,
your daily-challenge results and streak, and the record of the hint
charges you have earned and spent. It does not include your settings,
which stay on the device. The copy is what lets your progress follow you
to a new phone, and it is merged with what is on the device rather than
replacing it — the better result of the two always wins.
- This document is private: unlike a leaderboard row, only
your own account can read it, which the security rules enforce on the
server. It is deleted together with your account (section 7), and a
guest session never has one at all. Your e-mail address is never shown
on a board.
2.5 Feedback you send
- Feedback you send (Firebase Firestore) — if you write to
us from Settings → About → Send feedback, what
you type is stored in our database together with your account
identifier, the language the game is set to and the app build you sent
it from. You may add an e-mail address if you want an answer; that field
is optional and is used for nothing else. Any player can send
feedback, signed in or not; if you are not signed in, the
identifier stored with it is the anonymous one, which says nothing about
who you are.
- Feedback is not public: no other player can read it, and
the security rules allow only us to. Because it is correspondence, we
keep it after an account is deleted, but the account identifier on it is
blanked at the same time, so it is no longer linked to you. Write to
contact@fluttech.com if you
would rather have a note removed entirely, and we delete it.
2.6 Purchases
This version of the app sells nothing: there are no in-app purchases, no
subscriptions and no virtual currency, so no purchase information exists to
collect. A later version may add an optional tip — a donation that gives you
nothing in the game — and if it does, this section will describe it before
it ships. Any such purchase would be processed entirely by Apple or Google in
their own sheet; we would never see your card, your billing address or your
name on it, and we would keep no purchase record.
2.7 The two advertisements
The app shows advertising in exactly two places, and neither one stands between
you and a fortress.
- A rewarded video you ask for. When a fortress is lost
because the throws ran out, and its runes are still caged, the app may
offer one short video in exchange for one more throw. The offer is a
single quiet line on the panel, it is made at most once per attempt, and
the line carries a box that turns it off for good (you can turn it back
on under Settings → Progress). Nothing is shown unless you start it, and
the game is complete without ever watching one: the same fortress is
winnable with the throws it gives you.
- One sponsored card beside a fortress you have won. The
panel that appears when you take a fortress can carry a single small card
next to it: the first time on the seventh fortress you clear, and then on
every second one after that. The card is asked for while you are still
playing the level, so the panel is drawn in its final shape and nothing
arrives later to move it; where the window is too narrow for both, there
is no card at all. It is never shown on the play field, on the daily
challenge, on a lost fortress, on the level map, in Settings or on the
title screen.
What that sends, and what it does not:
- Both are served by Google AdMob. Requesting an ad sends
Google a device identifier and the fact that an ad was shown, and Google
infers an approximate location from the network address the request came
from. That is the whole of it — no name, no e-mail, nothing about your
game.
- The ads are never personalised: every request is marked
non-personalised and rated for general audiences, so the ad you see is
not chosen from anything you have done before, here or anywhere
else.
- We never ask for App Tracking Transparency on iOS and do
not use the advertising identifier for tracking; on Android the app
removes the advertising-identifier permission from its own manifest.
- In the European Economic Area and the United Kingdom a
consent form from Google's User Messaging Platform is
shown before the first ad request — never at launch. Only the rewarded
video, which you start yourself, can open it; the sponsored card never
opens a form, and it asks for an ad only where that question has already
been answered and allowed. Where a form was shown, Settings → Privacy
carries an entry that reopens it so you can change your answer.
- Google processes this data as an independent controller under its own
policies: see
business.safety.google/privacy.
2.8 Features a later version may add
None of the following is in the app today. If we add any of them, we will
update this policy, the store questionnaires and the app's privacy settings
before the feature ships:
- Purchases that grant something in the game — hint packs,
a pass, cosmetics. Those would be verified against the store's servers,
which means we would then hold a purchase record; this policy and the
store questionnaires would say so first.
3. Who has access to what
| Data | Stored where | Visible to |
| Settings | Your device only | You |
| Game progress (fortresses, stars, points, daily results and streak, hint ledger) | Your device, and — only if you sign in — a private document in Firebase Firestore | You |
| Nickname (or the name generated for you) | Your device, and on your leaderboard row if you are on the boards | You — and, on a board, everyone using the app |
| Leaderboard row (name, score, stars, points, time; keyed by your anonymous or account user identifier) | Firebase Firestore | Everyone using the app |
| Anonymous account identifier | Firebase Authentication | Us (admin) |
| Feedback you send (and the optional e-mail address on it) | Firebase Firestore | You and us |
| Ad request (device identifier, the fact an ad was shown, an approximate location from your network address) | Google AdMob — when you start a rewarded video, and when a won fortress carries a sponsored card | Google; we see counts only |
| Crash reports | Firebase Crashlytics | Us |
| Analytics events (only if you allowed them) | Firebase Analytics | Us (aggregated) |
| E-mail, display name, provider user id (only if you sign in) | Firebase Authentication | You and us (admin) |
4. Third-party services we rely on
- Firebase (Google LLC) — Authentication, Firestore,
Analytics, Crashlytics, App Check. See
firebase.google.com/support/privacy.
- Sign in with Apple (Apple Inc.) — optional sign-in
provider. See apple.com/legal/privacy.
- Sign in with Google (Google LLC) — optional sign-in
provider. See policies.google.com/privacy.
- Google AdMob and the User Messaging Platform (Google LLC)
— the rewarded video, the sponsored card and the consent form in front of
the first ad request. See
business.safety.google/privacy.
- Apple App Store / Google Play — app distribution and,
for tips, payment processing, under their own privacy policies.
5. Tracking and ads
The app shows advertising in the two places described in section 2.7: a
rewarded video you ask for, and one sponsored card beside the panel of a
fortress you have won. There are no banners, no ads between levels, no ad on
opening and nothing on the play field. The ads are non-personalised, we do not
track your use of the app across other companies' apps or websites, and we
build no advertising profile of you. On iOS the app never asks for App Tracking
Transparency permission; on Android it removes the advertising-identifier
permission from its manifest.
6. Children
The app is not directed at children under 13 (under 16 in the EEA), and we do
not knowingly collect personal information from them. Signing in is optional,
and the only thing a player can publish to others is the name on a leaderboard
row: there is no chat, no messaging, no profile and no way to send an image,
a sound or a message to another player. Chosen nicknames pass an automatic
profanity filter, and any name can be reported to us and will be removed. We
recommend not using a real name on a board. If you believe a child
has provided personal information through sign-in, contact us at
contact@fluttech.com and we will
delete the account and associated data.
7. Your choices
- Analytics: Settings → Privacy. Your choice is stored on
the device and can be changed at any time.
- The rewarded video: the offer's own box turns it off for
good, and Settings → Progress turns it back on. Where Google's consent
form applies, Settings → Privacy reopens it.
- Reset local progress: Settings → Progress → Erase
progress, or Fresh install, or uninstall the app.
- Sign out: Settings → Account → Sign out. The app returns
to an anonymous session; the progress on your device is untouched and
stops being copied to your account, and the rows already on the boards
stay there under your account until you delete it.
- Delete your account: Settings → Account → Delete
account. This removes your Firebase Authentication record and the saved
game held under it, and, for an Apple account, revokes the token Apple
issued to Brokk. You can also
request deletion at
fluttech.com/brokk/delete_account.html
or by e-mail to contact@fluttech.com
from the address tied to your sign-in.
- Nickname: Settings → Account. Changing it renames the
rows you already have on the boards.
- Leaderboards: if you are not signed in, you decide
whether to join when the app asks, and declining costs you nothing in
the game. Deleting your account (above) takes your rows down as
described in section 8. To have a name removed from a board — yours or
someone else's — write to
contact@fluttech.com.
8. Data retention
Local game state is kept on your device until you erase it or delete the app.
Deleting your account does not erase it — you are offered a tick box on the
confirmation if you want that too. The copy held under a signed-in account is
kept while the account exists and is deleted with it.
Feedback you sent is kept as correspondence: deleting your account blanks the
account identifier on it rather than deleting the text, and a note is removed
entirely on request.
Crash reports are retained by Firebase Crashlytics for 90 days. Analytics
events, if you allowed them, are retained for 14 months. Your Firebase
Authentication record is kept while the account exists and is removed when you
delete it — immediately from the app, or within 30 days of an e-mailed
request.
Leaderboard rows stay up while the board does: a daily board is a record of
that day, and the all-time board is the campaign's standing. Deleting your
account deletes every row it owns — the all-time row, the current and
previous week, and your daily rows. The app reaches the last 30 days of daily
boards and every older day it still remembers you clearing; if a row survives
that, write to contact@fluttech.com
and we will remove it by hand. After a deletion or a sign-out the boards start
over on that device: the days played before it stay on the device but are never
sent to a daily or weekly board again under a later account.
9. International transfers
Data is processed on Google Firebase infrastructure. Google may process data in
various regions under the standard contractual clauses and the EU–US Data
Privacy Framework; see the Google privacy policy linked above for details.
10. Legal basis (EEA/UK)
We process device-local data, the anonymous session, app-integrity attestations
and crash reports on the basis of our legitimate interest in providing a
working game; analytics and — where the consent form applies — the ad request
on the basis of your consent; the sign-in data and
your leaderboard row on the basis of the service you asked for — a board you
joined, or the sign-in that put you on it. You have the right to access, correct,
export and erase your data, to object, and to lodge a complaint with your
supervisory authority.
11. Changes to this policy
If we update this policy, the "Last updated" date above will change. Continued
use of the app after a change means you accept the updated policy.
12. Contact
Data controller: Fluttech. For questions about this policy or to exercise the
rights in sections 7 and 10, contact:
contact@fluttech.com