> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Configurazione di sistema

> Blocca le impostazioni di accesso e del proxy di Devin CLI sui dispositivi gestiti mediante una policy system.json distribuita tramite MDM

<div id="overview">
  ## Panoramica
</div>

`system.json` è un file di policy facoltativo a livello di macchina che gli amministratori distribuiscono ai dispositivi gestiti, in genere tramite MDM. Risiede in una directory di sistema in cui può scrivere solo un amministratore; pertanto, a differenza della configurazione utente in `~/.config/devin/config.json`, le impostazioni che contiene non possono essere modificate o rimosse dall'utente.

Usalo per:

* **Bloccare l'autenticazione** sull'host e/o sull'account Devin della tua Enterprise, in modo che `devin auth login` salti il menu del metodo di accesso e rifiuti qualsiasi account esterno alla tua organizzazione.
* **Forzare un proxy HTTP in uscita** per la CLI e il relativo aggiornamento. L'impostazione Enterprise ha la precedenza sulla configurazione utente e, se un utente ha anche una sezione `proxy` nella propria configurazione, gli viene chiesto di rimuoverla prima dell'avvio della CLI. Prima di distribuirne uno, consulta [proxy](#proxy).

Il file è facoltativo e additivo: se non è presente, Devin CLI si comporta esattamente come su un dispositivo non gestito.

<div id="file-location">
  ## Percorso del file
</div>

| Piattaforma | Percorso                                         |
| ----------- | ------------------------------------------------ |
| macOS       | `/Library/Application Support/Devin/system.json` |
| Linux       | `/etc/devin/system.json`                         |
| Windows     | `C:\ProgramData\Devin\system.json`               |

<Note>
  Si tratta delle stesse directory a livello di macchina, scrivibili dagli amministratori, che Devin Desktop usa per le [regole](/it/desktop/cascade/memories) e gli [hook](/it/desktop/cascade/hooks) a livello di sistema. Distribuisci il file assegnandone la proprietà a root/Administrator e autorizzazioni di sola lettura per gli utenti normali: la CLI lo legge ovunque lo trovi, quindi una posizione scrivibile dagli utenti vanifica lo scopo della policy.
</Note>

<div id="example">
  ## Esempio
</div>

```json theme={null}
// /Library/Application Support/Devin/system.json
{
  "enterprise_host": "acme.devinenterprise.com",
  "account_id": "acct-acme",
  "proxy": {
    "mode": "manual",
    "url": "http://proxy.corp.example.com:8080",
    "no_proxy": "localhost,127.0.0.1,.internal.corp"
  }
}
```

<Warning>
  `system.json` viene analizzato come JSON rigoroso: qui i commenti e le virgole finali **non** sono supportati, a differenza del file `config.json` dell'utente, che è JSON con commenti. Il commento precedente è riportato solo per indicare il percorso del file.
</Warning>

<div id="options-reference">
  ## Riferimento delle opzioni
</div>

| Opzione           | Tipo    | Predefinito   | Descrizione                                                                                                                                          |
| ----------------- | ------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `enterprise_host` | stringa | non impostato | Host di Devin Enterprise con cui gli utenti devono autenticarsi, ad es. `"acme.devinenterprise.com"`. Accetta un host senza schema o un URL completo |
| `account_id`      | stringa | non impostato | Identificatore dell'account Devin a cui deve appartenere l'account autenticato                                                                       |
| `proxy`           | oggetto | non impostato | Impostazioni del proxy HTTP in uscita per la CLI e il programma di aggiornamento (`mode`, `url`, `no_proxy`)                                         |

Ogni campo è indipendente: imposta solo quelli necessari. I campi sconosciuti vengono ignorati, quindi una policy scritta per una CLI più recente applica comunque le impostazioni note su una versione precedente.

<div id="enterprise_host">
  ### enterprise\_host
</div>

Se impostato, `devin auth login`:

1. Salta il menu del metodo di accesso e la richiesta del sottodominio, eseguendo l'autenticazione direttamente sull'host configurato.
2. Rifiuta qualsiasi accesso il cui account risultante appartenga a un host diverso (o non appartenga ad alcun Devin Enterprise), mostrando un messaggio che indirizza l'utente all'host corretto.
3. Rifiuta completamente il percorso legacy di [accesso a Windsurf](/it/cli/enterprise/windsurf-auth).

Il valore viene confrontato senza distinzione tra maiuscole e minuscole e ignorando lo schema, pertanto `acme.devinenterprise.com`, `ACME.DevinEnterprise.com` e `https://acme.devinenterprise.com/` sono equivalenti. Uno schema `http://` esplicito viene mantenuto durante l'accesso (utile solo per il testing); altrimenti si presume `https://`.

<div id="account_id">
  ### account\_id
</div>

Se impostato, l'account autenticato deve corrispondere a questo identificatore account, anche se l'host corrisponde già: usalo per bloccare un tenant specifico su un host condiviso. Un accesso che corrisponde a un altro account, o a nessun account, viene rifiutato dopo la verifica dell'account.

Contatta il team account di Cognition se non sei sicuro dell'identificatore account da usare. L'impostazione di `account_id` rifiuta anche il percorso di accesso legacy di Windsurf, poiché un account Windsurf non può soddisfare una policy di account Devin.

<div id="proxy">
  ### proxy
</div>

Configura il modo in cui la CLI instrada il proprio traffico HTTP/HTTPS in uscita (chiamate API, aggiornamenti, server MCP). Utilizza la stessa struttura della sezione `proxy` del [file di configurazione utente](/it/cli/reference/configuration/config-file#proxy):

| Opzione    | Tipo         | Predefinito | Descrizione                                                                                                                                                  |
| ---------- | ------------ | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `mode`     | stringa      | `"system"`  | `"system"` (rispetta `HTTP_PROXY`/`HTTPS_PROXY`/`ALL_PROXY` e il PAC della piattaforma), `"manual"` (instrada tramite `url`) o `"off"` (connessione diretta) |
| `url`      | stringa/null | `null`      | URL del proxy. Obbligatorio quando `mode` è `"manual"`. Supporta `http://`, `https://` e `socks5://`                                                         |
| `no_proxy` | stringa/null | `null`      | Elenco di esclusioni separato da virgole, con la stessa sintassi della variabile d'ambiente `NO_PROXY`. Si applica in qualsiasi modalità                     |

Il binario `devin-updater` legge la stessa impostazione, quindi gli aggiornamenti in background usano lo stesso proxy della CLI.

<Warning>
  Il proxy Enterprise ha la precedenza sulla configurazione utente ed è un errore configurarlo in entrambi i file. Se un utente ha anche una sezione `proxy` nel proprio `config.json`, la CLI termina all'avvio e chiede di rimuoverla, anziché ignorare silenziosamente l'impostazione. Invita gli utenti a rimuovere qualsiasi sezione `proxy` locale prima di distribuire la policy.
</Warning>

<div id="behavior-and-failure-modes">
  ## Comportamento e modalità di errore
</div>

Un file di policy danneggiato o compreso solo in parte non disabilita mai la CLI: non comporta alcuna applicazione, mentre una policy valida viene sempre applicata:

| Situazione                                  | Risultato                                                                                                              |
| ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| File assente                                | Nessuna applicazione; la CLI si comporta come su un dispositivo non gestito                                            |
| File illeggibile o JSON non valido          | Viene trattato come assente, con un avviso nei log                                                                     |
| Campi sconosciuti presenti                  | Vengono ignorati; i campi riconosciuti continuano a essere applicati                                                   |
| Sezione `proxy` non valida                  | La sezione `proxy` viene ignorata; continua l'applicazione di `enterprise_host` / `account_id`                         |
| `enterprise_host` / `account_id` non validi | L'applicazione delle restrizioni di accesso non viene eseguita; una sezione `proxy` valida continua a essere applicata |
| Valore vuoto o composto solo da spazi       | Viene trattato come non impostato                                                                                      |

L'applicazione delle restrizioni di accesso avviene durante `devin auth login`. Le credenziali già archiviate su un dispositivo su cui è stato effettuato l'accesso prima della distribuzione della policy non vengono nuovamente convalidate. Pertanto, distribuisci `system.json` prima di distribuire la CLI oppure chiedi agli utenti interessati di eseguire `devin auth logout` e di accedere nuovamente.

Il percorso di `system.json` non può essere reindirizzato tramite una variabile d'ambiente nelle build stable, next o Enterprise, quindi gli utenti non possono indirizzare la CLI a una policy di propria scelta.

<div id="verifying-the-policy">
  ## Verifica della policy
</div>

Su un dispositivo gestito:

```bash theme={null}
devin auth logout
devin auth login
```

Con `enterprise_host` impostato, il menu dei metodi di accesso non dovrebbe essere visualizzato e l'URL di accesso generato dovrebbe puntare all'host configurato. Verifica quindi la sessione risultante:

```bash theme={null}
devin auth status
```

Un tentativo di accesso con un account non conforme alla policy non va a buon fine e visualizza un messaggio esplicito che indica l'host o l'account richiesto dalla tua organizzazione.

<div id="related-settings">
  ## Impostazioni correlate
</div>

`system.json` definisce le policy a livello di dispositivo che devono essere configurate prima o durante l'accesso. La maggior parte degli altri controlli a livello di organizzazione — modelli, server MCP e registri, autorizzazioni del Terminale, applicazione della sandbox, ricerca sul web — viene gestita lato server in [Team Settings](/it/cli/enterprise/team-settings) e si applica automaticamente quando un utente effettua l'accesso.

<div id="further-reading">
  ## Per approfondire
</div>

* [Devin Auth](/it/cli/enterprise/devin-auth)
* [Team Settings](/it/cli/enterprise/team-settings)
* [File di configurazione](/it/cli/reference/configuration/config-file)
* [Controls](/it/cli/enterprise/controls)
* [Devin Desktop Enterprise Policies](/it/desktop/enterprise-policies) — l'equivalente per l'Editor delle policy distribuite tramite MDM
