Skip to content
NORUM

How NORUM works

Build the product once, generate everything else. This is what that means in practice — what is calculated, what is validated, and what NORUM deliberately refuses to do.

One product record

Everything else is generated from it, which is why a change made once is a change made everywhere.

  • A product carries its identity, net contents, packaging, claims and certifications.
  • Ingredients and formulas are separate records, so the same ingredient can be shared across products without being retyped.
  • Versions are immutable. A published version is never edited — a new one supersedes it, and the old one stays readable.
  • Every change records who made it and when.

Nutrition, calculated not estimated

The panel is arithmetic over your formula, carried out to the FDA 2016 rounding rules.

  • Rounding is data, not code: the bands live in a rule set in the database and are applied uniformly.
  • All regulated arithmetic uses arbitrary-precision decimals. Floating point is not used anywhere a number reaches a label.
  • A value that cannot be derived is refused rather than approximated. A blocked panel prints no rows.
  • Daily Values and calorie factors come from the same reference tables the calculation reads.
Nutrition Facts generator →

Labels and barcodes

Vector output at the size and resolution the printer needs, validated before it can be exported.

  • UPC, EAN, GS1-128, SSCC and QR. Check digits are verified, and an invalid GTIN produces no symbol at all.
  • PDF is generated directly as vectors, so a barcode stays scannable at any scale.
  • ZPL II for Zebra printers, plus SVG and PNG.
  • A label that fails preflight can be previewed but not exported.
Label maker →

Specifications and quality documents

Finished product specifications, certificates of analysis and conformance, packing lists and bills of lading.

  • A certificate is issuable only when every result on it has been evaluated against its specification.
  • A result that is missing, pending or unparseable is never treated as a pass.
  • Units are never silently converted between a specification and a result.
  • Documents draw on the product record, so a specification and a label cannot disagree about the same product.
Specification generator →

Where AI is used, and where it is not

AI reads documents. It never originates a regulated number and never approves anything.

  • Extraction proposes values from a supplier document. Every field arrives marked for human review.
  • Nothing an extraction produces is applied to a product automatically.
  • A regulated figure on a label always comes from the calculation engines, never from a model.
  • Each job reports its cost before it runs, and credits are reserved before the provider is called and settled against real usage afterwards.

How your data is kept apart

Tenant isolation is enforced by the database, not by application code.

  • Every tenant-scoped table has PostgreSQL Row Level Security enabled and forced.
  • Queries are written as though they could see other tenants’ rows, and none of them filter by tenant. A query filter that looks like a security control invites the next person to trust it.
  • The browser holds a public key only. Anything needing a server secret goes through the API layer.
  • The audit trail is append-only at the database level: it cannot be updated or deleted, by anyone.

What NORUM does not claim

NORUM is not an approval and does not certify anything. It performs regulatory calculations and produces documents from data you provide. Reviewing them, and the compliance of what you put on a package, remains yours. Nothing here should be read as a statement that a label has been cleared by any authority.