# How Ask FireAI understands you: the parser, the on-device model, and every instruction we give it

> Ask FireAI reads an order with a strict parser first and only asks the on-device model when it has to. This page publishes the model’s full instructions, the answer format, the safety checks and the orders we test it with.

FireAI Docs (HisnLabs) · Función · Disponible desde FireAI 0.1.7
Canonical: https://hisnlabs.com/fireai/en/docs/how-ask-fireai-understands-you

**Dónde en FireAI:** Home › Ask FireAI

Nothing hidden: read exactly what FireAI tells its AI, and how we check it gets it right.

## Two steps: a parser, then the model

1. A deterministic parser reads the order first. It knows a fixed list of verbs, objects and places in every language the app ships in (Parental Controls orders in English and French). Most orders never reach the model.
2. Only when the parser can’t read the order, or can’t name the app or company in it, the on-device model gets it. The model runs on your Mac (Gemma, 4-bit, through Apple’s MLX); the order never leaves the Mac.
3. Either way, FireAI shows what it will change and waits for you to click Apply. Nothing is changed silently.

## The model’s full instructions

This is the complete system prompt FireAI sends with each order the parser couldn’t read. The model must answer with one JSON object, nothing else.

```text
You convert a user's firewall order into JSON. Reply with ONE JSON object and nothing else.
Schema: {"type": "rule"|"security"|"mode"|"kill_switch"|"firewall"|"shield"|"child_safety"|"safari_only",
"action": "allow"|"block", "app": string|null, "target": string|null, "value": string|null}
- rule: app = application name, target = ONE named company, website, domain or IP (null = everything).
- shield: a whole CATEGORY of websites, never a single named site. action = "block" (turn the shield on) or
"allow" (turn it off); value = "nsfw" (porn, adult, explicit, sex sites) | "gambling" (betting, casinos, lottery) |
"drugs" | "gaming" (online games, video games, game stores) | "adsTrackers" (ads, trackers) |
"malwareScams" (malware, viruses, scams, phishing).
- child_safety: the one-click preset for a child's Mac (adult, gambling, drug and game sites blocked, Safari only);
value = "on"|"off".
- safari_only: only Safari may go online (other browsers blocked); value = "on"|"off". An order that names
another browser (Chrome, Firefox, Edge, Brave, Opera, Arc) is about safari_only, never child_safety.
A named site is a rule even if it is a game or an adult site: "block Roblox" → rule, "block online games" → shield.
- security: value = "home"|"coffeeShop"|"paranoid"|"underAttack".
- mode: value = "alert"|"autopilot"|"silentAllow"|"silentDeny" ("autopilot" is the feature called FireAI Pilot:
"use FireAI Pilot" → {"type":"mode","value":"autopilot"}).
- kill_switch / firewall: value = "on"|"off".
Known apps: <up to 40 app names seen on this Mac>.
The order can be in any language (English, French, German, Spanish, Portuguese, Italian, Russian, Ukrainian, Polish,
Turkish, Swedish, Norwegian, Chinese, Arabic…). Always answer with the JSON schema above, in English values.
Write "app" and "target" as the official Latin-script name of the app or company, as people write it in English
(微信 → WeChat, مايكروسوفت → Microsoft, Телеграм → Telegram, واتساب → WhatsApp), or the domain/IP exactly as given.
Examples:
"block all Microsoft Teams connections" → {"type":"rule","action":"block","app":"Microsoft Teams","target":null,"value":null}
"never let Slack talk to Datadog" → {"type":"rule","action":"block","app":"Slack","target":"Datadog","value":null}
"je suis dans un café" → {"type":"security","action":null,"app":null,"target":null,"value":"coffeeShop"}
"امنع مايكروسوفت من جمع بياناتي" → {"type":"rule","action":"block","app":null,"target":"Microsoft","value":null}
"别让微信连接到腾讯" → {"type":"rule","action":"block","app":"WeChat","target":"Tencent","value":null}
"Я в аэропорту, будь осторожнее" → {"type":"security","action":null,"app":null,"target":null,"value":"coffeeShop"}
"Ich glaube, ich werde gehackt" → {"type":"security","action":null,"app":null,"target":null,"value":"underAttack"}
"Spotify'ın beni takip etmesini istemiyorum" → {"type":"rule","action":"block","app":"Spotify","target":null,"value":null}
"deja que Zoom funcione" → {"type":"rule","action":"allow","app":"Zoom","target":null,"value":null}
"stop my son playing online games" → {"type":"shield","action":"block","app":null,"target":null,"value":"gaming"}
"block Roblox" → {"type":"rule","action":"block","app":null,"target":"Roblox","value":null}
"keine Pornoseiten mehr" → {"type":"shield","action":"block","app":null,"target":null,"value":"nsfw"}
"bloquea las apuestas" → {"type":"shield","action":"block","app":null,"target":null,"value":"gambling"}
"my kid uses this Mac, make it safe" → {"type":"child_safety","action":null,"app":null,"target":null,"value":"on"}
"only allow Safari" → {"type":"safari_only","action":null,"app":null,"target":null,"value":"on"}
"games are fine again" → {"type":"shield","action":"allow","app":null,"target":null,"value":"gaming"}
"turn off child safety" → {"type":"child_safety","action":null,"app":null,"target":null,"value":"off"}
```

## Safety checks on the model’s answer

- The answer is decoded into the same small set of commands the parser produces. Anything else is refused, never guessed: an unknown shield name, an unknown mode or a malformed answer means “I couldn’t turn that into a firewall action”.
- An order to turn something off can never turn it on: “off” is honoured whether the model writes it in the value or the action field. We added this after a test where “turn off child safety” came back with “off” in the wrong field.
- An order that names another browser (“let my kids use Chrome again”) only changes Safari only, never the whole Child Safety First preset. We added this after the model picked the preset for that sentence.
- With Safari only on, “allow Chrome” means letting other browsers go online, because an Allow rule for Chrome alone would change nothing.
- The model never acts on text from websites or apps: it only reads the sentence you typed.

## The orders we test it with

Every change to the instructions is checked against these orders, sent straight to the model (skipping the parser) with the same instructions and the same decoding as the app. Last run, 2026-10-03: 89 orders in all 16 languages FireAI comes in, greedy decoding. 89 correct with the decoding in FireAI 1.0.4; 88 with FireAI 1.0.3, and the one difference is explained under the table.

| Order | Expected result | Result |
| --- | --- | --- |
| block online games | gaming shield on | Pass |
| stop my son from playing games on the internet | gaming shield on | Pass |
| I don’t want my daughter to see porn | nsfw shield on | Pass |
| block betting and casino sites | gambling shield on | Pass |
| block drug websites | drugs shield on | Pass |
| no more ads please | adsTrackers shield on | Pass |
| protect me from scams and phishing | malwareScams shield on | Pass |
| games are fine again | gaming shield off | Pass |
| block Roblox | single-site rule (block) | Pass |
| block youtube.com | single-site rule (block) | Pass |
| my kid is going to use this Mac, make it safe for a child | Child Safety First on | Pass |
| only let Safari go online | Safari only on | Pass |
| turn off child safety | Child Safety First off | Pass |
| bloque les jeux en ligne pour mon fils | gaming shield on | Pass |
| je ne veux plus de sites pour adultes | nsfw shield on | Pass |
| Blockiere Online-Spiele | gaming shield on | Pass |
| keine Glücksspielseiten mehr | gambling shield on | Pass |
| bloquea los juegos en línea | gaming shield on | Pass |
| حظر الألعاب على الإنترنت | gaming shield on | Pass |
| 屏蔽成人网站 | nsfw shield on | Pass |
| заблокируй азартные игры | gambling shield on | Pass |
| block Slack | single-site rule (block) | Pass |
| go in paranoid mode | Security mode: paranoid | Pass |
| disable parental controls | Child Safety First off | Pass |
| let my kids use Chrome again | Safari only off | Pass |
| désactive la sécurité enfant | Child Safety First off | Pass |
| turn off the kill switch | Kill switch off | Pass |
| Firefox is ok for the children now | Safari only off | Pass |
| block Chrome and every other browser except Safari | Safari only on | Pass |
| autorise à nouveau Firefox pour mes enfants | Safari only off | Pass from 1.0.4 (see note) |
| let FireAI Pilot handle the easy connections | FireAI Pilot mode | Pass |
| passe en mode FireAI Pilot | FireAI Pilot mode | Pass |
| block social media | socialMedia shield on | Pass |
| keep my kids off Instagram and TikTok | socialMedia shield on | Pass |
| bloque les réseaux sociaux | socialMedia shield on | Pass |
| social media is fine again | socialMedia shield off | Pass |
| block Facebook | single-site rule (block) | Pass |
| bloquea los videojuegos en línea para mi hijo | gaming shield on | Pass |
| ya no quiero apuestas ni casinos en esta computadora | gambling shield on | Pass |
| desactiva el control parental | Child Safety First off | Pass |
| bloquea Slack | single-site rule (block) | Pass |
| bloqueia os jogos online para o meu filho | gaming shield on | Pass |
| não quero mais sites para adultos neste computador | nsfw shield on | Pass |
| desliga a segurança infantil | Child Safety First off | Pass |
| passa para o modo paranóico | Security mode: paranoid | Pass |
| bloqueie as redes sociais dos meus filhos | socialMedia shield on | Pass |
| chega de anúncios, por favor | adsTrackers shield on | Pass |
| o Firefox está liberado para as crianças agora | Safari only off | Pass |
| bloqueie o Discord | single-site rule (block) | Pass |
| blocca i giochi online per mio figlio | gaming shield on | Pass |
| niente più siti di scommesse | gambling shield on | Pass |
| disattiva il kill switch | Kill switch off | Pass |
| blocca Spotify | single-site rule (block) | Pass |
| заблокуй онлайн-ігри для мого сина | gaming shield on | Pass |
| не хочу більше бачити сайти для дорослих | nsfw shield on | Pass |
| вимкни батьківський контроль | Child Safety First off | Pass |
| заблокуй Telegram | single-site rule (block) | Pass |
| zablokuj gry online dla mojego syna | gaming shield on | Pass |
| chroń mnie przed oszustwami i phishingiem | malwareScams shield on | Pass |
| wyłącz kontrolę rodzicielską | Child Safety First off | Pass |
| zablokuj Zoom | single-site rule (block) | Pass |
| oğlum için çevrimiçi oyunları engelle | gaming shield on | Pass |
| artık kumar ve bahis siteleri istemiyorum | gambling shield on | Pass |
| çocuk güvenliğini kapat | Child Safety First off | Pass |
| Instagram’ı engelle | single-site rule (block) | Pass |
| blockera onlinespel för min son | gaming shield on | Pass |
| inga fler vuxensajter, tack | nsfw shield on | Pass |
| stäng av barnsäkerheten | Child Safety First off | Pass |
| blockera Steam | single-site rule (block) | Pass |
| blokker nettspill for sønnen min | gaming shield on | Pass |
| ingen flere reklamer, takk | adsTrackers shield on | Pass |
| slå av barnesikringen | Child Safety First off | Pass |
| blokker Microsoft Teams | single-site rule (block) | Pass |
| I’m working from a hotel lobby today, be careful | Security mode: coffee shop | Pass |
| je travaille dans un café, protège ma connexion | Security mode: coffee shop | Pass |
| mein Sohn hat ab heute keine Online-Spiele mehr | gaming shield on | Pass |
| mi hija va a usar este Mac, hazlo seguro para una niña | Child Safety First on | Pass |
| ya no quiero apuestas deportivas en esta computadora | gambling shield on | Pass |
| blocca le pubblicità e i tracker | adsTrackers shield on | Pass |
| estou no aeroporto, protege o meu Mac | Security mode: coffee shop | Pass |
| bloqueie os sites de golpes e phishing | malwareScams shield on | Pass |
| لا أريد أن يرى ابني مواقع البالغين | nsfw shield on | Pass |
| 别让 Zoom 再联网了 | single-site rule (block) | Pass |
| Кажется, меня взламывают | Security mode: under attack | Pass |
| вимкни інтернет повністю, негайно | Kill switch on | Pass |
| zablokuj media społecznościowe moim dzieciom | socialMedia shield on | Pass |
| Discord’u engelle, sınav haftası | single-site rule (block) | Pass |
| låt FireAI Pilot sköta de enkla anslutningarna | FireAI Pilot mode | Pass |
| jeg sitter på en flyplass, vær ekstra forsiktig | Security mode: coffee shop | Pass |

> **Note:** The difference: for “autorise à nouveau Firefox pour mes enfants” the model wrote “allow” where FireAI expected “off”. Up to FireAI 1.0.3 that answer read as turning Safari only on; in practice the order is handled before it reaches the model whenever Safari only is on, which is the only time it applies, and FireAI proposes letting every browser go online. From FireAI 1.0.4, “allow” in a Safari only answer always means off.

Want to see one everyday order in each language? [Ask FireAI in your language](https://hisnlabs.com/fireai/en/docs/ask-fireai-in-your-language) has a tested example for every one of the 16.

> **Note:** A small model can still misread an order we haven’t tested. That’s why every order is shown as a preview first, and why the parser, not the model, handles the common ones.

## Sigue leyendo

- [Preguntar a FireAI: órdenes en lenguaje sencillo en lugar de formularios](https://hisnlabs.com/fireai/es/docs/ask-fireai.md)
- [Preguntar a FireAI en tu idioma: 16 idiomas, una orden real en cada uno](https://hisnlabs.com/fireai/es/docs/ask-fireai-in-your-language.md)
- [Usa Preguntar a FireAI en lenguaje sencillo](https://hisnlabs.com/fireai/es/docs/use-ask-fireai-in-plain-language.md)
- [El modelo de IA local, opcional](https://hisnlabs.com/fireai/es/docs/on-device-ai-model.md)
- [Parental Controls for Mac: block adult sites, gambling, drugs, games, ads and scams](https://hisnlabs.com/fireai/es/docs/parental-controls.md)

---

Prueba todas las funciones gratis durante 17 días, sin tarjeta. Garantía de devolución de 30 días. [Descargar para Mac](https://hisnlabs.com/fireai/es/download)
