You forward an email. That is most of the work.
Underneath that sentence is a map, a resolver and a ledger. This page opens all three, in the order a brand asks about them: how a market gets mapped, what decides which rules reach a given product, which of those rules come from the country and which from the product or the buyer, and what you actually have to hand over.
The loop
Documents in, requirements resolved, the state kept
1 · They arrive three ways, all of them lazy
Your account gets its own forwarding address, for example your-brand@files.compliantalways.com, so a manufacturer who already emails you certificates just gets added to the thread. Or drop the file. Or paste the request link, which opens a plain upload page listing exactly what is needed: no account, no password, under a minute on a phone, and it expires after 30 days so nothing sensitive sits open forever.
2 · Read field by field, with a confidence on each
Every extracted value (lot code, report date, each result) carries a confidence and a pointer to where on the page it came from. High-confidence fields file themselves. Anything uncertain waits for a person, and that person is yours.
3 · Checked, then kept checked
Each value is compared against every requirement that resolves for that product, and each comparison becomes a ledger line: the requirement, its citation, the document and value that answered it, and what the comparison found, including missing, which is a line of its own rather than a blank. Then the dates are counted, the gaps become ready-to-send requests, and the pack a reviewer asks for is already staged.
Nothing is guessed
Question one
What does mapping a new country look like?
A market entry is a corridor: where the product is made, where it is sold, and through what channel. Mapping one does not start with writing rules. It starts with drawing the empty map and admitting how much of it is empty.
1. The corridor is cut into cells
Jurisdiction, domain and category. Contaminant limits, documents, labels, registration, process, notification, composition, claims: each one a separate cell for each place, because a country that is mapped for contaminant limits is not thereby mapped for labelling.
2. Each cell is swept from that country's own index
The sweep is planned from the corpus's own table of contents (the national legislation index, the official gazette, the notification feed) rather than from whatever an English-language summary happens to mention. The anchor is the native text: the verbatim quote is stored in the authoritative language and the translation rides alongside it, marked machine-generated and never used as the citation.
3. Every cell ends in one of three tiers
Verified requirements go into the register, cited and able to be checked against. Possible requirements, the signals and the unconfirmed, are shown in a research section as a question for your importer, never in the register and never in a readiness number. Known gaps are named as gaps.
4. A customer brings the market
A corridor opens because somebody is selling into it, not because it looked good on a roadmap. Until then it is an unswept cell with a name, which is the only honest thing to call it.
The map today, counted
The lattice names 48 cells for this category, across 6 jurisdictions and 8 domains. Of those, 6 have been swept and mapped; 42 are unswept. That denominator is the point: a coverage figure without one is a decoration, and an upload that lands in an unswept cell is told so rather than scored.
Counted at page render from the coverage lattice the release gate checks. Jurisdictions on the map include markets no customer has brought yet; those sit as unswept cells and are not coverage.
The engine is not written per category. Rules are data, so a market or a category is a set of rule records with their own citations, and opening one is an addition to the library rather than a rebuild. Every rule that arrives faces the same anchoring, the same quote and the same gates as everything already in it, which is why nothing here is claimed before it is mapped.
Question two
What determines a product’s regulatory pathway?
Three things in a line: facts about the product, predicates that test those facts, and the layered rules those predicates let through. No product type is hardcoded anywhere in the chain, which is why a new market or a new category is data rather than a release.
Facts
What it is, what is in it, what it claims, who it is for, what form it takes, where it is made, where it is sold, and through what channel. Each fact carries where it came from and how confident that source is: a value you confirmed outranks one inferred on your behalf, always.
Predicates
A rule states the condition under which it applies, and the condition is evaluated against the facts. It can answer three ways, not two: yes, no, or unknown. An unanswered question is never quietly read as a no. It is an open question with your name on it, which is the difference between a system that is honest and one that is merely confident.
Layered rules
What survives is the register: every requirement that applies, why it applies, and its citation. Where two authorities bound the same value, the stricter is applied and the other is recorded beside it. On a single supplement product that comes to 36 to 39 distinct requirements today, resolved from 6 authorities across the shipped dataset, last verified 2026-09-02.
A rule has to earn the right to fail you
Question three
Which requirements are country vs product vs channel?
All three, and the difference is visible rather than blended. Each rule is compiled into a layer that is read off its own condition, so a rule’s layer can never contradict the reason it applies. Here is what the shipped dataset compiles to today, counted at page render, not asserted.
| Layer | Applies because | Rules | From |
|---|---|---|---|
| base | applies to everything in the category, wherever it is sold | 22 | FDA 101 (12), FDA 111 (10) |
| category | applies because of what the product is | 29 | USP (26), GOED (3) |
| jurisdiction | applies because of where it is sold | 6 | PROP65 (5), PROP65 WARNING (1) |
57 compiled rules in total, from 6 authorities. Compiled at page render from the same dataset the product runs on.
Modelled, not yet populated
The engine also carries layers for ingredient, claim, destination, regime, certification rules. They have no rules in the shipped dataset today, so nothing is claimed for them. The destination layer, what a specific retailer or marketplace demands over and above the law, is the one most brands feel first, and it is the next one to be populated.
You can read the same tables, with every citation, in the requirements library. Nothing is asserted without a source.
Question four
What do brands provide?
Three things, and the third only when you want labels. None of them is a spreadsheet you have to build.
Documents
Certificates of analysis, specification sheets, cGMP certificates, facility registrations, quality agreements, insurance, audit reports. Whatever you already have, in whatever layout your manufacturer sends it. Forward the folder; there is no data entry.
Facts we cannot read off a document
The handful of things only you know: which markets you actually sell into, which channels, who makes it, what the product claims. They arrive as short questions with the consequence of each answer named, and a recorded "we don't know" is a legitimate answer that stops us asking twice.
For labels: your lab's nutritional values
The numbers from your own analysis. Not a recipe, not a formulation, not a bill of materials.
What we never ask for
Labels
ShippedLabels: checked against each market, and written from your own lab numbers
The record is real: a label version per product per market, with statuses, parallel drafts, and lots pinned to the version they were printed under. That is the part a recall or a border check asks for.
So is the engine. Each market resolves its own required-element checklist from the library, with the section behind every element, and the artwork is read into evidence the same way a certificate is: low-confidence reads go to review rather than into the record, and an element we could not read comes back unclear rather than present or missing. Generation runs the same rules in reverse. Your profile, your market and your numbers come back as a complete content specification and a clean draft, with every element carrying its citation and every gap naming the record it still needs.
A version cannot become the one new printing uses while a required element is missing from its artwork, unless a named person overrides it with a reason. The reason stays on the version for as long as the version exists.
Label text machine-translated into a language nobody here reads ships flagged for a native reader (your importer, or a local consultant), and the decision is recorded with their name on it.
Artwork is not generated. There is no layout, no typeface and no print file: what comes out is the words and the numbers for whoever sets the artwork. Typography, type sizes and where on the package a statement sits are not checked either, and every report says so on its face.
See where you stand before anyone asks
Send a photo of your label or a test report and see what a reviewer would flag, with the rule behind every line.
No card, no account, and no call to book. Tell us what you make and where you sell it, and we will come back to you.