Privacy policy
Last updated: 6 November 2026
The short version
- Your projects never leave your device. Parts, panels, shapes and files you import are processed and saved in your own browser. We can't see them.
- No accounts, no sign-up, no advertising.
- Analytics only if you say yes. If you accept cookies, Google Analytics counts visits and which features are used. If you decline, nothing is sent to Google.
- A simple visitor count. Our own server counts visits each day, and a statistics cookie holding a random ID tells new visitors from returning ones. It's used for nothing else and you can opt out on the welcome screen or in Cookie settings. How it works
- Our web server keeps standard access logs for 14 days for security.
- Feedback is only what you send us, with no name or email needed. Messages and our replies are kept for up to 12 months.
You'll be asked to confirm you've read this policy and our terms of use before using PlyPlanner. That's separate from analytics: you can use every feature of PlyPlanner without accepting analytics cookies.
Who we are
PlyPlanner (plyplanner.com) is run by jden, who is the data controller for the personal data described here. For anything about this policy or your data, email PlyPlanner.
Your projects and files
PlyPlanner runs entirely in your web browser. Everything you enter (stock panels, parts, shapes, settings, saved projects and presets) is stored in your browser's local storage on your device. Files you import (DXF, SVG, CSV or project files) are read by your browser and are not uploaded anywhere. Exports (CSV, project files, print/PDF) are created on your device.
This means we don't hold your project data and can't recover it for you. Use More → Export project to keep a backup. You can delete it at any time by deleting projects in the app or clearing this site's data in your browser settings.
Cookies and similar storage
PlyPlanner uses your browser's local storage to make the app work. These items stay on your device and are never sent to us:
| Name | Purpose | Kept until |
|---|---|---|
plyplanner.current | The project you're working on, so it's still there next time | You delete it or clear site data |
plyplanner.projects | Projects you've saved | |
plyplanner.presets | Your saved panel sizes | |
plyplanner.view | Display options (labels, cut lines, etc.) | |
plyplanner.analyticsConsent | Remembers whether you accepted or declined analytics | |
plyplanner.feedbackKey | Your random reply key, only created if you send feedback, so you can see our replies | |
plyplanner.feedbackSeen | How many replies you've already seen, for the badge on the Feedback button | |
plyplanner.look | The look you picked (Workshop, Blueprint, Slate, Minimal or High contrast) | |
plyplanner.mode | Light, dark or automatic mode | |
plyplanner.privacyAccepted | Remembers which version of this policy you confirmed, so we only ask again if it changes | |
plyplanner.statsOptOut | Only if you opt out of the statistics cookie below: remembers that you did |
These are strictly necessary for features you ask for, so they don't need consent.
Our statistics cookie (you can opt out). Unless you opt out, our server sets one cookie of its own:
| Name | Purpose | Expires |
|---|---|---|
pp_vid | A random ID so our visitor count can tell new visitors from returning ones. Set by plyplanner.com only, sent only to our visit counter, can't be read by scripts on the page, and never shared. | 13 months after your last visit |
The law allows this kind of cookie without consent when it's used only to collect statistics that help us improve our own website, as long as we tell you about it and you can object. You can opt out with the Count my return visits box on the welcome screen or in Cookie settings; unticking it deletes the cookie and our record of its ID.
Analytics cookies, only with your consent. If you click Accept, Google Analytics sets these cookies:
| Name | Set by | Purpose | Expires |
|---|---|---|---|
_ga | Google Analytics | Tells visits from the same browser apart | 2 years |
_ga_<ID> | Google Analytics | Keeps track of the current visit | 2 years |
You can change your choice at any time with the Cookie settings link at the bottom of the app. Declining removes these cookies and stops analytics.
Analytics (Google Analytics for Firebase)
If you accept, we use Google Analytics for Firebase, provided by Google Ireland Limited and Google LLC, to understand how PlyPlanner is used so we can improve it. Google receives:
- pages viewed and how long visits last;
- your device type, browser, operating system, screen size and language;
- your approximate location (country and city), worked out from your IP address. Google Analytics does not log or store IP addresses;
- a few anonymous feature events: loading an example project, exporting a CSV, printing, importing a CAD file (file type and number of outlines only), saving a project, saving a shape, sending feedback (its type only, not the message) downloading a copy of your feedback, choosing a look, and starting or finishing the guided tour.
We never send your project contents, part names, measurements, file contents or anything that identifies you by name. Google Analytics keeps event-level data for no more than 14 months. Google may process this data in the United States; such transfers are covered by the UK–US Data Bridge and/or standard contractual clauses. See Google's privacy policy and how Google uses data from sites that use its services.
Lawful basis: your consent (UK GDPR Article 6(1)(a) and the Privacy and Electronic Communications Regulations). You can withdraw it at any time with Cookie settings.
Example: what one analytics event looks like
This is an illustrative example of what Google receives when someone who accepted analytics loads the 4-frame nuc example on a phone. The values are made up, but the fields are real:
// sent by PlyPlanner event name load_example example nuc4 page_location https://plyplanner.com/ page_title PlyPlanner — Cut List & Sheet Optimizer language en-gb screen_resolution 390x844 client_id 1849302716.1762434322 ← random number stored in the _ga cookie, not your name session_id 1762434322 // worked out by Google from the connection (IP address not stored) country / city United Kingdom / Leeds device mobile · Apple iPhone · iOS 18.1 · Safari 18.1
Not included: your project name, part names, measurements, materials, prices, shapes, imported files, or anything you type into PlyPlanner.
Visitor count
So we know roughly how many people use PlyPlanner, whether or not they accept analytics, our own server keeps a simple count of visitors and page views per day. It runs on our server in London; nothing is sent to Google or anyone else.
- Once you've accepted the welcome screen, and a few seconds after the page opens in a visible tab, your browser sends one small, empty request to
/api/stats/visit. Nothing is sent before then, so you can opt out of the statistics cookie first. - To tell visitors apart within a day, the server combines your IP address and browser user-agent with a random secret, and keeps only a one-way code made from them. The secret and the codes are held in memory only, never written to disk, and are thrown away at midnight (UTC) each day, so visits can't be linked from one day to the next or traced back to you.
- Automated traffic (search engine crawlers, link previews, monitoring tools and scripts) is recognised and not counted.
- The only thing stored is the total for each day, for example
2026-11-06: 42 visitors, 57 page views. These totals aren't personal data and we may keep them indefinitely. - These requests are not written to our server's access log.
- Returning visitors: unless you've opted out, the first request gets a
pp_vidcookie holding a random ID (see Cookies), and your browser sends it back with later visit requests only. We store a one-way code made from the ID (using a secret key on our server), with the first and last day it was seen, and nothing else. That lets us count new and returning visitors. It isn't stored with your IP address and isn't linked to your feedback or Google Analytics. Each visit renews the cookie for 13 months; the cookie and our record are deleted after 13 months without a visit. - Opting out: untick Count my return visits on the welcome screen or in Cookie settings. Your browser then asks our server to delete the cookie and our record of its ID straight away, and from then on you're counted only in the daily totals above, without any cookie.
Lawful basis: our legitimate interests in understanding how many people use PlyPlanner (UK GDPR Article 6(1)(f)). The pp_vid cookie relies on the exception in the UK's cookie rules (PECR, as amended by the Data (Use and Access) Act 2025) for storage used only to collect statistics that improve our own website, with clear information and a way to object. You can object at any time as described above.
Server logs and hosting
PlyPlanner is hosted on Amazon Web Services in London, UK. Like almost every website, our web server records each request (except the visitor-count requests described in Visitor count): your IP address, the date and time, the page or file requested, the response, the referring page and your browser's user-agent. We use these logs only to keep the site secure and working (for example, to investigate errors or abuse). They are deleted automatically after 14 days.
Lawful basis: our legitimate interests in running a secure, reliable website (UK GDPR Article 6(1)(f)).
Example: one line from our server log
Each request to plyplanner.com adds one line like this to the log (illustrative values; the IP address is a reserved example address):
203.0.113.42 - - [06/Nov/2026:13:05:22 +0000] "GET /app.js?v=f94a7899de HTTP/2.0" 200 18342 "https://plyplanner.com/" "Mozilla/5.0 (iPhone; CPU iPhone OS 18_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1 Mobile/15E148 Safari/604.1"
| Part of the line | What it is |
|---|---|
203.0.113.42 | The IP address the request came from |
[06/Nov/2026:13:05:22 +0000] | Date and time (UTC) |
"GET /app.js?v=… HTTP/2.0" | The file requested |
200 18342 | The result (200 = OK) and size in bytes |
"https://plyplanner.com/" | The page that asked for it (referrer) |
"Mozilla/5.0 (iPhone; …)" | Your browser and device type (user-agent) |
Requests for images and fonts aren't logged. Your projects are never in these logs, because they never leave your browser.
Feedback form
The feedback form doesn't ask for your name or email address. If you use it, we receive and store on our own server in London:
- the type of feedback (problem, idea or other) and your message;
- the app version, your window size and your browser's user-agent, to help us fix problems;
- your current project, only if you tick "Attach my current project";
- a scrambled (hashed) form of your reply key, so we can show you our replies.
How replies reach you without an email address
The first time you send feedback, your browser creates a long random reply key and keeps it in this browser's local storage (plyplanner.feedbackKey). It's sent with your messages, and when you open Feedback PlyPlanner uses it to show Your messages and any replies from us. If there's a new reply, the Feedback button shows a badge. Only browsers that have sent feedback ever check for replies.
We store only a one-way hash of the key, not the key itself, so our copy can't be used to read anyone's replies. The key isn't linked to your name, email or analytics, but it does link your own messages together, so we treat it as personal data.
Keeping a copy: Download a copy saves your messages and our replies as a text file on your device, with a restore code at the end. Restore my messages from a saved copy uses that code to show them again in another browser or after you clear your browser data. Keep the file private: anyone with the code can read those replies. If you lose the key and haven't saved a copy, we can't restore your messages, because we can't tell which ones are yours.
Example: what we see when you send feedback
This is how two messages look to us when we read them (illustrative examples):
🐞 2026-11-06 14:12 [8f3a1c27d904] problem ↩ can see replies 📎 project attached The router path on the barn owl front looks too close to the entrance hole. Is that right for a 6 mm bit? build 20261106T135338Z · screen 1366x768 · Mozilla/5.0 (Windows NT 10.0; Win64; x64) … Chrome/142.0 Safari/537.36 ↳ you, 2026-11-06 15:02: Good spot. That gap is the bit's width; it's fine for a 6 mm bit. 💡 2026-11-06 13:57 [521a5ef190a0] idea ↩ can see replies Could you add a 5-frame National nuc to the examples? build 20261106T135338Z · screen 390x844 · Mozilla/5.0 (iPhone; CPU iPhone OS 18_1 like Mac OS X) … Safari/604.1
| Part | What it is |
|---|---|
🐞 / 💡 / 💬 and problem | The type you picked: problem, idea or other |
2026-11-06 14:12 | When it was sent (UTC) |
[8f3a1c27d904] | A random reference number for the message |
↩ can see replies | The message came with a reply key, so a reply will reach you. We never see the key itself |
📎 project attached | Shown only if you ticked "Attach my current project". We then also receive that project (parts, sizes, materials and settings), so we can open it and see the problem |
| The message | Exactly what you wrote |
build 20261106T135338Z | Which version of PlyPlanner you were using |
screen 1366x768 | The size of the PlyPlanner window, to help with layout problems |
Mozilla/5.0 (Windows …) | Your browser's user-agent: browser, version and operating system |
↳ you, … : … | Our reply, which you'll see in PlyPlanner |
That's everything in the feedback record itself: it holds no name, email address, IP address, location, analytics ID or account.
Server log: sending feedback, or checking for replies, is a request to our website like any other, so it also appears in our server's access log (see Server logs) as one line with your IP address, the time, the address requested (/api/feedback) and your browser's user-agent. That line doesn't include your message, reply key or project, and it's deleted after 14 days with the rest of the log. The feedback service itself uses your IP address only briefly, in memory, to stop spam.
How long we keep it: messages and our replies are deleted automatically after 12 months. We use them only to reply to you and to improve PlyPlanner.
Lawful basis: our legitimate interests in supporting and improving PlyPlanner (UK GDPR Article 6(1)(f)). You choose whether to send feedback and what to include. To have a message deleted sooner, send a request through the feedback form (we'll see it alongside your other messages) or email us with the date and wording of the message.
If you use Or email us instead, your email is handled by our email provider like any other message and kept only as long as needed to deal with it.
Sharing
We don't sell or share your data. The only third parties involved are Amazon Web Services (hosting) and, if you consent, Google (analytics), each acting as our service provider.
Your rights
Under UK data protection law you have the right to access the personal data we hold about you, have it corrected or deleted, restrict or object to how we use it, data portability, and withdraw consent at any time. In practice we hold very little: server logs for 14 days, any feedback you send (and our replies) for 12 months, a one-way code made from your statistics cookie's random ID unless you opted out (deleted after 13 months without a visit, or as soon as you opt out), and analytics data held by Google only if you accepted. To exercise a right, email PlyPlanner.
Children
PlyPlanner is a general woodworking tool and isn't aimed at children under 13. We don't knowingly collect their data.
Changes to this policy
If we change how PlyPlanner uses data, we'll update this page and the date at the top. If we start collecting anything new that needs your consent, we'll ask again.