Skip to main content

Security & trust

How we protect your data

This page describes what protects your data in CutOptim today — measured on the running system, not planned.

Last reviewed: 25 September 2026

What protects your data today

Access & sign-in

  • You sign in with email and password or with Google. Passwords must be at least 8 characters, are checked against a database of known leaked passwords, and are stored only as bcrypt hashes.
  • The database enforces row-level security: every request runs as the signed-in user, so an account can read only its own projects, cuts and settings.
  • A signed-in session ends automatically after 60 minutes of inactivity.
  • Engine API keys are shown once, stored only as a SHA-256 hash, and can be revoked from the dashboard at any time.
  • Rate limits protect sign-in, the AI assistant and the public API against abuse.
  • The admin area requires two-factor sign-in: every admin page and admin API call needs a session confirmed with a one-time code (TOTP).
  • Administrative changes to customer accounts (plan changes, credits, API access) are recorded in an audit log that nobody — not even our own application — can alter or delete afterwards; an encrypted, hash-chained copy of it leaves the server every day.
  • Repeated failed sign-in attempts are detected automatically and alert the operator.

Where your data lives

  • The application and its database run on our own server at Hetzner in Nuremberg, Germany. No third-party database service sits between you and your data.
  • The optimizer in the app runs in your browser. Your parts list reaches our server only when you save a project — or, for Engine API customers, when you call the API.
  • Payments are handled by Lemon Squeezy as merchant of record. We never see or store card numbers.
  • Service providers we rely on: Cloudflare (content delivery and off-site backup storage), Resend (transactional email), Anthropic (the AI assistant — only what you type into the chat) and Google (only if you choose Google sign-in). Website statistics are cookieless (Umami).

Backups & recovery

  • The database and uploaded files (such as company logos) are backed up every night, and a copy is kept off the server with Cloudflare — a failure of the server cannot take the backups with it.
  • Daily copies are kept for 14 days and weekly copies for 90 days; older copies are deleted automatically.
  • Before a copy leaves the server it is encrypted with our own key. The decryption key is not stored on the server, so the off-site copy is unreadable without it. Every upload is checked against the local file.
  • The off-site copy is written with a dedicated credential that is not stored alongside the application.
  • Restores are tested, not assumed: on 24 September 2026 a backup was fetched from the off-site store, decrypted and restored into a separate database, and every table we checked matched the live database. We repeat this twice a year.
  • In addition, our hosting provider keeps machine-level backups of the whole server.
  • A failed backup run, or a service that becomes unhealthy, alerts the operator immediately.
  • Operations do not depend on one person: a designated second person has emergency access to everything needed for recovery and follows a written recovery guide.

Infrastructure & application hardening

  • All traffic is encrypted with TLS. The site sends HSTS (preloaded), a Content-Security-Policy, X-Frame-Options, nosniff, a strict referrer policy and a Permissions-Policy that switches off camera, microphone and location access.
  • Only the web proxy is reachable from the internet; the database, its admin tools and internal services are not.
  • Administrative access to the server uses SSH keys, and repeated failed login attempts are blocked automatically.
  • Services run in containers with every Linux capability dropped and privilege escalation disabled.
  • Operating-system security updates install automatically every day; our dependencies are audited for known vulnerabilities every week.
  • Every release passes an automated test gate before it goes live, and is rolled back automatically if the new version fails its health check.
  • Availability is watched by external monitoring, with alerts.
  • Before a release goes live it is checked for accidentally committed keys or passwords, and we keep a machine-readable list (SBOM) of the software components in every live version.

Your data, your control

  • Download all of your data (projects, cuts, settings) as a JSON file from your dashboard at any time.
  • Delete your account from the dashboard: the account and its projects are removed immediately; backup copies age out within 90 days.
  • Every marketing email carries a one-click unsubscribe link.
  • Conversations with the AI assistant on our site, together with the IP address, are deleted automatically after 14 days.
  • Our web server logs keep IP addresses only in shortened form — the network, not the individual address.

Assessing us as a supplier?

If your organisation has to assess its software suppliers — under NIS2, GDPR or your own security policy — we answer security questionnaires on request. Write to us and tell us what you need. Contact us →

Reporting a vulnerability

Found a security vulnerability in CutOptim? Write to [email protected]. Our machine-readable contact is /.well-known/security.txt (RFC 9116).

What we commit to

  • Acknowledgement within 3 business days.
  • No legal action for good-faith research.
  • Credit on request after the fix.

What we ask

  • Do not access other users’ data and do not destroy data.
  • No denial-of-service testing.
  • Allow reasonable time to fix before public disclosure.

How current this page is

This page describes the system as it stands today, not a roadmap. When something changes, the page is updated — and the review date above changes with it.

Legal & data protection

The formal documents behind this page:

A security question we did not answer here?

Contact us