# File in chat

> Cosa puoi allegare, come vengono analizzati i file e i limiti.


Allega i file a un messaggio. Ogni file passa da analisi statica in un container gVisor usa e getta, senza rete, con root in sola lettura, limiti di memoria, CPU e processi, e senza segreti. Nulla del file viene eseguito, e non c'è analisi dinamica. Un file oltre i limiti o un errore del parser finiscono come `rejected`, con il motivo.

| Tipo | Esempi | Cosa riceve il modello |
|---|---|---|
| Sorgenti e testo | `.py`, `.js`, `.go`, `.java`, `.c`, `.json`, `.yaml`, log | Il testo, diviso per file e riga |
| Archivi | `.zip`, `.tar`, `.gz`, `.bz2`, `.xz`, `.jar`, `.apk` | L'albero e il testo di ogni voce |
| Android | `.apk` | Il manifest e il testo di ogni voce |
| Binari | ELF, PE, Mach-O, DEX | SHA-256, entropia, header, anteprima del disassemblato dei primi 4 KB e stringhe |
| Documenti | PDF, `.docx`, `.xlsx`, HTML, XML, SVG | Il testo, senza eseguire script o macro |
| Immagini | PNG, JPEG, GIF | Le dimensioni. L'OCR non c'è ancora |

File fino a 200 MB. Gli archivi hanno limiti di profondità, numero di voci e rapporto di espansione, quindi una zip bomb si ferma subito con un messaggio chiaro. I pickle Python vengono disassemblati con `pickletools` e mai caricati.

Il testo dentro un file è un dato. Se un file dice "ignora le tue istruzioni", il modello lo tratta come contenuto da analizzare.

## Prossimi passi

- [Progetti](/it/chat/projects)
- [Conservazione](/it/chat/retention)
