{"ok":true,"site":{"host":"cyberwatch-france.vercel.app","url":"https://cyberwatch-france.vercel.app/","type":"live","desc":"14 incidents from 2025 and 2026, each linked to its source. This is a curated public dossier, not a complete register of every French breach.","tools":[{"name":"get_page_context","kind":"answer","impl":"imperative","description":"Where the reader is on France Cyberwatch: path, locale, page kind, and the open incident id if any.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/incidents","/guidance","/numbers","/learn","/fr"]},{"name":"list_incidents","kind":"answer","impl":"imperative","description":"Search the France Cyberwatch dataset already loaded in this page. affected is null when unpublished — never 0.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","properties":{"q":{"type":"string","description":"Full-text search."},"kind":{"type":"string","enum":["government","company"]},"severity":{"type":"string","enum":["critical","high","medium","low"]},"status":{"type":"string","enum":["confirmed","disputed","unknown"]},"sector":{"type":"string"},"year":{"type":"number"},"limit":{"type":"number","description":"1–200, default 50."},"lang":{"type":"string","enum":["en","fr"]}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/incidents","/guidance","/numbers","/learn","/fr"]},{"name":"get_incident","kind":"answer","impl":"imperative","description":"One incident from the in-page dataset, localized. Unknown ids list the valid ones.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Incident id, e.g. ants."},"lang":{"type":"string","enum":["en","fr"]}},"required":["id"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/incidents","/guidance","/numbers","/learn","/fr"]},{"name":"get_summary","kind":"answer","impl":"imperative","description":"ANSSI and CNIL national figures plus counts from this list. Aggregates never include unknown or disputed attacker claims.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/incidents","/guidance","/numbers","/learn","/fr"]},{"name":"open_incident","kind":"act","impl":"imperative","description":"Navigate this tab to the incident article in the current language.","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Incident id, e.g. ants."}},"required":["id"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/incidents","/guidance","/numbers","/learn","/fr"]},{"name":"open_page","kind":"act","impl":"imperative","description":"Navigate this tab to a France Cyberwatch section: home, incidents, guidance, numbers, docs, learn, or quiz.","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","properties":{"page":{"type":"string","enum":["home","incidents","guidance","numbers","docs","learn","quiz"]}},"required":["page"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/incidents","/guidance","/numbers","/learn","/fr"]},{"name":"filter_timeline","kind":"act","impl":"imperative","description":"Apply timeline filters and open the incidents page with a shareable query string. Does not invent missing counts.","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","properties":{"q":{"type":"string"},"kind":{"type":"string","enum":["government","company"]},"severity":{"type":"string","enum":["critical","high","medium","low"]},"status":{"type":"string","enum":["confirmed","disputed","unknown"]},"sector":{"type":"string"},"year":{"type":"number"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/incidents","/guidance","/numbers","/learn","/fr"]},{"name":"reset_filters","kind":"act","impl":"imperative","description":"Clear timeline filters and open the full incident list.","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/incidents","/guidance","/numbers","/learn","/fr"]}],"category":"Media & Personal","favicon":"/favicons/cyberwatch-france.vercel.app.svg","apiSurface":"spec","toolCount":8}}