📋 Methodology
How we collect, deduplicate, translate, and present EU consumer-safety alerts. We do not write original advice. Every notification links back to its issuing agency, who remains the source of truth.
1. Data sources
We ingest from the following official public agency data feeds:
Medicines
- EMA — European Medicines Agency centralised medicines catalogue (~1,800 authorised medicines). source
- EMA Shortages — EU-wide medicine shortage notifications. JSON feed, refreshed twice daily. source
- EMA DHPC — Direct Healthcare Professional Communications (safety letters). JSON feed. source
Food + animal feed
- iRASFF — EU Rapid Alert System for Food and Feed. JSON API via DG SANTE data lake. Used to backfill 2000–today. source
Consumer products (on the roadmap)
- EU Safety Gate — rapid alert system for non-food consumer products. Integration planned. source
- EUDAMED — EU database for medical devices. Integration planned. source
2. Ingestion frequency
- EMA shortages: every 6 hours
- EMA medicine catalogue: daily at 04:00 CET
- EMA DHPC: every 6 hours
- RASFF: every 6 hours
3. How we process each alert
- Fetch the official JSON feed.
- Deduplicate by the agency's notification reference (the official ID).
- Normalise dates, country codes, and severities into our internal schema.
- For new alerts, scrape the agency's public detail page to capture the full context (reason, recommendations, key facts).
- Generate a plain-language summary using Mistral AI with strict anti-fabrication rules. The summary is clearly labelled "AI-generated" on every page.
- Auto-translate UI strings, alert titles, and summaries into 12 additional European languages.
- Match against user watch-lists and send free email alerts if subscribed.
4. Anti-fabrication rules
Our AI translation + summarisation pipeline has explicit rules to prevent invention:
- Never add a fact, name, brand, percentage, or date not present in the original notice
- Never give medical advice, suggest alternatives, or speculate about cause
- Output is constrained to a single paragraph max 80 words
- Every summary is rendered with a visible AI-generated disclaimer
- The official source URL is shown on every alert page
5. What we explicitly do NOT do
- Provide medical, dosing, legal, or financial advice
- Decide whether something is dangerous — only the issuing agency does that
- Claim affiliation with the EU, EMA, EFSA, NVWA, FAGG-AFMPS, FAVV-AFSCA or any national agency
- Sell, rent, or share user emails
- Run advertising, sponsored content, or affiliate links
6. Coverage gaps
We are transparent about what we do NOT cover:
- National-only medicine catalogues (~150,000 medicines authorised at country level) — out of scope
- Reimbursement, OTC-vs-Rx status, packaging codes — out of scope
- Per-pharmacy stock availability — operationally impossible
- News articles, blog posts, press releases — only structured agency feeds, by design
- Nuclear/radiation alerts (ENSREG), water-safety alerts — low signal, out of scope
7. Live source registry
8. Errors + corrections
Spotted an error or stale data? Email [email protected] with the alert URL. We check against the original source within 2 working days and ship corrections quickly.
9. Stats
102,653
alerts on record
1,496
last 30 days
2,312
medicines
13
languages