8. Come funziona dentro
8.1 Portabile e isolato: che cosa vuol dire
Perché il kit non si installa, non chiede diritti di amministratore e non tocca il PC che lo ospita. E le eccezioni.
In breve
- Atollo non si installa, non scrive nel registro e non chiede diritti di amministratore.
- I programmi del kit partono in un ambiente costruito da zero, che punta solo a cartelle del kit.
- Così non vedono i programmi del PC e il PC non vede loro: niente conflitti, niente tracce.
- Poche eccezioni sono dichiarate: la cartella temporanea del sistema e, per qualche secondo, il portachiavi.
L'idea, con un esempio
Sul PC di un collega c'è già Node.js 18 installato, con i suoi pacchetti globali e le sue impostazioni di npm. Se apri una console del kit e scrivi node --version, rispondi Node 24 del kit, non il 18 del PC: la console del kit non sa nemmeno che l'altro esiste. E quando installi un pacchetto globale, finisce nella cartella del kit, non nel profilo del collega.
Questo succede perché ogni programma avviato dal kit riceve un ambiente costruito da zero: il kit prende dal PC solo una manciata di variabili di sistema (nome del computer, cartelle di Windows, lingua…) e imposta tutte le altre in modo che puntino dentro data.
Che cosa viene reindirizzato
| Gruppo | Variabili principali | Dove portano |
|---|---|---|
| Cartella utente | HOME, USERPROFILE, APPDATA, LOCALAPPDATA | data\home |
| File temporanei | TEMP, TMP (TMPDIR su macOS e Linux) | data\tmp\system o la cartella temporanea del sistema, secondo le Impostazioni |
| Agenti | CLAUDE_CONFIG_DIR, CODEX_HOME, PI_CODING_AGENT_DIR | data\home\.claude, data\home\.codex, data\home\.pi\agent |
| GitHub CLI | GH_CONFIG_DIR | data\gh |
| Cache dei pacchetti | NPM_CONFIG_CACHE, PIP_CACHE_DIR, UV_CACHE_DIR, COMPOSER_CACHE_DIR, GOCACHE, NUGET_PACKAGES | data\cache\… |
| Pacchetti globali | NPM_CONFIG_PREFIX, PYTHONUSERBASE, COMPOSER_HOME, GOPATH, GRADLE_USER_HOME, CARGO_HOME | data\npm-global, data\python-user, data\composer, data\go, data\gradle… |
| Linguaggi | JAVA_HOME, DOTNET_ROOT, PHPRC, RUSTUP_HOME… | Le cartelle dei programmi del kit, alle versioni in uso |
| Certificati | SSL_CERT_FILE, REQUESTS_CA_BUNDLE, PIP_CERT, CURL_CA_BUNDLE, GIT_SSL_CAINFO, CARGO_HTTP_CAINFO, NODE_EXTRA_CA_CERTS | Solo con un file PEM in Impostazioni › Rete: data\app\ca-bundle.pem (i certificati del sistema più quelli del file); Node.js riceve il file PEM |
| Niente telemetria e aggiornamenti automatici | DOTNET_CLI_TELEMETRY_OPTOUT, POWERSHELL_TELEMETRY_OPTOUT, GOTELEMETRY=off, DISABLE_UPDATES | Spenti: gli strumenti non mandano dati e non si aggiornano da soli |
| PATH | PATH | Prima le cartelle del kit, poi solo le cartelle di sistema (System32 su Windows, /usr/bin e simili su macOS e Linux) |
Per vedere l'ambiente completo apri una console nella cartella del kit e usa il comando .\Atollo.exe env | Out-Host (le chiavi e le password sono mascherate con ***).
Che cosa resta sul PC
Il kit non scrive nel registro di Windows, non cambia il PATH del sistema, non crea servizi né operazioni pianificate. Le eccezioni, dichiarate:
- La cartella temporanea del sistema, in Atollo\<id del kit>: area di lavoro dei download, file consegnati a mano, temporanei dei programmi. Viene pulita alla chiusura e ai successivi avvii.
- Mentre Antigravity è aperto, il suo accesso sta nel portachiavi del sistema (su Windows solo per la sessione); alla chiusura torna nel kit.
- Una cartella vuota che la PowerShell crea sempre in %LOCALAPPDATA%\Microsoft\PowerShell.
- Se esegui gh auth login a mano in una console, GitHub CLI può salvare l'accesso nella Gestione credenziali di Windows: accedi invece dalle Impostazioni.
- Su macOS: i dati della finestra in ~/Library/WebKit e, se non usi il token, l'accesso di Claude Code nel Portachiavi.
Sotto il cofano
- L'ambiente parte vuoto e copia dal PC circa 40 variabili di sistema (ComSpec, SystemRoot, PROCESSOR_ARCHITECTURE, LANG, DISPLAY…) più le variabili del proxy; il kit ne imposta un centinaio. Atollo env su Windows stampa circa 130 righe.
- Ogni programma figlio parte con l'ambiente svuotato e poi riempito con quello del kit: niente filtra dal PC.
- Anche il processo dell'app reindirizza la propria cartella utente e i temporanei, prima di avviare qualsiasi cosa.
- Le variabili che contengono KEY, TOKEN, SECRET o PASSWORD sono mascherate nel comando env e nel log.