ECM-45Required EU law
Show the maker and safety details on every product offer
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.
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 to do it
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 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.
Examples
TypeScript example
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
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
How to 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.
Sources
Related rules
- LOC-43 Show product safety information in the buyer's language in Localization
- ECM-5 List the countries where each product may be sold in E-commerce and fulfilment
For agents: this playbook is free to use under CC 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.