Legal
AI disclosure
Last updated 6 September 2026
TariffFlow is an AI-assisted decision-support tool. A classification combines language-model analysis, retrieval from tariff and ruling sources, and deterministic checks. This page explains the current production path, what the output is useful for, and its limits.
Current provider: from the production release on 4 September 2026, the text classification stages described below use OpenAI GPT-5.6 Luna. Ollama Cloud continues to provide image analysis when an image is attached.
What the AI does
By default, a classification uses the candidate-first v4 pipeline. It combines model-backed and deterministic stages:
- Synthesise. Your product description, bounded text parsed from any PDF, and descriptions produced from images are merged into a canonical summary and structured product facts.
- Expand and retrieve. The system creates tariff-oriented search variants and fuses semantic and keyword retrieval across the UK tariff, search references, and published ruling examples. Candidate counts are bounded but can change as the retrieval system is tuned.
- Build evidence and compare. Evidence cards pair each candidate with tariff wording, notes, related references, and any sufficiently similar published rulings. Parallel reranking and arbitration passes compare the strongest candidates and explain the General Rule of Interpretation applied.
- Verify. Deterministic legal and hierarchy checks test that the selected code exists, is declarable, and is consistent with the evidence and relevant exclusions. Unresolved issues are surfaced as review status or risk flags rather than hidden.
- Fetch current measures. The final 10-digit code is looked up through the HMRC Trade Tariff API for duty, VAT, restrictions, preferences, and related measures. A failure to retrieve measures is shown as a limitation; it does not turn an AI result into a ruling.
When you choose to paste a supplier quote, our configured text AI provider receives that text to suggest purchasing fields with supporting excerpts. You review the suggestions before applying them; AI does not calculate the costs or change the accepted commodity code. TariffFlow does not store the pasted quote or extraction prompt. Details you apply are retained only if you save the resulting estimate.
What the AI explicitly is not
- Not a binding tariff ruling. For formal certainty you can apply to HMRC for an Advance Tariff Ruling for goods imported into Great Britain. Different routes apply to Northern Ireland and the EU. TariffFlow is not a substitute.
- Not legal or compliance advice. Customs mis-classification carries real duty, VAT, and penalty exposure. You remain responsible for the code you declare.
- Not customs broker replacement. Complex consignments (anti-dumping, preference rules, controlled goods) benefit from professional review.
- Not infallible. The model occasionally surfaces the wrong leaf within the correct heading, or misreads ambiguous product text. Evidence-strength labels and risk flags show when more review is warranted.
How to read the output
- Evidence strength — a qualitative summary of the model's evidence assessment. High means the evidence aligns closely with the selected code; Medium means some ambiguity remains; Low means the evidence is limited or mixed. Always follow the result status and highlighted review items before declaring. It is not a probability of correctness.
- Key reasons — the tests the model applied (principal function, material, GRI rule). Read them as a sanity check: if a reason looks wrong, the pick probably is.
- Alternatives considered — runners-up with explicit rejection rationale. Useful when your product sits at a boundary between chapters or headings.
- Risk flags — specific issues found during candidate comparison or verification. Read the detail and seek specialist review where the consequence is material.
- Classification walk — the section → chapter → heading → subheading → leaf path with per-level rationale and GRI citation. Part of the Case Pack audit trail.
Which AI models we use
The AI is not a single model. Classification stages use separately configurable provider models so they can be evaluated and changed without rewriting the workflow.
- Classification synthesis, query expansion, reranking, and arbitration: Ollama Cloud before the 4 September 2026 production release; OpenAI GPT-5.6 Luna through the API from that release, with reasoning effort disabled.
- Text embeddings for retrieval: OpenAI text-embedding-3-small at 1024 dimensions.
- Image vision (when you attach an image): Ollama Cloud vision model (qwen3-vl:8b at time of writing).
- UAT feedback acknowledgements: OpenAI through the Responses API (GPT-5.6 by default). When available, these replies acknowledge and clarify feedback; they do not commit TariffFlow to a product change.
- Customer support: Milly uses Kimi K2.6 through the Ollama Cloud API when AI-first support is enabled. TariffFlow controls the support tools, account binding and fields returned; the model cannot choose an arbitrary account, URL or database query.
Model and pipeline changes are checked against versioned evaluation fixtures that include everyday descriptions and difficult UK classification boundaries. Reported evaluation results identify the fixture and subset used; they do not predict the correctness of an individual case.
Your data
When you run a classification, the following leaves our servers:
- To OpenAI: the short text used to compute the retrieval embedding. From the 4 September 2026 production release, OpenAI also receives your product description and canonical summary, extracted attributes, candidate codes, relevant tariff and ruling text, rule cards, and the derived prompts needed for classification. If your account has UAT mode enabled and you use its Feedback tab, OpenAI receives that thread's feedback transcript to generate the displayed automated acknowledgement. A TariffFlow owner may also use a copy of the transcript, without the account identity fields added by our admin view, in our OpenAI Codex development workspace to investigate and implement product changes.
- To Ollama Cloud: before the 4 September 2026 production release, Ollama Cloud received classification inputs and derived prompts. Since that release it receives only attached-image bytes for transient vision analysis in the classification workflow. When AI-first customer support is enabled, it also receives the support message, relevant approved knowledge, and any allowlisted account-summary fields retrieved after verification.
- To HMRC: the final 10-digit code, to retrieve duty and VAT. Product landed-cost lookups also include the selected country of origin and tariff date. HMRC does not see your product description or purchase price.
We use provider API services rather than public consumer chat interfaces and minimise what each request contains. From the 4 September 2026 production release, OpenAI classification requests are sent with API response storage disabled; this does not by itself provide Zero Data Retention, and limited security and abuse-monitoring retention may still apply under our project's data controls. The current provider list, purposes and transfer information live on the privacy page.
AI customer support
Milly can answer ordinary product and account-workflow questions before a human joins. She is instructed to make a grounded attempt from the support knowledge available to her and may ask one focused question if that would resolve the issue. You can request a human at any time.
- Anonymous conversations can use general TariffFlow knowledge but cannot access private account information.
- Private account summaries require either a matching signed-in Clerk session or a one-time verification link. An email address typed into a message is not proof of identity.
- The available tools are read-only. Refunds, subscription changes, account deletion, sharing changes and classification actions remain self-service or require a human.
- Security, privacy, legal, payment-card and other sensitive requests are escalated. Once a human takes over, Milly cannot send further replies; any AI suggestion is a draft for the operator to review.
Uncertainty and corrections
The model is calibrated to show uncertainty honestly:
- Where the GRI rules don't decide cleanly between two headings, you'll see a follow-up question rather than a silent pick.
- Where the tariff schedule itself is ambiguous (residual "Other" subheadings, cross-chapter exclusions), the reasoning names the rule applied and the specific note consulted.
- Where retrieval surfaced a weak match, evidence strength drops and we'll recommend providing more detail — material, finishing, intended use.
If a classification appears wrong, the feedback control lets you report it for investigation. We do not silently turn a customer's product description into shared training material.
Accuracy commitments
We publish the scope and limitations of our controlled internal evaluations alongside the reported metrics. Results on a fixed test set do not guarantee performance on a new product and should not be read as a blanket accuracy percentage.
Accuracy is an engineering target, not a warranty. See our Terms of Service for the formal allocation of liability.
Questions
If you're evaluating TariffFlow for regulated use and need more detail on the AI pipeline — model names, prompt versions, failure-mode tests — we're happy to walk you through it. Email support@tariffflow.app.
This disclosure is updated whenever we change the AI pipeline materially (swap a model, change a stage, add a new data source). The "Last updated" date at the top reflects the current version.