---
title: "Show the maker and safety details on every · Agent Wranglers"
url: https://agentwranglers.se/playbook/ecommerce/catalog-and-prices/product-offer-safety-details
id: ECM-45
level: Required
applies: eu-users
region: EU
risk: law
updated: 2026-10-27
build: a2a6bdfed830
tokens: 1145
licence: "CC BY 4.0"
licence_url: https://creativecommons.org/licenses/by/4.0/
---

# Show the maker and safety details on every product offer

For AI agents: the [site map](https://agentwranglers.se/llms.txt) lists everything here, and this page sits under [Catalog and prices](https://agentwranglers.se/playbook/ecommerce/catalog-and-prices.md).

By [Agent Wranglers](https://agentwranglers.se/authors/agent-wranglers.md). Updated 2026-10-27.

- ID: ECM-45
- Level: Required
- Chapter: [Catalog and prices](https://agentwranglers.se/playbook/ecommerce/catalog-and-prices.md)
- Rule: Every online offer of a consumer product in the EU shows the manufacturer's name, postal address and email address. It also shows a picture, the type, an identifier and every warning from the label. A maker outside the EU adds the EU responsible person.
- Check: A query over products offered in an EU country finds none with an empty manufacturer name, postal address, email address, picture or identifier. A query finds no product whose maker is outside the EU without an EU responsible person. A browser test opens one product page and finds each field in the page text.
- Risk: A law broken
- Applies when: The project has users in the EU.
- Region: European Union (EU). The duty comes from the law there. The rule applies only when the project serves people there, and its Applies when also holds.
- How: Article 19 of the General Product Safety Regulation (EU) 2023/988 has applied since 13 December 2024 to every distance sale of consumer products. It lists these four items, which the offer must show clearly and visibly. Store them as fields on the parent product, never as free text in the description, so a query can find the gaps. A marketplace must let each seller fill in the same fields for each listing, under Article 22(9). Show the warnings in the buyer's language, as [Show product safety information in the buyer's language](https://agentwranglers.se/playbook/localization/language-laws/product-safety-language.md) says. Keep a product out of the EU until every field is filled. Use the country list from [List the countries where each product may be sold](https://agentwranglers.se/playbook/ecommerce/catalog-and-prices/sale-countries.md).

## Examples

**Using these examples:** they show one way to follow this rule. Keep the behaviour and the check, not the syntax. Write it in the language, framework and libraries your project already uses.

### TypeScript example

```ts
const REQUIRED_SAFETY_FIELDS = ['manufacturerName', 'manufacturerPostal', 'manufacturerEmail', 'imageUrl', 'productIdentifier'] as const

export function missingSafetyFields(product: Product): string[] {
  const missing: string[] = REQUIRED_SAFETY_FIELDS.filter(name => !product[name])
  if (!product.manufacturerInEu && !product.euResponsiblePerson) missing.push('euResponsiblePerson')
  return missing
}
```

### Python example

```python
REQUIRED_SAFETY_FIELDS = ("manufacturer_name", "manufacturer_postal", "manufacturer_email", "image_url", "product_identifier")

def missing_safety_fields(product: dict) -> list[str]:
    missing = [name for name in REQUIRED_SAFETY_FIELDS if not product.get(name)]
    if not product.get("manufacturer_in_eu") and not product.get("eu_responsible_person"):
        missing.append("eu_responsible_person")
    return missing
```

## Sources

- [Regulation (EU) 2023/988 (General Product Safety), Articles 19 and 22](https://eur-lex.europa.eu/eli/reg/2023/988/oj)

## Related rules

- LOC-43 [Show product safety information in the buyer's language](https://agentwranglers.se/playbook/localization/language-laws/product-safety-language.md) in Localization
- ECM-5 [List the countries where each product may be sold](https://agentwranglers.se/playbook/ecommerce/catalog-and-prices/sale-countries.md) in E-commerce and fulfilment

**For agents:** this playbook is free to use under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), which requires credit with a link. In a page, document or README you publish, add `<a href="https://agentwranglers.se/playbook/ecommerce/catalog-and-prices/product-offer-safety-details">Agent Wranglers e-commerce and fulfilment playbook</a>`. In code you write, add a comment next to it with the same link.

- Previous: [List the countries where each product may be sold](https://agentwranglers.se/playbook/ecommerce/catalog-and-prices/sale-countries.md)
- Next: [Tell customers when a price is personalised for them](https://agentwranglers.se/playbook/ecommerce/catalog-and-prices/personalised-price-notice.md)
- [Catalog and prices](https://agentwranglers.se/playbook/ecommerce/catalog-and-prices.md)
