Privacy Policy
Last updated 2026-10-09
This policy explains how HappyDale Holding LLC, an Illinois limited liability company ("we," "us"), handles information on internalconflictgame.com, the pre-release website for the game Internal Conflict. It covers this website, the Internal Conflict account you can create on it, and the Internal Conflict Discord Activity that reads that account. Two things are covered by their own policies: the Internal Conflict Discord bot has its own privacy policy, and the game itself will ship with one before release.
It is written to say what the code actually does, in plain words. It is not legal advice.
1. What we collect
- Pre-registration email. If you pre-register, we store the email address you submit (encrypted at rest, with a separate keyed fingerprint of it so we can recognise a repeat sign-up without reading the address), along with the referring page, any campaign tags in the link you used, the landing page, a two-letter country code our host derives from the connection, and a timestamp of your consent, so we can tell you about the beta and launch. Emails we send you contain a small tracking image that tells us only whether the message was opened, and how many times; links in them carry campaign tags. Unsubscribing or asking for deletion stops all of it.
- Your Internal Conflict account. If you create one we store your email address (encrypted, as above), your password as a scrypt hash that cannot be turned back into your password, your chosen callsign, and an internal player id. If you fill in a profile we also store what you told us: the platforms you play on, your graphics card, your connection, your time zone, the times you said you are free and any note you added, and the sign-up wave you are in. Staff can attach a short free-text note to an account for support purposes.
- Your Discord link, and what the Activity reads. If you link your Discord account, we store your Discord user id, the name you typed for it, and when the link was made, plus a short-lived hash of the one-time link code. Once linked, the Internal Conflict Discord Activity can read your callsign, what cosmetics you own, and your loadout, and can save your chosen loadout, weapon and faction back to us. Discord tells us your Discord user id when you authorise the Activity; we do not receive your Discord email or password.
- Your Steam link and playtest key. If you link your Steam account, Steam confirms to us which Steam account you control by sending back your SteamID64 (a public number), and we store it with the time you linked it and your Steam display name. Steam does not send us your Steam password, email or friends list. If your account, Steam and Discord are all linked, we may set aside one playtest key for you: we store which key, that it is yours, when it was set aside, when we messaged you about it on Discord and when you opened it. When you open it, you also get your own itch.io download link for the same playtest, handled the same way. The key and the link are stored encrypted and shown only to you, on your profile page and in the Discord Activity. We also keep a one-way fingerprint of your Steam and Discord account on the key, so each of them can only ever receive one key. If you do not open it within 7 days it goes back to the pool and nothing left on it, fingerprint included, says it was ever meant for you.
- Giveaway entries. If you enter a giveaway, we store one entry row holding the campaign, your Discord user id, your player id, the email address on your account, the time you entered, the entry's status, and, if staff reviewed it or you won, who reviewed it and when. Some older rows also hold a Steam id from an earlier version of the entry flow; nothing writes a Steam id any more. The full terms are in the Official Rules.
- Founding Supporters credit. If you buy the Founding Supporter pack, you choose a display name for the public Founding Supporters roll. We store that name, whether staff have approved it, who reviewed it and when, and the Stripe payment reference for the purchase. The name is shown publicly only once it is approved and only while that paid purchase is still active, so a refund takes it off every page without anyone editing it. Developer access, if staff grant it to your account, is stored as a grant on your account with an optional staff note.
- Purchases. If you buy a cosmetic, we store a ledger row holding your internal player id, the product, the amount, the currency, whether it is active or revoked, and Stripe's identifiers for the checkout session, payment and customer. Stripe collects and processes your payment details on its own pages; we never receive or store your card number, and we do not store a billing name or address. Each time you press Buy while signed in we also keep a checkout attempt record: your internal player id, the pack, the time, what happened (opened, refused because you already own it, completed, abandoned and so on) and Stripe's checkout reference. If you accepted analytics, that record also holds the visit id and first campaign source described below.
- Visit signal (only with your consent). If you accept analytics on the consent banner, the site sends us the page path, the referring site, campaign tags in the link, a country code, and which parts of a page were reached (for example scrolling to the end, finishing the map or clicking pre-register, and on the store, which pack you looked at, whether you started a checkout and roughly how long you stayed). It uses no cookies, and we do not keep your IP address with it. It also carries a random visit id: a number made up in your browser that lives only in that tab, is deleted when the tab closes, and is deleted at once if you withdraw consent. It holds nothing about you on its own. If you sign in and buy in that tab, the visit id is stored with your checkout, so our staff can link those visits to your purchase. That link is personal data and we treat it that way: only staff can see it, we remove the visit id from our records after 90 days, we never sell it and we never use it for advertising. If you decline, make no choice, or have Global Privacy Control switched on, nothing is sent and no visit id is created.
- Analytics (only with your consent). Some pages on this site offer a consent banner. If you accept, we load Google Analytics 4 to understand aggregate site traffic. On the store, Google Analytics also receives standard ecommerce events: which pack you viewed, that you began a checkout, and a completed purchase with its price, currency and pack name. It never receives your email, callsign, player id, the visit id above or any payment details. If you decline, make no choice or have Global Privacy Control switched on, it never loads and no analytics cookies are set. Pages that do not carry the banner, including the sign-in, account, profile and giveaway pages, load no analytics at all.
- Sign-in cookie. Signing in sets one strictly necessary cookie,
ic_player, so you stay signed in. It holds a signed reference to your account, never your email or password, and page scripts cannot read it. The full list of what the site stores in your browser is in the Cookie Policy. - In-game press cameras. When a match is broadcast, we record which camera was held, by which in-game callsign, on which side, and for how long. That record holds a callsign only: no account id, no email.
- Music submitted to CH-99. If you submit a track to the Internal Conflict radio station, we receive your artist name, your email address and your track so we can review it, confirm you are authorising the broadcast, and email you a receipt with a reference number.
- Hosting logs. Our hosting provider keeps short-lived technical logs, such as IP address and request data, to run and secure the service. Our own sign-in logging records a staff sign-in attempt with its IP address to the host's runtime log; it is not written to a database.
We do not sell or share your personal information, and we do not use it for third-party advertising.
2. Why we hold each of these
- To give you what you asked for (contract, or your consent): your account and sign-in, your profile answers, your Discord link and loadout, your giveaway entry, your purchase, your radio submission, and the beta and launch mail you pre-registered for.
- To run and protect the service (our legitimate interests): the sign-in cookie and session, rate limiting, checkout attempt records, press-camera records, staff support notes, and hosting logs.
- To measure traffic and the store (your consent only): the visit signal and its visit id, and Google Analytics, and nothing else.
- To meet obligations we cannot waive (legal obligation): purchase and refund records, and the record that an erasure happened.
3. Who else sees it
We share information only with the service providers who run the service for us, and with legal recipients where the law requires it:
- Vercel, hosting for this website and its API.
- Neon, the database holding accounts, entries, entitlements and the Discord bot's activity log.
- Resend, which sends our email.
- Stripe, which takes payments. Stripe is the controller of the payment details you give it.
- Discord, when you link your account or use the Activity or the bot. Discord's own handling of your data is governed by Discord's privacy policy, not this one.
- Google Analytics, only if you accepted analytics on the consent banner.
- Our own servers for the Discord bot and for the CH-99 radio station, which are rented machines in Germany and Finland run by us and by nobody else.
We are a US company, so data held on those European machines is accessed from the United States by us for support and maintenance. It is not passed to anyone else.
4. How long we keep it
- Pre-registration emails: until the launch mailing list is retired or you ask us to remove you, whichever comes first.
- Account data: while the account exists. You can delete it yourself, or ask us to: see section 6.
- Giveaway entries: until the prize has been awarded and delivered and any dispute about it is resolved.
- Purchase records: kept after an account is deleted, because we are required to keep them for tax, refund, chargeback and fraud purposes. They hold your internal player id and Stripe's identifiers, not your name or address.
- Discord bot activity log: 90 days, then deleted. On the bot's own box that sweep runs on a schedule; the copy on this website is swept by the operator on the same window rather than by a timer. Detail is in the bot privacy policy.
- Consent-based analytics: retained by Google Analytics for up to 14 months.
- Visit id and campaign source on checkouts: removed after 90 days. The visit counts stay, with no id on them.
- Checkout attempts that did not become a purchase: deleted after 180 days.
- Hosting logs: our provider's standard short schedule.
When we erase someone at their request, we keep one line recording that an erasure happened and how many rows it removed. It holds no address and no content. Keeping it is what lets us prove the erasure was done.
5. Your rights
If you are in the EU, the UK, California, or anywhere with similar laws, you can ask us at any time to:
- See the personal data we hold about you (access);
- Fix it if it is wrong (rectification);
- Delete it (erasure);
- Pause how we use it (restriction);
- Take it with you in a portable format (portability);
- Object to our use of it (objection).
We do not make automated decisions about you, and we do not sell or share personal information as those words are defined in California law. We honor Global Privacy Control signals, and we will not treat you differently for asking. To exercise any right, email admin@happydale.net. We will respond within one month.
If you are in the UK or the EU you can also complain to your national data protection authority. We would rather you told us first so we can put it right.
6. Deleting your account and your data
There are two routes, and they erase exactly the same things.
From your account page. Sign in, go to your account page, scroll to Delete your account, type your callsign or the email address on the account, and confirm. It happens immediately and it cannot be undone. There is no grace period and no restore. If that card tells you deletion is not switched on yet, it is not: use the email route below and we will do it by hand.
By email. Write to admin@happydale.net from the address on your account, or ask staff in our Discord. We do it by hand, normally within a few days and always within 30 days.
Either way, this is exactly what happens. It is one database transaction, so it either all happens or none of it does:
- Deleted: your account row (address, password, callsign, platform and availability answers, and any staff note on you), your mailing-list row, the record of which mailings went to you, your loadout, your Discord link, your play sessions, our record of emails delivered to you, and our copy of the Discord bot's activity log wherever it names you, your Founding Supporters credit name, any developer access granted to your account, and your checkout attempt records.
- Store visit records stay, with the visit id that linked them to you removed. Page and store visit counts are kept as plain counts; the visit id that tied those visits to your checkouts is removed first, so nothing left links them to you.
- Any giveaway entry is deleted with it. A deleted account cannot win a prize, so deleting your account withdraws you from the draw. The confirmation email says so. If you want back in, make a new account and enter again while the giveaway is still open.
- Purchase records stay, with your identifiers stripped. We are required to keep what we were paid, when, and for what, for tax, refund and chargeback purposes, and a card dispute can arrive months later. What is removed is the line pointing at you inside our payment provider. What is left is your internal player id, which no longer matches any account here, plus Stripe's own references for the sale, the amount and the date. No name, no address, no card.
- Order records in our internal console stay, with your address and callsign removed. Our operations console keeps its own copy of what was ordered, for what amount, on what date and with what status, for the same tax, refund and chargeback reasons. The email address on it is blanked and the callsign is replaced with the word ERASED.
- Press camera telemetry stays, with your callsign removed. If you have ever filmed as press in-game, the record that a camera was in use at a time on a server survives with your in-game name replaced by the word ERASED.
- A playtest key you opened stays used, with your account removed from it. Steam does not let us take a key back once it has been shown, so the key stays marked as used and is never given to anyone else. Your Steam id, Discord id and account are removed from it. What stays is a one-way fingerprint of the Steam and Discord account it went to, which cannot be turned back into either id and is used only so the same Steam or Discord account cannot claim a second key. A key that was only set aside for you goes back to the pool. The same applies to the itch download link that comes with a claimed key.
- A playtest key you opened stays used, with your account removed from it. Steam does not let us take a key back once it has been shown, so the key stays marked as used and is never given to anyone else. Your Steam id, Discord id and account are removed from it. What stays is a one-way fingerprint of the Steam and Discord account it went to, which cannot be turned back into either id and is used only so the same Steam or Discord account cannot claim a second key. A key that was only set aside for you goes back to the pool.
- An itch.io download link given to you stays used, with your account removed from it. A link that has been shown cannot be taken back, so it stays marked as used and is never given to anyone else.
- Our staff log stays, with you removed from it. If a staff member ever acted on your account, the record of what they did survives with your player id and your name taken out of it.
- We keep one line saying an erasure happened, holding a count and no address. It is what lets us prove the erasure was done, and it is not a contact record.
- We send one final email confirming the deletion, naming what went. Then your address is gone from our side.
The Discord bot's own database is separate. It runs on our own machine and holds your XP, wallet, inventory, moderation cases, tickets and the 7-day copy of messages. Deleting your website account does not reach it, and it cannot: this site has no key to that machine. A server administrator erases it with /admin forgetuser, which the bot's reply now states plainly cuts the other way too. If you want both, ask for both and we will do both. Detail in the bot privacy policy.
7. Children
This site is not directed to children under 13, we do not knowingly collect their personal information, and we do not ask your age when you create an account. If you are a parent or guardian and you believe a child under 13 has given us an email address or made an account, contact us and we will delete it. Our Discord bot and Activity are for people who meet Discord's own minimum age of 13, or older where local law requires it. Giveaways have their own, higher age limit, stated in the Official Rules.
8. Security
We use reasonable technical and organizational measures to protect information. No system is perfectly secure.
9. Changes
We may update this policy. Changes appear on this page with a new "last updated" date.
10. Contact
HappyDale Holding LLC ยท admin@happydale.net