Allergen matrix
The Allergen matrix is the consolidated, EHO-facing view of every menu item your business serves and the regulated allergens each one contains. It is the digital replacement for the printed allergen sheet most operators keep behind the counter as part of their SFBB (Safer Food Better Business) pack.
You will find it at /safety/allergens.
Allergen declarations are made in CostingBrik, per supplier. The matrix in SafetyBrik is the consolidated reporting and audit view of those declarations, plus any manual menu items you add that are not in CostingBrik (drinks, third-party cakes, off-menu specials).
Read the data model first: CostingBrik allergens overview.
Why the matrix lives in SafetyBrik
CostingBrik is where the allergen data is managed. The matrix lives in SafetyBrik because that is where its three audiences look for it:
- The EHO - on a routine inspection they will ask "show me your allergen information". The matrix is what you hand them.
- The customer - the matrix is the source of truth for the customer information pack and any printed or in-app allergen statement.
- Your staff - new starters and existing team members use it as a quick reference when a guest asks about allergens.
CostingBrik is the data plane. SafetyBrik is the audit and presentation plane.
What the matrix shows
The matrix is a grid: one row per menu item, one column per regulated allergen. Each cell shows whether that item contains the allergen, along with its provenance (declared, undeclared, or marked manually).
The grid is built from two sources, merged automatically:
- Synced recipes from CostingBrik. Their allergen profile comes from the recipe allergen roll-up - the consolidated free-from / contains view built from each ingredient's preferred-supplier declaration.
- Manual menu items added directly in SafetyBrik. Useful for anything you do not cost in CostingBrik (bottled drinks, third-party cakes, daily specials).
A degraded-state banner appears if SafetyBrik temporarily cannot reach CostingBrik - you will still see your manual items, but recipes will be unavailable until the connection recovers.
Filtering and searching
Above the grid you can:
- Search by item name.
- Filter by location (multi-site tenants only) - useful when one site serves a different menu.
- Filter by category - drawn from the categories on the items themselves.
- Free-from filter - select one or more allergens, and the grid narrows to items free from those allergens. This is how you answer "what can I serve a guest with a peanut and sesame allergy?" in seconds.
Adding a manual item
For items that do not have a CostingBrik recipe, click Add item to open the manual menu item modal:
- Name and category.
- Which of the regulated allergens it contains.
- Location scope - all locations, or specific sites.
Manual items show up in the matrix alongside synced recipes and behave identically in the export.
Editing in CostingBrik: the round-trip
For a row that came from CostingBrik, the Edit in CostingBrik action deep-links straight to that recipe's Allergens tab:
/costing/recipes/{recipe-id}?tab=allergens
This is the workflow:
- Spot a row in the matrix that needs review.
- Click Edit in CostingBrik - you land on the recipe's Allergens tab.
- See the per-source breakdown showing which ingredient (or sub-recipe) contributed each allergen.
- Update the supplier declaration if needed (in CostingBrik's declaring allergens flow).
- Save - the matrix in SafetyBrik picks up the change automatically.
This round-trip is intentional. Declarations belong with the supplier data they are derived from (CostingBrik). The matrix view belongs with the audit and reporting surface (SafetyBrik). Each side does what it is best at.
Exporting for an EHO visit
Click Export PDF to download a dated allergen matrix PDF. This is the document you keep printed in your SFBB folder and hand to the EHO on request.
A few behaviours worth knowing:
- If the matrix is currently being recomputed (e.g. a supplier declaration was just changed), the export will surface a Recomputing in progress message and ask you to retry shortly.
- If any recipe has unreviewed ingredients, those cells print as
?rather than a confident yes/no - so the EHO can see you are not making unverified claims.
Status of allergen data
The matrix carries forward the same three states defined in CostingBrik:
- Contains - one or more allergens declared.
- Free from - explicitly declared free from all 14 regulated allergens.
- Not yet declared - at least one ingredient on the recipe has no supplier declaration. The matrix flags this and the export prints
?for that cell.
The "not yet declared" state is deliberately distinct from "free-from" - silence is not a safe default.
Cross-references
- CostingBrik: allergens overview - the full data model and supplier-level declarations.
- CostingBrik: declaring allergens - how to record declarations on a supplier.
- CostingBrik: recipe allergen roll-up - how the per-recipe allergen profile is calculated.
Region availability
The matrix currently supports the 14 UK-regulated allergens. For non-UK tenants, SafetyBrik shows a "coming soon" panel until the regulated allergen registry for that region is enabled.