Security posture

Security & Trust: How 2D Barcode Hub Protects Your Data

We do the unglamorous work so the public scan stays fast and your workspace stays calm. We're also honest about audits we haven't paid for yet.

What we ship by default

Eight controls that are live in production today.

Strict Content-Security-Policy

CSP headers tightened on every public scan page. Frame embedding blocked. Form actions locked to first-party and approved payment origins.

Rate-limited critical endpoints

Auth endpoints: 10/min/IP. QR generation: 30/min/IP. Public scan ingestion: 120/min/IP. Billing webhooks: 300/min/IP.

Magic-byte upload validation

Image uploads validated by file signature (JPEG, PNG, GIF, WEBP), never trusting the browser-claimed MIME type. Mismatches rejected before disk write.

EU data residency

Managed Postgres in Frankfurt, Germany. Daily backups. Named infrastructure, email, and payment sub-processors documented for customers.

GDPR data controls

One-click JSON export of every workspace record. Account deletion with typed confirmation. Hashed IP storage, no raw IP logs, no third-party trackers in the dashboard.

Webhook idempotency

Billing events deduped at the database layer to prevent double-billing on retries. Each event ID written once, replays return 200 without re-running side effects.

Authentication hardening

Bcrypt password hashing, server-side session validation, signed session cookies. Email verification flow available, no SMS. SSO/OAuth on the roadmap.

Public scan privacy

Public /01/{gtin} pages set zero cookies and run no third-party scripts. Hashed-IP analytics only. Honoured Global Privacy Control on first visit.

Honest about what we don't have yet

If any of these is a deal-breaker for your procurement, we'd rather you know before signup than after.

  • · SOC 2 Type II audit
  • · ISO 27001 certification
  • · ISO 9001
  • · Single Sign-On / SAML
  • · Custom enterprise IP allowlists
  • · Database-backed sessions for revocation

Quick answers

Are you SOC 2 or ISO 27001 certified?
Not yet. Both are slow and expensive audits we'll pursue once revenue justifies. For now we publish our security posture transparently and offer a Data Processing Agreement on request.
Where is data hosted?
Managed Postgres in Frankfurt, Germany (EU). Daily backups. Named EU-only sub-processors for hosting and email. No data leaves the EU through normal operation.
Is my GTIN private?
GTINs are public retail identifiers, not secrets. Once a product is published, the public scan page at /01/{gtin} is intentionally public. Workspace settings, draft products, batch records and analytics are private to the workspace owner.
Can I delete my account?
Yes. One-click deletion in Settings, with a typed confirmation. All workspace data including scan history is permanently removed.

Keep reading

Privacy PolicyGDPR-aligned, EU-residency, data subject rights.Read more Terms of ServiceSaaS terms, refund policy, governing law.Read more CookiesFull cookie disclosure with consent banner.Read more Compliance hubRegulations the platform helps brands meet.Read more