Skip to content

Scegliere i Livelli di Classificazione

Ogni canale, server MCP, integrazione e plugin in Triggerfish deve avere un livello di classificazione. Questa pagina La aiuta a scegliere quello giusto.

I Quattro Livelli

LivelloCosa significaI dati fluiscono verso...
PUBLICSicuro per chiunqueOvunque
INTERNALSolo per i Suoi occhi — nulla di sensibile, ma non pubblicoINTERNAL, CONFIDENTIAL, RESTRICTED
CONFIDENTIALContiene dati sensibili che non vorrebbe mai fossero espostiCONFIDENTIAL, RESTRICTED
RESTRICTEDPiù sensibile — legale, medico, finanziario, PIISolo RESTRICTED

I dati possono fluire solo verso l'alto o lateralmente, mai verso il basso. Questa è la regola no write-down e non può essere sovrascritta.

Due Domande da Porsi

Per qualsiasi integrazione che sta configurando, si chieda:

1. Qual è il dato più sensibile che questa fonte potrebbe restituire?

Questo determina il livello di classificazione minimo. Se un server MCP potrebbe restituire dati finanziari, deve essere almeno CONFIDENTIAL — anche se la maggior parte dei suoi strumenti restituisce metadati innocui.

2. Sarebbe a Suo agio se i dati della sessione fluissero verso questa destinazione?

Questo determina il livello di classificazione massimo che vorrebbe assegnare. Una classificazione più alta significa che il taint della sessione si escala quando lo utilizza, il che limita dove i dati possono fluire successivamente.

Classificazione per Tipo di Dato

Tipo di datoLivello consigliatoPerché
Meteo, pagine web pubbliche, fusi orariPUBLICLiberamente disponibile per chiunque
Appunti personali, segnalibri, liste attivitàINTERNALPrivati ma non dannosi se esposti
Wiki interne, documenti di team, bacheche progettoINTERNALInformazioni interne all'organizzazione
Email, eventi calendario, contattiCONFIDENTIALContiene nomi, orari, relazioni
Dati CRM, pipeline vendite, record clientiCONFIDENTIALSensibili per il business, dati clienti
Record finanziari, conti bancari, fattureCONFIDENTIALInformazioni monetarie
Repository di codice sorgente (privati)CONFIDENTIALProprietà intellettuale
Cartelle mediche o sanitarieRESTRICTEDProtette legalmente (HIPAA, ecc.)
Numeri di identificazione governativa, SSN, passaportiRESTRICTEDRischio di furto d'identità
Documenti legali, contratti sotto NDARESTRICTEDEsposizione legale
Chiavi di crittografia, credenziali, secretRESTRICTEDRischio di compromissione del sistema

Server MCP

Quando aggiunge un server MCP a triggerfish.yaml, la classificazione determina due cose:

  1. Taint di sessione — chiamare qualsiasi strumento su questo server escala la sessione a questo livello
  2. Prevenzione write-down — una sessione già contaminata sopra questo livello non può inviare dati a questo server
yaml
mcp_servers:
  # PUBLIC — dati aperti, nessuna sensibilità
  weather:
    command: npx
    args: ["-y", "@mcp/server-weather"]
    classification: PUBLIC

  # INTERNAL — il proprio filesystem, privato ma non secret
  filesystem:
    command: npx
    args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/you/docs"]
    classification: INTERNAL

  # CONFIDENTIAL — accede a repository privati, issue dei clienti
  github:
    command: npx
    args: ["-y", "@modelcontextprotocol/server-github"]
    env:
      GITHUB_PERSONAL_ACCESS_TOKEN: "keychain:github-pat"
    classification: CONFIDENTIAL

  # RESTRICTED — database con PII, cartelle cliniche, documenti legali
  postgres:
    command: npx
    args: ["-y", "@mcp/server-postgres"]
    env:
      DATABASE_URL: "keychain:prod-db-url"
    classification: RESTRICTED

DEFAULT DENY Se omette classification, il server viene registrato

come UNTRUSTED e il gateway rifiuta tutte le chiamate strumenti. Deve scegliere esplicitamente un livello. :::

Classificazioni Comuni dei Server MCP

Server MCPLivello suggeritoMotivazione
Filesystem (documenti pubblici)PUBLICEspone solo file disponibili pubblicamente
Filesystem (directory home)INTERNALFile personali, nulla di segreto
Filesystem (progetti di lavoro)CONFIDENTIALPotrebbe contenere codice o dati proprietari
GitHub (solo repository pubblici)INTERNALIl codice è pubblico ma i pattern di utilizzo sono privati
GitHub (repository privati)CONFIDENTIALCodice sorgente proprietario
SlackCONFIDENTIALConversazioni di lavoro, potenzialmente sensibili
Database (analytics/reportistica)CONFIDENTIALDati aziendali aggregati
Database (produzione con PII)RESTRICTEDContiene informazioni personali identificabili
Meteo / ora / calcolatricePUBLICNessun dato sensibile
Ricerca webPUBLICRestituisce informazioni disponibili pubblicamente
EmailCONFIDENTIALNomi, conversazioni, allegati
Google DriveCONFIDENTIALI documenti possono contenere dati aziendali sensibili

Canali

La classificazione del canale determina il tetto — la sensibilità massima dei dati che possono essere consegnati a quel canale.

yaml
channels:
  cli:
    classification: INTERNAL # Il Suo terminale locale — sicuro per dati interni
  telegram:
    classification: INTERNAL # Il Suo bot privato — uguale alla CLI per il proprietario
  webchat:
    classification: PUBLIC # Visitatori anonimi — solo dati pubblici
  email:
    classification: CONFIDENTIAL # L'email è privata ma potrebbe essere inoltrata

PROPRIETARIO vs. NON-PROPRIETARIO Per il proprietario, tutti i

canali hanno lo stesso livello di fiducia — Lei è Lei, indipendentemente dall'app che usa. La classificazione del canale conta di più per gli utenti non proprietari (visitatori su webchat, membri in un canale Slack, ecc.) dove controlla quali dati possono fluire verso di loro. :::

Scegliere la Classificazione del Canale

DomandaSe sì...Se no...
Un estraneo potrebbe vedere i messaggi su questo canale?PUBLICContinui a leggere
Questo canale è solo per Lei personalmente?INTERNAL o superioreContinui a leggere
I messaggi potrebbero essere inoltrati, catturati o registrati da terzi?Limite a CONFIDENTIALPotrebbe essere RESTRICTED
Il canale è crittografato end-to-end e sotto il Suo pieno controllo?Potrebbe essere RESTRICTEDLimite a CONFIDENTIAL

Cosa Succede Quando Si Sbaglia

Troppo basso (es. server CONFIDENTIAL contrassegnato come PUBLIC):

  • I dati da questo server non escalano il taint della sessione
  • La sessione potrebbe far fluire dati classificati verso canali pubblici — rischio di fuga dati
  • Questa è la direzione pericolosa

Troppo alto (es. server PUBLIC contrassegnato come CONFIDENTIAL):

  • Il taint della sessione si escala inutilmente quando usa questo server
  • Verrà bloccato dall'invio verso canali con classificazione inferiore
  • Fastidioso ma sicuro — si cauteli classificando troppo in alto

In caso di dubbio, classifichi più in alto. Può sempre abbassare

successivamente dopo aver verificato quali dati il server restituisce effettivamente. Sotto-classificare è un rischio per la sicurezza; sovra-classificare è solo un inconveniente. :::

La Cascata del Taint

Comprendere l'impatto pratico La aiuta a scegliere saggiamente. Ecco cosa succede in una sessione:

1. La sessione inizia a PUBLIC
2. Chiede il meteo (server PUBLIC)                → il taint resta PUBLIC
3. Controlla i suoi appunti (filesystem INTERNAL)  → il taint escala a INTERNAL
4. Interroga le issue GitHub (CONFIDENTIAL)        → il taint escala a CONFIDENTIAL
5. Prova a pubblicare su webchat (canale PUBLIC)   → BLOCCATO (violazione write-down)
6. Resetta la sessione                             → il taint torna a PUBLIC
7. Pubblica su webchat                             → consentito

Se utilizza frequentemente uno strumento CONFIDENTIAL seguito da un canale PUBLIC, dovrà resettare spesso. Consideri se lo strumento necessita davvero di CONFIDENTIAL, o se il canale potrebbe essere riclassificato.

Percorsi Filesystem

Può anche classificare singoli percorsi del filesystem, utile quando il Suo agente ha accesso a directory con sensibilità mista:

yaml
filesystem:
  default: INTERNAL
  paths:
    "/home/you/public": PUBLIC
    "/home/you/work/clients": CONFIDENTIAL
    "/home/you/legal": RESTRICTED

Checklist di Revisione

Prima di mettere in produzione una nuova integrazione:

  • [ ] Qual è il dato peggiore che questa fonte potrebbe restituire? Classifichi a quel livello.
  • [ ] La classificazione è almeno alta quanto suggerito dalla tabella dei tipi di dato?
  • [ ] Se si tratta di un canale, la classificazione è appropriata per tutti i possibili destinatari?
  • [ ] Ha testato che la cascata del taint funziona per il Suo workflow tipico?
  • [ ] In caso di dubbio, ha classificato più in alto piuttosto che più in basso?

Pagine Correlate