Regulatory AI for labels

    AI Label Compliance Checking for Food and Pet Food

    Upload the artwork and get back a list of what breaks the rules, which rule it breaks, and the exact clause that says so — before the print run, not after the recall.

    • FDA 21 CFR, AAFCO and EU FIC checked in one pass
    • Every flag cites the clause it came from
    • Reads the artwork, not a retyped ingredient list
    Pet food packaging artwork being checked against regulatory text, with flagged clauses highlighted beside the label panels
    Per label reviewed
    < 2 minPer label reviewed
    FDA, AAFCO, EU
    3 regimesFDA, AAFCO, EU
    Every finding sourced
    CitedEvery finding sourced
    Reply from the engineer
    24hReply from the engineer

    What is automated label compliance checking?

    Automated label compliance checking reads a piece of packaging artwork and compares what it says against the regulations that govern it. It checks the things a regulator checks: whether the mandatory statements are present, whether the nutrition panel is formatted the way the rule requires, whether a claim on the front is one you are allowed to make, and whether the type is large enough to count as legible.

    The work itself is not difficult. It is just slow, repetitive, and unforgiving. A regulatory reviewer goes through a label clause by clause against a standard they know well, and the failure mode is not ignorance — it is the fourteenth label of the afternoon, where the guaranteed analysis was copied from the previous SKU and nobody re-read it.

    The cost of missing one is asymmetric. A label that goes to print wrong is a print run wasted at best, and a recall or a warning letter at worst. That asymmetry is why this is worth automating even at imperfect accuracy: the machine is not replacing the reviewer's judgement, it is making sure nothing reaches them unchecked.

    The part that makes it usable is citation. A tool that says "this label may be non-compliant" has moved the problem rather than solved it. A tool that says which clause, in which regulation, and quotes it, lets a reviewer confirm or dismiss the flag in seconds — and that is the difference between a report people act on and one they stop opening.

    How it works

    1. 1

      Upload artwork

      A PDF, a print-ready file or a photograph of the pack. No retyping the ingredient list into a form.

    2. 2

      Read the pack

      The system pulls out every panel: ingredients, guaranteed analysis, net weight, claims, feeding directions, the lot.

    3. 3

      Check against the rules

      Each element is compared against the regulation that applies to it, with the relevant clause retrieved rather than remembered.

    4. 4

      Report with citations

      You get a pass/fail per requirement, the reasoning, and a link to the clause — ready for a reviewer to sign off.

    What gets checked

    RequirementExample findingSource
    Mandatory statementsNet quantity missing from the principal display panel21 CFR 501.105
    Guaranteed analysisCrude fibre stated as a minimum; must be a maximumAAFCO Model Regs
    Ingredient naming"Chicken meal" used where the defined term differsAAFCO feed terms
    Claims"Complete and balanced" without a substantiating statement21 CFR 501.17
    Type size and legibilityIngredient type below the minimum height for the panel area21 CFR 501.105(i)
    AllergensEU 14 allergen not emphasised in the ingredient listEU FIC 1169/2011

    We have built this

    We built a compliance checker for pet food and animal feed labels that evaluates artwork against FDA 21 CFR 501, AAFCO model regulations and GRAS databases, and returns a full report in under two minutes. It uses retrieval rather than a model's memory of the rules, which is the only way the citations can be trusted. The case study covers why we went that way, where the retrieval had to be tightened, and which checks we decided a machine should not make on its own.

    Read the full case study →

    Manual review vs a generic chatbot vs purpose-built

    Manual reviewGeneric chatbotPurpose-built
    Time per label30-60 minutesMinutesUnder two minutes
    Regulation usedWhat the reviewer remembersWhatever the model absorbed in trainingRetrieved from the current text
    CitationsIn the reviewer's headOften inventedClause-level, quoted
    Reads the artworkYesOnly if you retype itYes, straight from the PDF
    Consistent across SKUsVaries by reviewer and hourNoSame checks every time

    Fits with: Esko WebCenter · GoVisually · Adobe Illustrator PDFs · SharePoint · CSV · REST API

    Frequently asked questions

    Which regulations does it cover?

    Today: FDA 21 CFR for human and pet food, AAFCO model regulations for animal feed, and EU FIC 1169/2011 for the European market. Those are the three we have built and tested against. Others are a matter of loading the text and writing the checks — CFIA and FSANZ are the usual next asks — but we would rather add a regime properly than claim coverage we have not verified.

    Can it replace our regulatory reviewer?

    No, and we would not sell it as that. What it replaces is the first pass — the mechanical clause-by-clause read where mistakes come from fatigue rather than judgement. The reviewer still signs off, but they start from a list of flagged items with citations attached instead of a blank page and forty labels.

    How do you stop it inventing regulations?

    By not letting it rely on memory. The rules are retrieved from the actual regulatory text at the moment of checking, and the finding quotes what was retrieved. A model asked to recall 21 CFR from training will produce something that reads correctly and cites a clause number that does not say what it claims — which is worse than no answer, because it is confidently wrong.

    What file formats does it take?

    Print-ready PDFs are the common case and the one it handles best, because the text is real text. It also reads flattened artwork and photographs of finished packs, using the same extraction we use for other documents. Accuracy drops on a photograph of a curved bottle, and it will tell you when it is unsure rather than guess.

    What happens with a claim that is a judgement call?

    It gets flagged as a judgement call rather than a pass or a fail. Some requirements are mechanical — type height, mandatory statements, panel placement — and a machine should decide those. Others turn on interpretation, and the useful thing the system can do is surface the clause and the precedent and let a person decide.

    Does our artwork leave our systems?

    That is a decision you make, not one we make for you. We can run this inside your tenancy so nothing leaves, or hosted by us if you would rather not run it. Pre-launch packaging is commercially sensitive and we treat it that way; the deployment question gets settled before any artwork moves.

    How accurate is it?

    Accuracy depends on which check. Mechanical requirements — is the net quantity present, is the type tall enough — are close to exact because they are measurable. Interpretive ones are lower and always will be. Rather than quote you one number that averages those together and means nothing, we run your own labels through during the assessment and give you the breakdown per check type.

    How long does it take to set up?

    For the regimes already built, days rather than months: we need your label formats, a sample set, and whatever house rules you apply on top of the regulations. Most of the setup time goes on those house rules, because every manufacturer has some, and they are usually in somebody's head rather than in a document.

    What does it cost?

    It depends on volume and on whether you want it in your own environment. Every project starts with a free assessment: send a handful of labels, including ones you know have problems, and we will show you what it catches and what it misses. You will get that back within 24 hours from the engineer who would build it.

    What a missed label error costs you

    See what manual data entry is costing you

    Manual data entry today
    €22,917 per year · 917 hours
    MindX could save you up to
    €20,625 per year
    + 825 hours per year

    Rough estimate at ~90% automation over 220 working days a year. Your exact numbers come from the free assessment.

    Currently accepting 2 new projects this month

    Get a Free Assessment

    Send us a few of your documents and we'll tell you exactly what can be read from them, how accurately, and how much time it would save. No commitment.

    Response within 24 hours100% confidentialNo sales pressure

    See what manual data entry is costing you

    Manual data entry today
    €22,917 per year · 917 hours
    MindX could save you up to
    €20,625 per year
    + 825 hours per year

    Rough estimate at ~90% automation over 220 working days a year. Your exact numbers come from the free assessment.

    Or

    Prefer to talk live? Book a call directly.

    No preparation needed · Get actionable insights · Zero obligation

    Join 20+ companies who started here