Privacy notice
Last updated
The short version
FrameReady runs in your browser. Your photos and artwork are never uploaded, stored or seen by us. We set no cookies. What does reach a server is ordinary web traffic, anonymous usage events (no cookies), and — only if you buy or activate Pro — your purchase and a license-key check. Each is explained below.
Who is responsible for your data?
FrameReady is run by Paperkiln Studio, an independent software studio in Canada that builds small, privacy-first tools for artists, makers and anyone who prints. Paperkiln Studio is the controller for the personal data described here (the "organization accountable" under Canada's PIPEDA). Contact for privacy questions and requests: support@getframeready.com.
What stays on your device
Reading your image, converting iPhone HEIC photos, cropping, resampling, writing DPI metadata, zipping and generating PDFs and listing images all happen in your browser using Web Workers, WebAssembly and the Canvas API. Exported files exist only in your tab's memory until you download them or close the tab. Your work in progress is saved only in this browser on this device and is never uploaded. It is kept in this browser for up to 14 days after your last change; it is removed the next time you open FrameReady after that, or whenever you choose Start fresh or Clear saved work. Clearing your browser's site data also removes it. We have no server that receives images and no database of files.
Your browser's local storage keeps your tool settings (for example output format, selected ratios, file-name template and shop name) and, if you activate Pro, your license key, its activation ID, the signed license token and when it was last checked (plus, while an activation is in progress, the browser label being activated). Session storage remembers small things such as a dismissed hint. This stays in your browser; clearing the site's data removes it.
What we receive, and why
- Web traffic (hosting and security). Our host, Cloudflare, Inc., processes each request — your IP address, browser user agent, the page or file requested and the time — to deliver the site and protect it from abuse. Our license, checkout and analytics endpoints count requests per IP address in memory for one minute to stop key-guessing and spam. The “Email me my key” form also keeps a keyed hash of your IP address (never the address itself) for up to two hours to limit requests. We don't combine this with anything else.
- Anonymous usage events. When you use the tools, your browser sends a few events to our own server (
/api/e), which counts them in Cloudflare Workers Analytics Engine. Each event carries only its name and the properties listed:upload(plan, count, via);export_free(files, zips, ratios, artworks, format, everySize);export_pro(files, zips, ratios, artworks, format, everySize);upgrade_click(source);license_activated;photo_upload(size, via);photo_download(size, kind, via, print);checkout_start(source);purchase_complete. Nothing else is sent or stored with them — no cookie, IP address, browser details, page address, referrer or identifier — so events can't be tied to you or to each other. No file names, image data, license keys, shop names or email addresses are ever included. We run no page-view tracking script; Cloudflare's own traffic statistics for our domain are counted at its network edge without cookies. - License checks (Pro only). When you activate Pro, your license key and a short browser label (for example "Chrome on macOS · 7f3a") go from your browser to our
/api/licenseendpoint, which checks the key against our license database (Cloudflare D1) and records the activation: the label, a random activation ID and when it was created and last checked. About once a day your browser re-checks the key with that activation ID. Signing out of Pro deletes the activation. The endpoint answers with a signed license token that your browser keeps and checks offline. - Purchases. Checkout is run by Stripe through Link, the merchant of record, which sells Pro to you and handles payment, sales tax/VAT, invoices, payment support and refunds. Stripe collects your payment details and billing information under its own privacy policy. We never see your card details. When you pay, Stripe tells our server that the payment went through and which email address you used. We use that address only to email you your license key (retrying if that fails), and store only a keyed hash of it (so "Email me my key" can find your purchase), never the address itself. With the license we store the key in encrypted form (so we can send it again), its last four characters, Stripe's order reference numbers, whether it is active or was revoked after a refund or dispute, and dates. In our Stripe account we can also see the order — your name, email address, country and what you bought — which we use only for support, refunds and license resets. You need to give an email address at checkout to buy Pro: without it we can't send or recover your key. When you tick the box asking for Pro right away, our checkout records on the Stripe order that you did, which version of that wording you saw and when, as proof of that acknowledgement; it is kept with the order and repeated in your key email.
- "Email me my key". If you ask for your key again, the address you type is hashed the same way to look for a purchase. If there is one, we email its key to that address. We don't store the address you typed; a keyed hash of it is kept in a request counter for up to 25 hours, so nobody can flood an inbox with key emails.
- Emails you send us. If you write to us, we receive your email address and message and use them only to answer you. Mail to support@getframeready.com is forwarded by Cloudflare Email Routing to our Gmail mailbox, hosted by Google, where it is kept.
Pages, fonts and the HEIC decoder are all served from FrameReady's own domain; no advertising, social-media or other third-party scripts run on the site.
Legal bases
Under the GDPR (for visitors in the EU and UK) we rely on: legitimate interests for hosting, security and anonymous analytics (running a working, secure site and seeing which tools and features people use, without identifying anyone); performance of a contract for license checks, purchases and support; and legal obligations for keeping purchase records. Under PIPEDA we rely on your consent, which is implied by using the site for the purposes above; you can withdraw it at any time by not using the site, signing out of Pro and clearing the site's data, or contacting us.
How long data is kept
- Request counts for rate limiting: 1 minute, in memory. Key-recovery counters in our database (keyed hashes of an IP address, an email address or the two together, never the addresses): IP counters up to 2 hours, the others up to 25 hours; an hourly clean-up deletes them. License checks read the database every time; nothing about your key is cached in memory.
- Hosting logs and analytics: for the limited periods set by Cloudflare for our plan; usage events are kept for up to three months as anonymous counts.
- License key and settings in your browser: until you sign out of Pro or clear the site's data.
- License records (encrypted key, its last four characters, hashed purchase email, Stripe order references, status and dates): while the license exists, including after a refund or dispute (then marked revoked so the key can't be used again); ask us and we'll delete yours. Browser activations (label, activation ID, dates): until you sign out of Pro in that browser or we reset them at your request, and deleted automatically once that browser hasn't checked the key for 13 months (it then asks for the key again). A browser that hasn't checked the key for 8 days no longer counts toward the 5-browser limit. Refund and dispute markers and dispute outcomes (Stripe payment and dispute references only): 30 days. Stripe event IDs (no personal data): 30 days, so a repeated delivery is ignored. Checkout session IDs created by our checkout button: 4 days. Key emails: we keep no copy (if one fails, we retry it for up to a week by looking up the address in Stripe again).
- Order records: Stripe, as merchant of record, keeps the order (your name, email address, country and what you bought) under its own privacy policy, and we can see it in our Stripe account. We keep our own business records of sales and refunds (Stripe's payout and refund reports) for six years after the end of the tax year they relate to, as Canadian tax law requires. In our license database the order is only the license record above. Support emails: as long as needed to help you and keep a record of what was agreed.
Who processes data for us, and where
Cloudflare, Inc. (United States) hosts the site and runs the license endpoint, the license database and the key emails (Cloudflare Email Service; Resend, Inc., United States, only if we switch to it as a backup) and the anonymous event counts. Stripe (United States) runs checkout through Link. Their servers may be outside your country, including in the United States. Google (Gmail) (United States) hosts the mailbox that support@getframeready.com forwards to. Paperkiln Studio is based in Canada, which the European Commission recognises as providing adequate protection for commercial personal data. For transfers to the United States we rely on our providers' data-processing terms, which include the EU Standard Contractual Clauses and, where a provider is certified, the EU–US Data Privacy Framework.
When your data is stored or processed in the United States or another country, it is subject to that country's laws, and its courts, law-enforcement and national-security authorities may be able to access it.
Your rights
You can ask to access, correct or delete personal data we hold about you, and — under the GDPR — to restrict or object to its use or to receive a copy in a portable format. For most visitors we hold nothing that identifies them; for buyers it is the order record above. Email support@getframeready.com and we'll answer within 30 days. Signing out of Pro (in the header) removes the key from that browser, and clearing the site's data removes everything stored on your device.
We make no decisions about you by automated means that have legal or similarly significant effects.
If you're unhappy with our answer you can complain to the Office of the Privacy Commissioner of Canada, or, in the EU or UK, to your local data-protection authority.
Cookies
FrameReady sets no cookies, so there is no cookie banner. Local and session storage are used only for the features described above.
Changes
If what FrameReady collects changes, this notice changes first and the date at the top moves. See also the terms and who we are.