Local first
Rosters work in browser storage before you create an account.
Analytics is optional
Non-essential measurement stays off until you opt in.
No data sales
We do not sell personal data or run advertising profiles.
1. Who is responsible
The operator of GrimSlate is the controller for personal data processed through this service. GrimSlate is an independent project based in Spain. Privacy requests and questions can be sent to command@grimslate.com.
This policy uses “we”, “us”, and “our” to refer to that operator. The email address above is the dedicated contact for privacy and data-rights requests.
2. Data we handle
Data kept on your device
- Rosters, unit configurations, local game state, favourites, offline caches, and deletion markers used for sync.
- Interface preferences such as theme, sidebar state, dismissed notices, and cookie choices.
- A random view or survey identifier only after analytics consent, used to avoid duplicate counts or responses.
This data remains in browser storage unless a feature expressly sends it to the service—for example cloud sync, a public roster, a live game, feedback, a report, or a survey response.
Account and profile data
- Email address, authentication identifiers, sign-in metadata, and password-reset or verification records.
- Username, display name, avatar, bio, profile visibility, and favourite faction.
- If you voluntarily link Ko-fi support, a one-way keyed hash of your account email, contribution count, membership-payment count, supporter dates, and your public-recognition preference. Ko-fi payment emails are not stored in plain text.
- If you choose Google sign-in, basic account data supplied by Google according to the permissions shown during sign-in. GrimSlate does not receive your Google password.
Content and activity you submit
- Cloud rosters and their visibility, live-game state and events, follows, likes, favourites, comments, and notifications.
- Feedback, optional contact details and screenshots, survey responses, and reports about users, lists, comments, or unit data.
- Public profile and roster information may be visible without signing in and may be indexed by search engines.
Technical and analytics data
Hosting and security systems may process IP address, request time, URL, browser or device information, and error or security logs. If you opt into analytics, the service may also process page routes, coarse location, referrer, device characteristics, feature events, and performance measurements. Enhanced analytics additionally links events to your account identifier and can include masked session replay.
3. Why we use data and our legal bases
- Provide the service and account: authentication, cloud sync, requested community features, live games, exports, and support. Basis: performance of the service you request.
- Protect and operate GrimSlate: prevent abuse, diagnose faults, preserve availability, enforce terms, and handle legal claims. Basis: legitimate interests and legal obligations, balanced against your rights.
- Publish content you choose to make public: profiles, rosters, comments, and optional supporter recognition. Basis: performance of the requested feature and your consent; you control profile, roster, and supporter visibility.
- Analytics, surveys, and session replay: understand use and improve design and performance. Basis: your consent, which can be withdrawn at any time.
- Service messages: verification, security, account recovery, and material policy or service notices. Basis: performance of the service, legitimate interests, or law. We do not currently send marketing newsletters.
GrimSlate does not use your data for solely automated decisions that produce legal or similarly significant effects.
4. Cookies, storage, and analytics choices
GrimSlate uses cookies and browser storage. Some are necessary for sign-in, security, core local-first features, saved preferences, and remembering your privacy choice. They do not require analytics consent.
- Essential only: analytics, view counting, anonymous surveys, and session replay remain off. The app still works.
- Anonymous analytics: after you opt in, PostHog records deliberately limited routes and feature events without cross-session persistence or an identified person profile; Vercel records aggregated page and performance data.
- Enhanced analytics: if separately enabled, PostHog may persist an analytics identifier, associate events with your account ID when signed in, and record a masked replay of interface interactions. Text and element attributes are masked by configuration.
Your choice stays reversible
Browser privacy signals such as Do Not Track are respected by PostHog in addition to these controls. GrimSlate does not use advertising or cross-site marketing cookies.
5. Service providers and international transfers
We disclose data only as necessary to processors that help run the service, when you choose an external service, when legally required, or to protect rights and safety. We do not sell personal data.
- Supabase: database, authentication, storage, realtime features, and account emails.
- Vercel: hosting, delivery, operational logs, and—only with consent—privacy-focused Web Analytics and Speed Insights.
- PostHog: product analytics and optional masked session replay, only after consent.
- Google: only if you select Google OAuth. Google then processes the sign-in under its own privacy terms.
- Discord and Ko-fi: external community and payment services. Visiting them is your choice and their own privacy terms apply. When Ko-fi confirms a payment, GrimSlate stores an idempotent private payment record containing amount, currency, payment type, tier, and date. Names and messages are discarded. The payment email is immediately converted to a keyed one-way hash and the plain email is discarded. It is associated with a GrimSlate profile only after that user voluntarily enables supporter recognition. PostHog receives only aggregate payment properties and an anonymous retry identifier.
Providers or their subprocessors may process data outside the European Economic Area. Where applicable, transfers rely on an adequacy decision, Standard Contractual Clauses, or another lawful safeguard. Exact hosting regions and processor settings should be reviewed whenever providers or project regions change.
6. How long data is kept
- Local data remains until you delete it, clear site storage, uninstall the PWA, or the browser removes it.
- Account, profile, sync, and community data remains while the account or relevant content exists, then is deleted or anonymised subject to backups and legal needs.
- Deleted comments may be soft-deleted for moderation and integrity purposes before final deletion or anonymisation.
- Reports, feedback, and support records remain only as long as needed to resolve them, prevent repeated abuse, and establish or defend claims.
- Private payment records and their one-way email hashes remain while needed to prevent duplicate processing, calculate voluntary supporter history, and meet accounting or legal obligations. Public recognition can be hidden or disconnected from a profile at any time.
- Security and infrastructure logs follow the configured provider retention periods and are kept only as long as operationally or legally necessary.
- Analytics follows the retention configured in PostHog and Vercel. Aggregated statistics may no longer be attributable to an individual.
Backups may retain deleted data for a limited rolling period and are protected from ordinary use until overwritten.
7. Your data-protection rights
Depending on your location and the circumstances, you may request access, correction, deletion, restriction, or portability of your personal data; object to processing based on legitimate interests; and withdraw consent at any time without affecting earlier lawful processing.
Send a request to command@grimslate.com. We may need enough information to verify your identity and normally respond within one month under GDPR. Requests are generally free unless manifestly unfounded or excessive.
You may also complain to your local supervisory authority. In Spain, this is the Agencia Española de Protección de Datos (AEPD).
8. Security and younger users
We use access controls, row-level database policies, transport encryption, provider security controls, and data minimisation. No online service can guarantee absolute security, so keep independent exports of important lists and report suspected incidents promptly.
GrimSlate is not directed to children under 14 and does not knowingly seek their personal data. Users below the age at which they can independently consent where they live must have authorisation from a parent or guardian. Contact us if you believe a child's data was submitted improperly.
9. Policy changes and contact
We may revise this policy as features, providers, or legal requirements change. The updated date will always appear at the top. Material changes will be highlighted in the service or sent to registered users where appropriate.
Privacy and data-rights contact: command@grimslate.com.
This page is intended to be clear and useful. If anything is ambiguous, contact us before relying on it.