Built for the audit nobody warned you about.

Multi-tenant isolation, encryption everywhere, full audit trails. The boring infrastructure that lets you sleep when an EU regulator emails on a Friday.

Per-organisation isolation (RLS)

Every row in every table is scoped to your organisation by PostgreSQL Row-Level Security. Even our own engineers can't read another producer's data without an explicit super-admin scope token. Tested with a dedicated RLS isolation suite on every deploy.

Encryption at rest & in transit

TLS 1.3 from the browser to the server, enforced via Cloudflare. Sensitive secrets (per-org SMTP credentials, OAuth tokens) are encrypted with AES-256-GCM before they touch the database. User passwords are bcrypt-hashed.

Auth that fits your team

Email + password with bcrypt, magic-link sign-in for marnotos who don't want passwords, optional Google OAuth, and three role tiers (Marnoto · Admin · Super-Admin). Sessions managed by NextAuth.js v5 with secure HTTP-only cookies.

Audit trail on 19 tables

Every change to a Lote, Harvest, LabResult, InventoryUnit, Venda, ProductPrice and 13 other tables is recorded with who, when, what changed, and from where. 47 callers wrap mutations in audit logs. Replay any historical state in seconds.

Compliance & standards

  • GDPR-ready data model — per-org data export, deletion, and right-to-be-forgotten flows
  • DOP Castro Marim conformity — DGAV regulatory reports built-in (PDF + Excel, bilingual)
  • Schema.org Digital Product Passport — every QR page emits structured JSON-LD
  • GS1 Digital Link readiness — QR URLs follow GS1 conventions for future product registry
  • Portuguese business (NIF) verification — VIES API for cross-border B2B invoicing
  • Hosted on Hetzner (EU) — your data never leaves the European Union

Want a security review or DPIA template? Email [email protected].

Ready to make your salt the most transparent in the world?

Whether you manage 10 pans or 500, the platform scales with you.

No credit card required · Onboarding in 48 hours