Skip to main content

Privacy Policy

Last updated: 2026-04-22

This policy explains how ks-giftcode ("we", "the service") collects, uses, and protects personal data. It is written to satisfy our obligations under the EU General Data Protection Regulation (GDPR) and the California Consumer Privacy Act / CPRA (CCPA).

1. Who we are

ks-giftcode is a community-run automation tool for the Kingshot mobile game. It accepts player-supplied Kingshot fid identifiers and redeems publicly announced gift codes on behalf of those players. The service is operated from the project's hosting provider (Vercel) and a managed Postgres database.

Questions about this policy can be sent to privacy@ks-giftcode.invalid.

2. Data we collect

CategorySourceExamples
Player identifierRegistration form10-digit Kingshot fid
Player profileKingshot /api/player responsenickname, kingdom, avatarText
Redemption outcomesKingshot redeem APIStatus, timestamps, retry counters
Admin identityEnvironment configurationADMIN_EMAIL, admin session cookie
Technical telemetryServer logs, error capturesRequest method, path, masked IP
Analytics (opt-in)First-party PostHog bootstrap$pageview, tab navigation events

We do not knowingly collect data from children. The Kingshot terms of service require players to be age-appropriate for their jurisdiction.

3. Legal bases (GDPR Art. 6)

redeem codes they have asked us to redeem.

accepts the on-page consent banner.

detect abuse of the service.

4. Retention schedule

See data-retention-policy.md for the authoritative, per-model table. In plain language:

long as the event is active, plus a reasonable period for ticketing and audit purposes. We do not run an automatic purge on these rows. You may request erasure at any time via DSAR — see §6 (Your rights).

(npm run privacy:retention). The current windows are:

DataRetention
Error logs (ErrorLog)90 days
Worker sync summaries (SyncRun)180 days
Redemption attempt rows180 days
Kingshot redemption feed (upstream)365 days

7 days and are re-issued on login.

PostHog, subject to that vendor's own policy.

5. Third-party processors

diagnostics (loaded only after explicit consent on the client side; server-side error reports contain no PII thanks to the existing scrubbing pipeline). Sentry receives stack traces, breadcrumbs (console, DOM, fetch), and the release identifier. Data is used solely for debugging and improving service reliability.

consent).

profiles and redeems gift codes. When a player's profile includes an avatar image URL, that image is loaded directly from Century Games' content delivery network (CDN). Your browser connects to the CDN when the image is rendered; this may reveal your IP address to Century Games. Avatar images are never stored by this service.

6. Your rights

Under GDPR and CCPA you have the right to:

1. Access — request a copy of the data we hold about you. 2. Rectify — request correction of inaccurate data. 3. Erase / delete — request deletion of your data. 4. Portability — receive your data in a machine-readable format. 5. Object / restrict — object to processing or ask us to restrict it.

To exercise these rights, email privacy@ks-giftcode.invalid with your Kingshot fid. Authorised operators use the admin endpoints /api/admin/privacy/export and /api/admin/privacy/delete to service requests within 30 days.

7. Cookies & tracking

Only two cookies are set:

CookiePurposeLifetime
admin_sessionAuthenticates the admin dashboard7 days
ks_consentRecords your analytics consent180 days

PostHog's own cookies are created only when you accept the consent banner. You can withdraw consent at any time by clearing ks_consent or clicking Reject in the banner after a fresh visit.

8. Changes

We post updates to this policy in the project repository under docs/privacy-policy.md. Material changes will be announced in the release notes for the affected version.

We use a single privacy-respecting analytics cookie to understand how the dashboard is used. No tracking loads until you agree. Read our privacy policy.