Privacy Policy
Last updated: 2026-08-26
This policy covers both gridwerk.app (this website) and the GRIDWERK desktop application. We designed both to keep your music, projects, and creative data on your machine. This page explains what we collect, why, where it goes, and how to control it. Where a section describes a limit on what we collect, that limit is a description of what the software actually does — if we can't verify a protection, we don't claim it.
Website (gridwerk.app)
Privacy-friendly analytics
We use Plausible Analytics to count page views and understand which pages people visit. Plausible is cookieless, does not track you across sites, and does not build a personal profile. The data we see is aggregated:
- Page URL and referrer (where you came from)
- Browser, OS, screen size (broad categories only — e.g. "Chrome / Windows / desktop")
- Country (derived from IP, then discarded — your IP is never stored)
Our own analytics (first-party)
Alongside Plausible we run a small analytics pipeline of our own, because we would rather own the
numbers we make decisions on than rent them. Pages on this site post tiny JSON beacons to
/api/track, which appends a row to our
own Cloudflare D1 database. It records:
- Event type — page view, CTA click, outbound-link click, waitlist submit, referral share
- Page path, with the query string stripped before it is stored
- Referring host only (not the full referring URL)
- A
?ref=/ campaign code if the link you arrived on carried one - Country, from Cloudflare's country header
- A small properties blob — e.g. which button was clicked
- An anonymous visitor bucket: a truncated SHA-256 of your IP address, user agent and the current UTC date
That last one deserves a plain explanation. Because the date is part of the hash, the value changes every midnight UTC, so it can de-duplicate "how many people visited today" but cannot follow you from one day to the next. The IP address itself is used only as hash input and is never written to the database. No cookies are set for any of this, and none of it is shared with a third party.
Cookies and local storage on the website
The marketing site sets no analytics or advertising cookies. The only cookie used anywhere on
gridwerk.app is gridwerk_admin, a
strictly-necessary, httpOnly cookie used solely for staff access to the internal
/admin dashboard. It is not set for normal visitors. Separately, your light/dark theme choice is stored in
your browser's local storage so the page doesn't flash on the next visit; it never leaves your browser.
Hosting
The website is hosted on Cloudflare Pages, and our database (waitlist, licences, the analytics events above) is Cloudflare D1. Cloudflare may log connection metadata (IP, timestamp, requested URL) for security and abuse-prevention purposes per their privacy policy.
Who else processes this data
- Polar — payments and Merchant of Record. Polar handles checkout and holds your billing details; we never see or store your card. We receive your email address, order and licence details.
- Resend — transactional email (licence key delivery, licence recovery, waitlist confirmation). It processes your email address and the message we send you.
- Cloudflare — hosting and database, as above.
- Plausible — website analytics, as above.
- Sentry — desktop crash reports, described below.
- GitHub — hosts the release feed the desktop app checks for updates and the installers it downloads. We send it nothing about you; it sees the request the way any web server sees one.
Desktop app — what stays on your machine
- All audio files (samples, stems, masters, references)
- All project metadata (DAW projects, lyrics, notebooks, split sheets)
- All settings, presets, and library data
- All generated outputs (mastered files, separated stems, exports)
- The local SQLite database where the above is indexed
None of this is uploaded to GRIDWERK or any third party by default. The Analytics and Insights screens inside the app are computed on your machine from that local database — those numbers are yours and are never sent anywhere.
Desktop app — what leaves your machine
Crash reports (default: enabled, opt-out in Settings)
If GRIDWERK crashes, we send a crash report to Sentry, our error-reporting service. This only happens in installed production builds. A report contains the stack trace, the error message, the app version, your OS and, as breadcrumbs, recent internal log lines leading up to the crash.
To be accurate rather than flattering about that: stack traces and error messages routinely
contain file paths, so file paths do reach Sentry. Before an event leaves your machine we
rewrite your home directory — the part that contains your username — to
~. We also disable Sentry's
personal-data collection, so no account identity or IP-derived profile is attached, and we send no
performance traces. We do not send audio content or the contents of your database. We cannot promise
that a project or file name never appears inside an error message, so we won't. Disable crash reports
entirely in Settings → Privacy & Feedback; the change takes effect on the next restart.
Licence validation
GRIDWERK Pro checks your licence key against gridwerk.app when the app starts, and whenever you press Check now in Settings. Each check sends your licence key, a machine identifier, and the app version. If the check can't reach us, your licence keeps working — a one-time licence never lapses from being offline.
The machine identifier is a one-way, GRIDWERK-salted SHA-256 hash of a machine identifier Windows generates when it is installed. The underlying value never leaves your computer; we only ever see the hash, it cannot be reversed, and it cannot be matched against anything outside GRIDWERK. It is stable per machine rather than per install — which is deliberate, because it is what stops reinstalling GRIDWERK from eating one of your two seats. Where that Windows value can't be read, the app falls back to a random identifier it generates once and stores locally.
We log each check — key, machine identifier, result, app version, country and browser-style user agent string — so that support can see why an activation failed and so we can spot a key being shared across many machines. This log is also what enforces the two-machine limit on your licence. Polar, as our payment processor, sees what is required to bill you; we receive your email, order and licence status.
Update checks
An installed build asks our release feed on GitHub, once at startup and again whenever you press Check for updates, whether a newer version exists. That request carries no licence key, no machine identifier and nothing about your library — it is an ordinary file request, so GitHub sees it the way any website sees a visitor (IP address, time, user agent) under their privacy statement. Nothing is downloaded and nothing is installed until you choose to; auto-download is off.
Stem separation models
The first time you separate a track with a given model, GRIDWERK downloads that model's weights and keeps them in the app's own folder. It is a download, not an upload: your audio is not sent anywhere, and nothing about the track you are separating is included in the request. Every separation after the first one runs entirely offline.
Optional integrations (you choose)
Spotify
If you connect Spotify in Settings, we use OAuth to read public profile info, your top tracks, and artist data you search for. We do not write to your Spotify account. Tokens are stored locally.
YouTube / SoundCloud
Public artist data is fetched from public web pages. No login is sent. No accounts are created.
ByrddDrive backups (off by default)
ByrddDrive backup is opt-in and disabled until you turn it on and point it at a gateway. When it runs, GRIDWERK takes a snapshot of your local SQLite database and uploads that file to the ByrddDrive gateway you configured, where it is stored with redundancy across nodes.
Read this part carefully, because an earlier version of this page overstated it: GRIDWERK does not encrypt the backup file before uploading it. What leaves your machine is a byte-for-byte copy of the database, with nothing stripped out of it. That means, in full:
- Your library index — every sample, plugin, MIDI file and DAW project it has catalogued, including their full paths on your disk
- Project metadata: tracks, markers, presets, plugin usage, stages, to-dos and calendar entries
- Your written work — lyrics, notebook entries, project notes
- Business records — sample clearances, beat inventory and sales, imported royalty statements, and the revenue splits attached to them
- Collaborator records: the names, stage names, email addresses, phone numbers, social handles and split percentages of anyone you have added as an artist. That is other people's personal data, and it is on you where it ends up
- The access and refresh tokens for any integration you have connected (Spotify, for example)
- Your Pro licence key, which lives in the same database
- Job history and analysis results from mastering, mix coach and stem separation
Anyone who can read that file, or the gateway it is stored on, can read all of it. Only point this feature at a node you own or genuinely trust, and treat the gateway URL as part of your security. Note that GRIDWERK's other sync path — the folder-based one — does strip your licence key before writing anything, because that folder is normally inside Dropbox or Google Drive; the ByrddDrive snapshot has no such filter, which is exactly why it is spelled out here. Your ByrddDrive API key is a separate matter: it is encrypted at rest on your own machine using the operating system's keystore (DPAPI on Windows) where that is available.
Your audio files themselves are not part of this backup. Nothing is uploaded until you enable the feature.
What we never do
- We do not sell, share, or rent any data to advertisers or data brokers.
- We do not run behavioural or usage telemetry in the desktop app — no Mixpanel, no Amplitude, no Google Analytics, and no "which features did they click" tracking. Everything the app talks to on its own is listed above: crash reports, licence checks, the update check, and the one-time model download before your first stem separation. Everything else on the network is something you started — an integration you connected, a reference you pasted in, an export you asked for.
- We do not upload your audio, projects, or library to any server unless you explicitly trigger an export, sync, or backup feature.
Data retention
- Crash reports — retained by Sentry for 90 days, then auto-deleted.
- Plausible — aggregate only; no individual records exist to delete.
- Our first-party analytics events — kept indefinitely, because they are what long-run trend lines are made of. We are being precise rather than reassuring here: the rows persist, but the only visitor identifier in them stops being linkable to anything the moment the UTC date rolls over, so an event older than a day cannot be tied back to a person even by us.
- Licence records — kept for as long as the licence exists, which for a perpetual licence means indefinitely. These records are your proof of purchase: deleting them would delete your ability to reinstall or recover your key. If you ask us to erase them anyway we will, and we will tell you plainly that it ends the licence.
- Licence validation log — kept for as long as the licence is active, because seat management reads it: it is how we know which two machines your key is on. We do not currently run an automated purge on it, so we won't claim one; ask and we will delete the history for your key.
- Waitlist and email records — kept until you unsubscribe or ask us to delete them.
Your rights (GDPR / UK GDPR / CCPA)
You have the right to access, correct, port, restrict, or delete personal data we hold about you, and to
object to processing or withdraw consent. To exercise any of these rights, email
[email protected]. We respond within
30 days. To delete all local app data, uninstall GRIDWERK and remove the
%APPDATA%\GRIDWERK folder — that folder
holds the database, logs, and any local backups. (GRIDWERK v1 ships for Windows only; if we release a
macOS build we will add its path here.)
International transfers
Cloudflare, Sentry, Plausible, Polar and Resend may process data outside your country. Each provider participates in recognized transfer frameworks (Standard Contractual Clauses, EU-US Data Privacy Framework, or equivalent). Plausible's servers are EU-based by default.
Children
GRIDWERK is not directed at children under 16. We do not knowingly collect data from children. If you believe a child has provided personal data to us, contact us and we will delete it.
Contact
Questions or requests: [email protected].
This policy reflects current product behavior; it is not legal advice. We may update this page as the product evolves — material changes will be announced via the app's release notes and the Last Updated date above.