Privacy policy
Effective 16 September 2026. This is the first version.
Compressr is operated by Shannon Atkinson, a sole proprietor in Oregon, United States, trading as Compressr ("we", "us"). We are the data controller for everything described here.
| Postal address | 18124 Oatfield Rd, Gladstone, OR 97027, United States |
| Privacy and data requests | support@compressr.io |
| Response time | Within 30 days, and usually within a few days |
The short version
Your audio never leaves your device. If you never buy anything, we hold no data about you at all — the free version needs no account and makes no network request. If you do buy, we hold your email address, a password hash, what you bought according to Stripe, and a random identifier for each browser you install on. That is the whole list.
The full text below governs. This summary does not.
The promise about audio
Compressr measures and adjusts audio entirely inside your browser, on your machine, in real time. There is no server that receives your audio, no upload step, and no "send a sample for analysis" feature — by design, not merely by current implementation.
The following are never transmitted anywhere, under any setting, by any code path:
- Tab audio or any captured PCM audio data
- Microphone input
- Video frames or screen content
- Page content, DOM, or text
- URLs, tab titles, or browsing history
Loudness measurement, the AGC rider, the compressor, dialogue enhancement, sudden-volume
protection and the true-peak limiter all run inside an AudioWorkletProcessor in the browser.
Nothing in the audio engine has network access, and an import boundary enforced by the build
prevents that changing by accident.
This is checkable rather than asserted: the extension contains exactly one network call in its entire source, the licence check described below. The Safari version from the Mac App Store makes none at all — it learns about a purchase from the Compressr app on the same Mac, as described below.
What we collect, and why
If you never buy anything: nothing
The free tier needs no account, creates no record, and makes no network request. We do not know you exist.
If you buy Pro in the Mac App Store: still nothing
Apple sells Compressr Pro to Mac App Store customers as an In-App Purchase. Apple handles the payment and your Apple Account; we are never told who bought it. StoreKit, Apple's purchase framework, verifies Apple's signed record of the purchase on your Mac. The Compressr app keeps a small file on the Mac, in a folder only Compressr and its Safari extension can read, saying whether Pro is owned plus Apple's transaction number and purchase date, so the extension can switch Pro on. That file never leaves your Mac and nothing about the purchase reaches our servers. Apple's privacy policy covers what Apple itself records about the sale.
If you buy a paid plan
| What | Why we have it | Legal basis (UK/EU) | How long we keep it |
|---|---|---|---|
| Email address | It identifies your account and is how you recover it | Performance of a contract | Until you ask us to delete the account |
| Password hash (bcrypt) | So you can sign in. We never see your password | Performance of a contract | Until you ask us to delete the account |
| Stripe customer id | Links your account to your payments | Performance of a contract | 7 years, as a financial record |
| Purchase and subscription status, amount, currency, dates | To know whether to unlock Pro, and for tax and accounting | Contract, and legal obligation for the accounting record | 7 years, as a financial record |
A random identifier per installation (install_id) |
So a licence can be bound to one browser, and so we can limit how many new installs an account activates | Legitimate interests: preventing wholesale account sharing | Until you ask us to delete the account |
| SHA-256 hash of each device credential | So your extension can prove it is yours without holding your account | Performance of a contract | Until the credential is revoked or the account is deleted |
We never see or store your card number. Stripe does.
We do not hold your name or your postal address unless a tax rule later requires collecting a billing address at checkout, in which case Stripe holds it and we see only the country.
Transient records
A one-time linking code lives for 60 seconds, is single-use, and is bound to one installation. Used and expired codes stop being usable immediately. They are not yet deleted from the database — they simply become inert. We are adding a scheduled deletion; until then, treat a spent code row as retained indefinitely. It contains no personal data beyond the account it belonged to.
Telemetry: opt-in, and currently not sent at all
In the shipping build, no telemetry is transmitted anywhere. The extension has no telemetry server and no network transport for one. Events collected after opt-in go into a small in-memory buffer and are discarded when the browser closes. Turning the setting on today changes nothing that leaves your machine.
The constraints below describe what any future transport would have to satisfy, so that adding one can never quietly become something broader. Telemetry is off by default, and when a user opts in it is limited to a fixed allow-list of event names — no free-form payloads, no audio, no page content attached to any event:
installed
capture_started
capture_failed
capture_provider
preset_selected
ab_used
fair_compare_used
upgrade_clicked
purchase_completed
dsp_error
If an event is not on this list, it is not sent. Adding one requires changing this document and the allow-list in the code, not merely calling a send function with a new string. The legal basis for any future telemetry would be your consent, which you can withdraw at any time by turning the setting off.
Site and device profiles
For automatic page-media leveling, a normalized hostname is passed to the extension's background only long enough to select an explicit site rule. It is never written to storage, never attached to telemetry, and never leaves the device.
- Site profiles (hostname to preset) are created only when you explicitly assign a preset to a site. Compressr does not build profiles passively from browsing history, and does not infer one from how long you spent on a page or how often you visit it.
- Device profiles are labels you choose, such as "Laptop speakers". They are not derived from hardware fingerprinting, device ids, or any signal you did not provide.
- Both are stored in
storage.localon your own machine. Nothing is written to browser sync, so they do not travel between your devices and we never receive them.
The website
This section is about compressr.io. It is separate from the extension, and nothing here affects the statements above.
The site sets no cookies. Not for analytics, not for preferences, not at all. There is no cookie banner because there is nothing to consent to.
The marketing pages run Cloudflare Web Analytics, a page-view counter and the only analytics on the site. It writes nothing to your browser, does not fingerprint you, and cannot follow you to other websites. It records the page viewed, the referring page, browser and device type, country, and how quickly the page loaded. Your IP address is used to derive the country and is then discarded at Cloudflare's edge rather than stored. There is no profile of you and no way for us to pick you out of the totals. Our legal basis is our legitimate interest in knowing whether the site works and which pages people read; because it is cookieless and identifies nobody, the balance sits comfortably in your favour.
The account, checkout and device-linking pages carry no analytics at all. Their Content-Security-Policy blocks any script we did not write, so the beacon that runs on the marketing pages cannot run where you sign in or pay.
If you would rather not be counted, any content blocker that blocks
static.cloudflareinsights.com will do it, and nothing on the site depends on it loading.
Cloudflare also serves the site and therefore handles the ordinary request logs any web host keeps. Stripe sets its own cookies on Stripe's own checkout and billing pages, under Stripe's privacy policy rather than ours.
Who else processes your data
We use as few processors as the product allows, and we do not sell or share your personal data with anyone for their own purposes. We have never sold personal data and have no plans to.
| Processor | What they handle | Where | Transfer mechanism |
|---|---|---|---|
| Supabase | Account, authentication, entitlement records | United States (us-east-2) | Standard Contractual Clauses |
| Stripe | Payments, card data, billing portal, receipts | United States and globally | EU-US Data Privacy Framework and Standard Contractual Clauses |
| Cloudflare | Website hosting, CDN, request logs, page-view analytics, inbound support mail | Globally, routed to the nearest edge | EU-US Data Privacy Framework and Standard Contractual Clauses |
We are based in the United States, so if you are in the UK, the EU or the EEA, your data is transferred outside your country to be processed. The mechanisms above are what make that lawful.
Chrome Web Store, Firefox Add-ons and the App Store distribute the extension and operate their own privacy policies over anything you do on their storefronts. We receive only aggregate install statistics from them, which identify nobody.
Your rights
Wherever you live, you can ask us to:
- tell you what we hold about you, and give you a copy;
- correct anything that is wrong;
- delete your account and the personal data in it;
- export it in a portable format;
- object to or restrict how we use it.
If you are in the UK, the EU or the EEA these are your rights under the UK GDPR and the GDPR, and where we rely on consent you may withdraw it at any time without affecting what came before. You also have the right to complain to your national supervisory authority — in the UK, the Information Commissioner's Office.
If you are in California, you have the right to know, delete, correct, and opt out of sale or sharing. We do not sell or share personal information, so there is no "Do Not Sell" mechanism to offer. We will not discriminate against you for exercising any right.
How to exercise any of these: email support@compressr.io from the address on your account. We will respond within 30 days, and usually within a few days. There is no charge. Account deletion is handled by us on request rather than by a button in the product; we are working on a self-serve control.
One limit worth stating plainly: we must keep the financial record of a purchase for seven years to satisfy tax law, so deleting your account removes your email address, your password hash, your install identifiers and your device credentials, but leaves the fact and amount of a payment, which Stripe holds regardless.
Security
Account data sits behind row-level security that denies access by default, so a signed-in user can read their own subscription and purchase rows and nothing else — not even their own Stripe customer id. Device credentials are stored only as SHA-256 hashes, so a database dump does not yield a usable credential. Entitlements are signed with ES256 and verified in the browser. The account and checkout pages load no third-party scripts and refuse to be embedded in a frame. Payments never touch our servers.
We publish our threat model, and the gaps we know about, at compressr.io/security/. No system is perfectly secure, and we would rather tell you what we are still working on than imply otherwise.
If you believe your account has been accessed by someone else, or you have found a vulnerability, email support@compressr.io.
Children
Compressr is not directed at children. You must be at least 13 to use it, and old enough to enter a contract where you live. We do not knowingly collect personal data from a child under 13. If you believe a child has given us data, email us and we will delete it.
Changes to this policy
If we change how we handle personal data in a way that affects you, we will email everyone with a paid account at least 30 days before it takes effect, and update the date at the top. Minor clarifications that do not change our practices may be made without notice. Past versions are visible in the project's public source history, so you can see exactly what changed and when.
Complaints
Talk to us first — email support@compressr.io and we will try to put it right. If you are not satisfied, you can complain to your data protection authority. Nothing in this policy removes a right your local law gives you.