1. Perché il gateway è il punto di ispezione corretto
La maggior parte dei controlli di sicurezza vive nell’applicazione: wrapper di libreria, hook del framework per agent, SDK per-provider. Quei controlli hanno un difetto strutturale fatale — si rompono non appena aggiungi un secondo provider, cambi framework, o lasci che un agent auto-installi una nuova skill. Il gateway non ha nessuna di quelle cuciture. Ogni chiamata che il tuo agent emette, indipendentemente dal modello, dal provider, o da come la capability del tool è arrivata, transita un singolo punto prima che qualcosa raggiunga l’upstream. Questo è l’unico layer dove puoi fare una garanzia: se è accaduto, il gateway l’ha visto. OrcaRouter usa quella posizione per due passaggi di applicazione distinti:- I Guardrails filtrano il testo — il prompt che il tuo agent invia e la
risposta che il modello restituisce. Un block del guardrail restituisce
HTTP 400
guardrail_blockede non costa quota. - Il Firewall giudica le azioni — i tool che un agent chiama, gli MCP
server che raggiunge, e le destinazioni di rete che segnala. Un deny del
firewall restituisce HTTP 400
firewall_blockedsulla superficie inbound, o un errore di tool sulla superficie MCP, così il modello vede il rifiuto e può ragionare su di esso.
https://api.orcarouter.ai/v1 esattamente
come prima.
2. Le quattro superfici di applicazione
Il Firewall valuta ogni chiamata a tool rispetto esattamente a una superficie — il punto nel ciclo di vita della chiamata in cui il gateway la vede.| Superficie | Cosa vede il gateway |
|---|---|
inbound | I tool che il tuo agent pubblicizza al modello sulla richiesta — le definizioni dei tool. Bloccare qui impedisce al modello di scegliere mai un tool pericoloso. |
response | I tool_calls che il modello emette nella sua risposta — le azioni scelte dal modello prima che vengano dispatchate. |
mcp | Un tools/call dispatchato attraverso il gateway MCP del Firewall o valutato tramite l’hook dell’SDK — la chiamata al momento del dispatch. |
egress | Una destinazione di rete in uscita (host / IP / CIDR) che un tool segnala — la superficie di SSRF e esfiltrazione di dati. |
input (il prompt e i messaggi della richiesta) e output
(il testo della risposta del modello). Una singola richiesta può passare
attraverso tutti.
3. Detection al primo utilizzo
La detection avviene al gateway, al primo utilizzo — non al momento
dell’installazione. Un tool, MCP server o skill che un agent auto-installa
viene intercettato la prima volta che la sua chiamata attraversa il gateway.
Questo è deliberato: il gateway è l’unico punto di strozzatura che vede ogni
provider, ogni agent e ogni chiamata indipendentemente da come la capability
è arrivata. Aspettare la detection al momento dell’installazione perderebbe
le capability caricate a runtime.
4. Cosa il gateway non può vedere
La garanzia di ispezione copre le chiamate che attraversano il gateway. Non si estende a un tool che il tuo agent esegue interamente dentro il proprio processo — uno che legge un file locale, chiama una funzione di libreria, o esegue un sottoprocesso senza mai inviare un messaggio al gateway. Questo è un confine onesto, non un difetto di design. L’obiettivo di design è rendere il gateway il percorso controllato per le chiamate che contano — quelle con conseguenze reali:| Dove gira | Il gateway lo vede? | Come colmare il gap |
|---|---|---|
Chiamata a tool mediata dal modello (il modello emette tool_calls) | Sì — superficie response | Nessuna azione necessaria; già governata. |
| Dispatch MCP attraverso il gateway MCP del Firewall | Sì — superficie mcp | Nessuna azione necessaria; già governata. |
Il tuo agent chiama POST /api/v1/firewall/evaluate prima del dispatch | Sì — valutata inline | Già governata tramite l’hook di evaluate. |
| Il tool gira in-process, nessun contatto con il gateway | No | Instrada il dispatch MCP e i tool che fanno chiamate di rete attraverso il gateway invece di chiamarli direttamente dal processo dell’agent. |
5. Role gating sui dati di ispezione
L’accesso alle superfici di ispezione è role-scoped dentro il tuo workspace:| Capability | Ruolo minimo |
|---|---|
| Leggi match dei guardrail, policy del firewall e discovered tools | Member |
| Leggi i feed Events & Runs del firewall | Developer |
| Crea o modifica guardrails, policy del firewall, regole | Developer |
Export di compliance, chiave con scope firewall-gateway in chiaro, flag is_firewall_gateway | Admin |
Un token con scope firewall-gateway (la chiave usata per chiamare
/api/v1/firewall/evaluate e il gateway MCP) richiede il ruolo Admin per
essere creato. Una chiave API normale restituisce 403 su quelle rotte.6. Dove andare dopo
Il control stack
Il percorso completo della richiesta — chiave, guardrails, modello,
firewall, audit — in un unico diagramma.
Responsabilità condivisa
Cosa protegge il gateway e cosa rimane nella tua applicazione.
Agent Firewall
Scrivi policy, configura superfici e governa le chiamate a tool in
profondità.
