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