How ScanIn scores a product

Published: 6 October 2026 · Version 1.0
The method behind every score in the ScanIn app, in plain words. Nothing is hidden.
A ScanIn score is personal. It compares what a product's own label prints with one person's allergies, health conditions and diet. It is not a statement about the product's quality, safety or legality for anyone else, and it is not medical advice. Always read the physical label, especially for a severe allergy.

1. What the score is

A number from 0 to 100. Higher is better: 100 means nothing on this label raised a concern for your profile. The number is split into three bands:

ScoreBandMeaning for you
80 – 100LOW RISKNothing on the label clashes with your profile, or only small things.
60 – 79MODERATESomething on the label is worth knowing about before you buy.
0 – 59HIGH RISKAt least one serious clash with your profile — an allergen you listed, or a figure far above your limit.

Two people scanning the same pack can get different scores, and that is the point. A biscuit scores lower for someone with diabetes than for someone without, because the diabetes sugar limit is tighter. The pack has not changed; the person reading it has.

2. Where every number comes from

ScanIn never invents a figure. Each one comes from exactly one of these places, and the result screen says which:

Nutrition figures are always compared per 100 g (per 100 ml for drinks). That is the standard used by food regulators and front-of-pack labels worldwide, and it is the only way to compare a 6 g sweet with a 200 g packet on equal terms. When a pack prints its table per serving instead — "per pop (6 g)", "per sachet (10 g)" — ScanIn converts it using the serving weight printed on the pack, and shows the maths.

Example. A pack prints Serving size: 1 pop (6 g) · Total sugar: 1 g.

Per 100 g1 g × 100 ÷ 6 = 16.7 g sugar per 100 g
Per popabout 1 g sugar

Both numbers appear on the result: the per-100 g figure is what the limit is compared with, and the per-pop figure is what you actually eat.

3. How the number is built

Every profile has a set of rules. Each rule looks at one thing on the label — an allergen, a nutrition figure, an ingredient, a diet marker, a banned substance — and has a penalty. The score starts at 100 and each rule that is triggered subtracts its penalty. A rule that finds something serious — your listed allergen, an ingredient banned where you shop — also caps the score in the HIGH band regardless of the arithmetic, because no amount of good news elsewhere on the label outweighs it.

When two rules say the same thing with different strength — "high sugar" and "high sugar for diabetes" — only the stronger one counts, so nothing is charged twice.

Every triggered rule appears on the result as a finding, with the figure from the label and the limit it crossed, so you can check the arithmetic yourself.

4. The nutrition limits

The general limits follow the widely used "high in" front-of-pack conventions per 100 g. People who record a health condition get tighter limits for the nutrients that condition is sensitive to. The main ones:

Nutrient (per 100 g)General limitTighter limitApplies when you record
Sugars22.5 g10 gDiabetes, insulin resistance, PCOS, fatty liver
Sodium (salt)600 mg400 mgHigh blood pressure
Saturated fat5 g3 gHigh cholesterol

Limits are reviewed and can be adjusted without an app update. They are thresholds for comparison, not a diagnosis, and not a daily allowance: a figure above the limit means "this product is high in that nutrient for you", not "you must not eat it". How much of it you eat is yours to judge, which is why the per-serving amount is shown beside it.

5. "Not checked"

Many packs do not print every figure — saturated fat and sodium are often missing on Indian labels. ScanIn does not guess. A rule that cannot find its figure is skipped, and the result shows a grey ? NOT CHECKED line naming the missing nutrient, plus a "Partial check" note at the top. The score covers everything that was read, and never claims more.

A label with no readable ingredient list and no nutrition figure at all is not scored. ScanIn asks for a clearer photo instead.

6. Allergens

ScanIn tells apart two statements a pack can make, and treats them differently:

Whenever any allergen warning is shown, no "no allergens" tick is shown. The two never appear together.

7. Processing markers

Inspired by the NOVA classification used in nutrition research, ScanIn looks for ingredient types that signal industrial formulation rather than kitchen cooking: refined or palm oils, added sugars and syrups, refined flours and starches, additive codes (INS / E numbers), added flavourings, emulsifiers and thickeners, preservatives and added colours. The more kinds a label carries, the more processed it is judged to be.

The result names only what is actually on the pack. A pack with a natural colour and no preservative is described as having "added colour", never "preservatives". These ingredients are legal and permitted; ScanIn reports their presence, not their safety.

8. Country rules

ScanIn keeps a register of food additives and substances that are banned or restricted by national regulators, currently covering 11 countries. If an ingredient on the label is banned where you shop, the result says so and the score is capped in the HIGH band. If it is allowed where you shop but banned elsewhere, that is shown as information with no penalty, with the country and the regulation named. ScanIn reports the regulation; it does not add an opinion of its own.

9. What ScanIn never does

10. Corrections — for shoppers and for brands

Labels change, databases carry mistakes, and a photo can be misread. Every result screen has a "Something wrong? Tell us" link. If you make or sell a product and believe ScanIn shows an incorrect ingredient list, nutrition figure, allergen statement or regulatory flag, write to support@tinyanglestudio.com with the barcode, the correct information and a photo of the current label. We acknowledge within 24 hours and correct the entry, or reply with our reasons, within 15 days. Corrections reach every ScanIn user on their next scan; nothing needs reinstalling.