Privacy policy
What personal data the Printypus service processes, why, and what your rights are (under the GDPR, Regulation 2016/679).
1. Controller
The controller is Michael Bala, ID No. 30127106, Kpt. Stránského 962/33, 198 00 Praha 9 – Černý Most, Czech Republic. For data protection matters write to contact@printypus.com.
2. What data and why
- E-mail address: creating the account and signing in, service messages (e.g. decisions on reported content) and the job-finished notice if you ask for it on a job or in your account settings (while job processing is temporarily paused, we turn it on for a new job ourselves and the form tells you so). Legal basis: performance of a contract (Art. 6(1)(b) GDPR).
- Password, if you set one: stored only as a cryptographic hash; we never know it in readable form. Performance of a contract.
- When you sign in with Google, we receive your e-mail, name, Google account identifier and possibly profile picture from Google; we never see your Google password. Performance of a contract.
- Uploaded models, photos (part from a photo), chosen settings, generated files and a small picture of the model for the job list: providing the service. Before upload your browser removes the photos’ metadata (EXIF, so also where they were taken): it converts them to JPEG, and a HEIC photo it cannot open is uploaded as it is, only with the metadata erased. Performance of a contract.
- Account preferences (printer, material and quality of the last job, filament prices you entered, the colours and materials in the slots of a multi-colour printer, the default job-finished e-mail, language): so the form and prices are the same on every device you sign in on. Performance of a contract.
- A request for higher limits or for credits: the reason you write in it, the number of credits asked for and the decision on it. The operator also receives the request with your e-mail address in their mailbox. Performance of a contract.
- Credits: the movements of credits on your account (added, charged for a job, returned, expired) and the price of each job in credits. Performance of a contract.
- Protecting the free limit: for each job and each monthly credit allowance we only record the time, the price or number of credits and a pseudonymous fingerprint of your e-mail (an irreversible code, not the e-mail itself), so the limit cannot be bypassed by deleting jobs or creating a new account with the same e-mail. Legitimate interest (Art. 6(1)(f) GDPR).
- Return statistics: per account we keep when the first, second and last job was created, when a job was first done and how many jobs were created in total (no job content). We use them only in aggregate to improve the service. Legitimate interest.
- Payments (once payments launch): the order (package, amount, currency, variable symbol, status and dates) and the bank statement data of an incoming payment (payer’s name and account number, amount, message for the recipient). For a payment through the Comgate gateway we receive its result and identifier, not your card details. Performance of a contract and a legal obligation under accounting and tax law (Art. 6(1)(c) GDPR).
- Shared links (in preparation), if you create them: the preview and a copy of the model files, the model’s title, author and license and the job settings, visible to anyone with the link; view and copy counts are shown only to you. We keep a publication record (a pseudonymous account fingerprint, time, the model’s title, license and author, a fingerprint of the files) to handle notices and defend legal claims. Performance of a contract; for the publication record legitimate interest.
- Print feedback (“How did the print turn out?” on a finished job), if you fill it in: the result, the defects you tick and an optional note. Together with the job’s settings and the model’s shape data computed by the server (volume, dimensions, overhangs, estimated time and grams; not the model itself) we use it to improve print settings and estimates. Only you and the operator see the note; don’t put personal data in it. Legitimate interest.
- Visitor statistics (Vercel Web Analytics): the address of the page viewed (without link parameters except the campaign tags `utm_*` and `ref`, and without job identifiers), the referring website, country and region derived from the IP address, device type, operating system and browser. On the home page it also anonymously counts clicks on the main buttons and cards (only which button and where it leads, nothing about you or your jobs). Nothing is stored in your browser and no cookies are used; Vercel recognises repeat visits only by a fingerprint of the IP address and browser data, which it discards after 24 hours. The result is aggregate numbers (how many people, which pages, from where, how many clicks) that we use to improve the service. Legitimate interest.
- Error reports (Sentry): when the website or the processing of a job fails, a technical description of the error is sent (the place in the program, the page address redacted as for the visitor statistics, browser and system, for a job its identifier and error code). We remove e-mail addresses, sign-in data and the IP address from the reports. Legitimate interest (operating and fixing the service).
- Confirmation of the right to print and job records: showing the service acts lawfully, handling disputes and notices. Legitimate interest.
- Technical data (IP address, browser data, hosting and job processing logs): security and operation. Legitimate interest.
- Content of e-mails you send us (e.g. content notices): handling the request. Legitimate interest or legal obligation (Digital Services Act, Regulation 2022/2065).
3. Who receives the data
We never sell data. We use these processors:
- Supabase Inc. – database, sign-in and file storage; data stored in the EU (Frankfurt).
- Vercel Inc. – website hosting (the application runs in Frankfurt) and visitor statistics; may process technical data outside the EU (USA). Vercel is certified under the EU–US Data Privacy Framework.
- Google Cloud (Google Cloud Run) – model processing (repair, splitting, creating the printer files) in a data centre in the EU (Belgium) and the processing logs (kept for 30 days; their location is not limited to the EU); it sees the uploaded model or photo and the job settings and, if you asked for the notice, the e-mail address it is sent to; not your password. Any access from the USA is covered by EU standard contractual clauses or the EU–US Data Privacy Framework.
- Sendinblue SAS (Brevo), France – sending e-mails (sign-in codes, job-finished notices, requests for limits to the operator); sees your e-mail address and the message content. Processes data in the EU (France, Belgium); US sub-processors (e.g. CDN, support) only under the EU–US Data Privacy Framework and EU standard contractual clauses.
- ImprovMX Incorporated, USA – forwarding messages sent to contact@printypus.com to the operator’s mailbox; sees the sender’s address and the message content. It deletes a message once delivered and keeps the delivery record (sender, subject, time) for 7 days. Processes data in the USA.
- Google (Gmail) – the operator’s mailbox receiving questions, requests and replies; sees the sender’s address and the message content. May process data outside the EU (USA) under EU standard contractual clauses or the EU–US Data Privacy Framework.
- Functional Software, Inc. (Sentry) – error reports (section 2); data stored in the EU (Germany).
- Cloudflare, Inc. – bot protection (Turnstile) on the sign-in form; processes your IP address and technical browser data, also outside the EU (USA) on the same basis. Under its own terms it also uses this data as an independent controller to improve bot detection. Cloudflare also stores encrypted backups (R2 storage); it cannot read them, only the operator holds the key.
- GitHub, Inc. – runs the daily backup: the backup is created on a temporary server of theirs, which is deleted afterwards, and encrypted before it is sent to storage. May process data outside the EU (USA) under EU standard contractual clauses or the EU–US Data Privacy Framework.
3a. Payments
Bank transfers are received on the operator’s business account at Fio banka, a.s.; your bank and Fio banka process the payment data as independent controllers under their own policies. The Comgate, a.s. payment gateway is in preparation: once connected, it will process the payment data (including card details, which we never see) as an independent controller under its own policy.
4. How long
We keep data only as long as necessary:
- Account data (preferences, requests for limits and credits, credit movements, return statistics): while the account exists.
- Jobs, generated files and the job-list pictures are deleted automatically 30 days after the job was created. Uploaded models and photos are deleted sooner: 7 days after the creation of the last job that uses them (preparing the same model again reuses the file).
- Print feedback is deleted with the job; the result and defects (without the note), together with the job’s settings and the model’s shape data, are kept for 12 months after you fill them in, even after the job itself is gone, and deleted immediately when you delete the job or your account yourself.
- Records protecting the free limit (pseudonymous e-mail fingerprint, time and credits) are deleted 35 days after they are created, even if you delete the job or your account in the meantime. The record of a welcome bonus, if granted, is kept without a time limit so it goes to one e-mail only once.
- Shared links (once launched): the link’s files are deleted as soon as it is revoked or expires, the link data 30 days later. The publication record is kept for 3 years after the link ends.
- Payments and receipts are kept for the period required by accounting and tax law, also after the account is deleted; their link to the account is removed.
- Deletion: you can delete a job or your whole account yourself at any time; the data is deleted immediately, except the records above with their own periods, and from backups within 30 days at most. On request by e-mail we delete data within 30 days, except data needed to defend legal claims or required by law (at most for the limitation period).
- Backups: we back up the database (without passwords, uploaded models, photos, generated files and shared-link files) and the catalog files daily, encrypted, to Cloudflare R2 storage, where a backup is deleted after 27 days, and once a week to the operator’s computer in the Czech Republic, where it is deleted after 28 days at most. The database provider also makes its own daily database backups, kept for 7 days. So every backup is gone within 30 days of its creation.
- Job processing logs are deleted after 30 days, error reports after 90 days at most and hosting logs automatically according to the provider’s settings. Visitor statistics are aggregate; on our plan Vercel shows them for the last month and may keep them longer.
5. Cookies and browser storage
Essential cookies: the sign-in session (Supabase, valid for at most 400 days and renewed while you use the service) and the chosen language (`lang`, set only when you switch the language or, at sign-in, from your account's language, valid for 1 year). The `print`, `filament_price`, `slots` and `form_mode` cookies (see below) are valid for 1 year. We use no analytics or advertising cookies and the visitor statistics (section 2) store nothing in your browser, so we show no consent banner.
So you don't fill in the form again, your browser remembers the last printer, material and quality (`print`), the filament prices you entered (`filament_price`), the Simple / Detailed form mode you chose (`form_mode`) and the filament colours in the slots of a multi-colour printer from your last multi-colour job (`slots`). For signed-in users the printer, material, quality, prices, form mode and multi-colour slots are also stored in the account (section 2) and the cookies serve as a cache. A model you try without signing in stays only in your browser's storage (IndexedDB) after you click “Sign in and prepare for printing”, so it is back in the form after you sign in. It reaches our server only when you submit it after signing in. It is deleted from the browser once the job is created; an unsent model older than 24 hours is deleted on your next visit to the form. Your browser's storage also remembers that you have seen the notice about your higher limits being approved (`extrudo-limits-approved-seen`), so it doesn't show again. Only while the tab is open, your browser (sessionStorage) remembers which job you have just submitted, so the page can open and announce it, and that the intro animation on the home page has already played; these marks disappear when you close the tab.
Printers you save in your account for “Print directly” (name, type, address on your local network, port, API key and profile) stay only in your browser's storage (`extrudo-printers`) and are never sent to our server. Printing sends the file from your browser straight to the printer; we only keep a record of the attempt with the job (printer type and outcome, deleted with the job), without the address or key. Remove them with “Remove” or by clearing your browser data.
6. Your rights
You have the right to access, rectify and erase your data, to restrict processing, to data portability and to object to processing based on legitimate interest. Just write to contact@printypus.com; we reply within one month.
You may also lodge a complaint with the Czech Office for Personal Data Protection (www.uoou.gov.cz).
We do not perform automated decision-making or profiling.