Privacy Policy
Overview
CraftCut is built with privacy as a core principle. By default your project runs entirely in your browser with no account or project upload. We store a limited first-touch source record, and optional analytics loads according to your consent choice. If you choose to sign in, sync, request a reminder, or publish a project, we store only what is necessary to deliver those features.
This policy explains what data we collect, where it lives, who can see it, and your rights. If anything is unclear, email hello@craftcut.io.
1. How CraftCut Stores Your Data
CraftCut has two storage modes. You choose which one applies based on whether you sign in.
A. Local-only (default, no account)
Everything stays in your browser's local storage and never leaves your device:
- Furniture designs and project files
- Panel dimensions, materials, and configurations
- Cut lists and optimization results
- 3D previews and assembly instructions
- Exported booklets and production documents
- Application settings and preferences
We have no ability to access, view, or recover this data.
B. Cloud-synced (signed-in account)
If you sign in with Google or email, the following is stored on our servers (Cloudflare D1 database and Cloudflare R2 object storage, both hosted on Cloudflare's global infrastructure):
- Account profile: your name, email address, a stable user ID, and a profile photo URL when supplied by Google. Used to authenticate you and display your name on content you publish.
- First-touch attribution: the source, medium, campaign, referring domain, landing path, entry point, and capture time that first brought this browser to CraftCut. When you sign in, this record is attached to your account so we can understand which discovery channels lead to useful projects.
- Projects you choose to sync: project name, design data (panels, dimensions, settings), timestamps, and a randomly-generated share token if you enable sharing.
- Build Journal entries: the type, title, body text, and ordering of each entry, plus references to any photos you attach.
- Build Journal photos: the image files themselves (JPEG/PNG/WebP, up to 5MB each), stored in Cloudflare R2. Public photo URLs are served by our worker so we can revoke access if needed.
- Aggregate stats: per-project view and remix counters for public Build Journals.
- Session cookies issued by our authentication library so you stay signed in.
- One-time reminder requests: project ID, requested send time, delivery status, and delivery attempts when you explicitly ask CraftCut to email you a continuation link.
- Optional project-guidance emails: whether you opted in, when and where you opted in, unsubscribe status, the sequence email identifier, delivery status, and whether you clicked its primary action. The sequence is not enabled unless you select the signup checkbox or enable it in Settings.
- Optional customer research: your answers about role, project context, current workflow, desired outcomes, typical project frequency, product fit, preferred access model, hypothetical price thresholds, and optional improvement notes. If you separately select the follow-up checkbox, we also store your permission for CraftCut to email you personally about a research call. Survey responses are linked to your account so we can compare stated needs with aggregate project usage and avoid asking you twice.
- Plan and payment status: your current plan, entitlement end date, merchant customer or transaction reference, subscription status, and billing cycle. Full card and bank details remain with our merchant-of-record provider.
You can manage projects and published content from inside the app. To correct or delete an account-linked survey response without deleting your account, email hello@craftcut.io from the address on your account.
2. Public Content (Build Journals & Shared Designs)
Build Journals are public-by-design. The moment you save your first journal entry, summary, or photo, the project automatically gets a public URL. There is no private-journal mode. Saving anything in a Build Journal is an explicit publish action. The first time you start a journal in any project, the app shows a clear consent screen reminding you of this before any data leaves the editor.
The following becomes publicly visible at the build URL:
- The project name, summary, and design data
- Your display name and profile photo (from your sign-in provider) as the author byline
- All Build Journal entries and uploaded photos
- Aggregate view and remix counts
Public URLs may be indexed by search engines, shared on messaging apps, archived by third parties (e.g., the Internet Archive), and accessed by AI crawlers we permit (see our robots.txt). Deleting the journal, project, or your account removes the page from CraftCut, but third-party caches may persist for some time.
Anyone can Report a public page from a button on its footer. Reports are reviewed by our team and may result in content being hidden or removed. We do not share reporter identity with the author.
3. Data We Collect Automatically
When you visit CraftCut, we collect a limited first-party acquisition record and, when permitted by your consent choice, usage data to understand how the site and product are used:
- Analytics data: Page views, product milestones, referral sources, approximate geographic region (country-level), browser type, and device type. Signed-in analytics may use an opaque user ID so activity can be understood across sessions; it does not include your email or project contents.
- First-touch attribution: A first-party record of source, medium, campaign, referring domain, landing path, and entry point. It is stored for up to 90 days in the browser and attached to your account if you sign in.
- Error reports: First-party, automated operational logs that help us identify and fix bugs. We store a scrubbed error name and message, route template (for example,
/project/:id/make), browser family, viewport size, and a random per-tab identifier used only to count affected tabs. Query strings, project and share IDs, account IDs, IP addresses, full user-agent strings, email addresses, secrets, and project content are not stored. Error text is scrubbed again by our server before storage. - Performance metrics: Anonymized page load times and interaction timings.
- Email engagement: For the optional project-guidance sequence, we record delivery status and primary-action clicks so we can evaluate whether an email helps users complete a project. We do not use an email-open tracking pixel.
- Abuse-prevention metadata: Short-lived rate-limit counters keyed to your user ID, and salted/truncated hashes of IP addresses for users submitting abuse reports. Raw IPs are not persisted.
4. Data We Do Not Collect
We do not collect, store, or process:
- Full payment-card or bank details. Payments are handled by our merchant-of-record provider; CraftCut stores only customer/subscription references and status.
- Precise location data
- Advertising profiles or cross-site tracking data
- Biometric data, device identifiers, or browser fingerprinting information
- Email-open tracking pixels
- Photos uploaded by users who haven't signed in (uploads require an account)
- EXIF metadata beyond what is needed to display photos correctly (we recommend stripping GPS data from photos before upload)
4. Legal Basis for Data Processing
Where applicable (including under the EU General Data Protection Regulation), our legal basis for processing any data is:
- Legitimate interest: We collect minimal, anonymized analytics data to improve CraftCut's performance and user experience. This processing is proportionate and does not override your privacy rights.
- Consent: Where required by local law, we will obtain your consent before setting any non-essential cookies or collecting analytics data.
- Contract: We process account and payment status as needed to provide cloud features, paid plans, and time-limited access you purchase.
- Optional research participation: You choose whether to submit the customer survey and separately whether CraftCut may email you to arrange a research call.
5. Cookies & Local Storage
CraftCut uses browser local storage to save local projects, preferences, attribution, and your analytics-consent choice. Local project storage is essential for the application to function and is not transmitted unless you choose account backup or another cloud feature.
We use first-party cookies for authentication, consent, and a 90-day first-touch attribution record shared between craftcut.io and app.craftcut.io. Google Analytics Consent Mode may send cookieless aggregate pings while analytics storage is denied and enables cookie-based measurement only after consent. Microsoft Clarity is not loaded before consent. We do not use third-party advertising or retargeting cookies.
6. Third-Party Services
CraftCut uses the following third-party services:
- Cloudflare (Pages, Workers, D1, R2, KV): hosting, content delivery, application database, and image storage. Subject to Cloudflare's Privacy Policy.
- Google Sign-In (OAuth): used for account creation/login. We receive your name, email, profile photo URL, and a stable user ID. Subject to Google's Privacy Policy.
- Google Analytics: consent-aware traffic and product analytics. We do not send project contents or email addresses.
- Microsoft Clarity: consent-only interaction analytics and session diagnostics used to identify usability problems.
- Creem: merchant-of-record payment processing. CraftCut does not receive your full card details.
- Resend: delivery of one-time continuation reminders you explicitly request and the recurring project-guidance sequence you explicitly opt into. Every recurring guidance email includes visible and one-click unsubscribe controls.
- Google Fonts: for typography on landing pages. Font files are loaded from Google's servers. Subject to Google's Privacy Policy.
We carefully vet third-party services and only use those with strong privacy commitments. We do not sell, rent, or share any data with third parties for advertising or marketing purposes.
7. Data Retention
Retention depends on storage mode:
- Local project data (no account): Retained in your browser until you delete it or clear browser storage. There is no expiration date.
- Cloud-synced projects, journal entries, and photos (account holders): Retained until you delete the project, journal entry, or your account. After deletion, data is purged from our active database within 7 days. Backups may persist for up to 30 days before being overwritten.
- Public Build Journals after unpublishing: Removed from CraftCut immediately, though search engines and third-party caches may take longer to update.
- Account records: Retained while your account is active, plus up to 30 days after deletion to allow for recovery and to satisfy our legal obligations.
- Abuse reports: Retained up to 24 months for safety review and to spot patterns.
- Analytics data: Anonymized analytics retained up to 24 months, then automatically purged.
- Browser first-touch attribution: Expires after 90 days. Account-linked attribution is retained with your account and deleted with it.
- Project reminder records: Sent or cancelled reminder records are deleted within 30 days.
- Project-guidance preferences: Retained with your account so an unsubscribe remains effective. Delivery and click metadata is deleted after 180 days.
- Customer survey responses: Retained with your account and deleted when your account is deleted. You may ask us to correct or delete a response earlier by emailing us from the address on your account.
- Error logs: Privacy-scrubbed operational error records are automatically deleted after 90 days.
To delete your account and all associated cloud data, sign in and use the in-app delete option, or email hello@craftcut.io from the email address on your account.
8. Data Security
We take the security of our service seriously:
- The CraftCut website and application are served exclusively over HTTPS, ensuring all data in transit is encrypted.
- We use Cloudflare's security infrastructure, including DDoS protection and Web Application Firewall (WAF).
- Cloud account, project, research, and entitlement records are limited to what is needed to operate the signed-in service and are protected by access controls.
- We regularly review and update our infrastructure and dependencies to address known vulnerabilities.
9. International Data Transfers
CraftCut's website, application, database, and object storage use Cloudflare's global infrastructure. Account, cloud project, survey, and operational data may therefore be processed in countries outside your own.
Analytics, authentication, payment, email-delivery, and hosting providers may process data in the European Union, the United States, or other locations where they operate. Where required, transfers are governed by appropriate safeguards such as Standard Contractual Clauses.
10. Your Rights
Depending on your jurisdiction, you may have the following rights regarding your data:
- Right of access: You can request a copy of any data we hold related to you. Account holders can also export their projects directly from the app.
- Right to erasure: Delete projects, journal entries, photos, or your entire account from inside the app at any time. Local-only data can be deleted by clearing your browser storage.
- Right to rectification: Update your profile, project content, and journal entries directly in the app. Contact us to correct an account-linked survey response.
- Right to object: You can object to our processing of analytics data. You may also use browser settings or extensions to block analytics scripts.
- Right to data portability: Export your projects and journals as standard files from inside the app.
- Right to lodge a complaint: You have the right to file a complaint with your local data protection authority if you believe your rights have been violated.
To exercise any of these rights, contact us at hello@craftcut.io. We will respond within 30 days.
11. Transparency
CraftCut is committed to being transparent about how data is handled. We believe privacy should be the default, not an afterthought. If you have questions about our data practices, we encourage you to contact us and we will provide clear, honest answers.
12. Children's Privacy
CraftCut is not directed to children under 13. We do not knowingly collect personal information from children under 13 (or the applicable age in your jurisdiction). If you are under 18, do not create an account or upload personal photos without a parent or guardian's involvement. If you believe a child has signed up or uploaded content, contact us at hello@craftcut.io and we will delete the account.
13. Changes to This Policy
We may update this policy from time to time to reflect changes in our practices or applicable laws. Changes will be posted on this page with an updated revision date. For material changes, we may also provide notice within the application. Continued use of CraftCut after changes constitutes acceptance of the updated policy.
14. Contact
If you have questions about this privacy policy, your data, or wish to exercise your rights, contact us at hello@craftcut.io.