CNC Werkbank is offline-first: your designs, projects and G-code are processed entirely in your browser and never sent to us. This notice covers the small amount of data our backend does handle.
Wolfgang Liertz Coaching, owner Wolfgang Liertz, Muxelstraße 1, 81479 München, Germany. Contact: info@cncw.eu. A Data Protection Officer is not required (no large-scale, special-category or systematic-monitoring processing, and well below the § 38 BDSG threshold); the address above is the privacy contact.
| Data | Purpose | Legal basis (Art. 6 GDPR) | Retention |
|---|---|---|---|
| Waitlist e-mail | Notify you when the pilot opens | Consent, Art. 6(1)(a) — double opt-in: submitting the form only sends you a confirmation mail; consent is given when you click the link in it | If you never confirm: deleted shortly after the 48-hour confirmation window expires, and never mailed again. Once confirmed: until you unsubscribe/delete, at most 24 months. Both are enforced by an hourly clean-up job, not only when somebody else signs up |
| Confirmation record (consent evidence) | Prove that you opted in: the time you confirmed, and a salted SHA-256 hash of the IP address the signup came from. The raw IP address is not stored. The confirmation and unsubscribe links are stored as hashes only, never in plain text | Consent, Art. 6(1)(a) in conjunction with Art. 7(1) | Deleted together with the waitlist entry |
| Email-hash (SHA-256) + license state | Issue & verify your Pro license | Contract, Art. 6(1)(b) | 12 months after the licence expires; a perpetual licence is kept for as long as you hold it |
| Pseudonymous per-device trial id | One free trial per device; abuse prevention | Legitimate interest, Art. 6(1)(f) | 90 days |
| Access-code redemption (per-device trial id + the code) | Cap a Pro access code to the number of devices it was issued for, and re-issue the same licence to a device that already redeemed | Legitimate interest, Art. 6(1)(f) | Kept while the code exists — it is the abuse cap itself, so it is not removed by “Delete my data” |
| Rate-limit counter | Abuse and brute-force protection. Stored as a SHA-256 hash of (salt + route + your IP address + the current time window) plus a request count. The raw IP address is not stored, and the hash cannot be looked up by address | Legitimate interest, Art. 6(1)(f) | The current time window only — a counter is deleted as soon as its window closes |
| Aggregate analytics | Count visits (Cloudflare Web Analytics, cookieless) | Legitimate interest, Art. 6(1)(f) | Aggregated only |
| Anonymous usage analytics | Which app steps you reach and features you use, to find drop-offs. No designs, no cookies. Opt out in the app. | Legitimate interest, Art. 6(1)(f); return-visit stats opt-in 6(1)(a) | Aggregate counters only |
We use no tracking cookies. License and trial state live
in your browser's localStorage and are strictly necessary to
run the service (§ 25(2) TDDDG) — so no consent banner is shown. Payment
and invoicing are handled by our payment provider (below); card data never
reaches us.
These are the only three. Any transfer outside the EU/EEA relies on the provider's Standard Contractual Clauses.
You have the right to access (Art. 15), rectification (Art. 16), erasure (Art. 17), restriction (Art. 18), portability (Art. 20) and objection (Art. 21), and to withdraw consent at any time (Art. 7(3)).
You may lodge a complaint with a supervisory authority (Art. 77). The authority competent for us is the Bayerisches Landesamt für Datenschutzaufsicht (BayLDA), Promenade 27, 91522 Ansbach, Germany — www.lda.bayern.de.
Data is transmitted over TLS; identifiers are hashed; secrets are held in the Worker environment; we store the minimum possible. The waitlist confirmation link is single-use and expires after 48 hours, and both it and the unsubscribe link are stored as hashes only — neither our database nor our logs ever contain your e-mail address in a link. In the event of a personal-data breach we notify the competent authority within 72 hours where required.