---
title: "oz0 model rules"
description: "Data rules: the regions providers must be in (eu allows eu and eu-north) and whether providers may keep data after a call."
canonical_url: "https://docs.oz0.ai/reference/cli/oz0/model/rules"
---
# oz0 model rules

> Data rules: the regions providers must be in (eu allows eu and eu-north) and whether providers may keep data after a call.

For: Operators and developers looking up a command.

Data rules: the regions providers must be in (eu allows eu and eu-north) and whether providers may keep data after a call. The gateway refuses a call that breaks them with 403 oz0_data_rule and records why in the cost log; aliases skip models that break them. Local models on the tenant's own nodes pass every rule.

For a tenant pinned to a region, rules that name no region allow only providers in that region (a provider whose record names no region passes none); name the regions to allow others.

Hosted web tools, which a provider points at addresses nobody can name beforehand (web search, web fetch, URL context), are off until --hosted-web-tools turns them on: the gateway refuses a call that asks for one with 403 oz0_provider_egress, and a level with an egress list keeps them off for its jobs.

## Usage

```bash
oz0 model rules [flags]
```

## Flags

<table>
<thead>
  <tr>
    <th>
      Flag
    </th>
    
    <th>
      Type
    </th>
    
    <th>
      Default
    </th>
    
    <th>
      Description
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        --clear
      </code>
    </td>
    
    <td>
      bool
    </td>
    
    <td>
      
    </td>
    
    <td>
      remove every rule
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        --decision-ref
      </code>
    </td>
    
    <td>
      string
    </td>
    
    <td>
      
    </td>
    
    <td>
      the decision or case the change follows, such as a case number (at most 200 characters)
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        --hosted-web-tools
      </code>
    </td>
    
    <td>
      bool
    </td>
    
    <td>
      
    </td>
    
    <td>
      let providers run their hosted web tools for this tenant: web search, web fetch, URL context, and hosted tools the gateway does not know
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        --json
      </code>
    </td>
    
    <td>
      bool
    </td>
    
    <td>
      
    </td>
    
    <td>
      print JSON instead of a table
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        --level-rule
      </code>
    </td>
    
    <td>
      stringArray
    </td>
    
    <td>
      
    </td>
    
    <td>
      a rule for the model calls of jobs at a level or above, as LEVEL:region=eu,no-retention,provider=mistral (regions and providers repeat; | also separates them); replaces that level's rule; repeatable
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        --no-level-rule
      </code>
    </td>
    
    <td>
      stringArray
    </td>
    
    <td>
      
    </td>
    
    <td>
      remove a level's rule; repeatable
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        --no-retention
      </code>
    </td>
    
    <td>
      bool
    </td>
    
    <td>
      
    </td>
    
    <td>
      only providers that keep no data after a call
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        --reason
      </code>
    </td>
    
    <td>
      string
    </td>
    
    <td>
      
    </td>
    
    <td>
      why, required for every governance change (at most 500 characters; default $OZ0_REASON); the audit log keeps it
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        --region
      </code>
    </td>
    
    <td>
      strings
    </td>
    
    <td>
      
    </td>
    
    <td>
      regions providers must be in, such as eu; give it empty (--region '') for any region, or, for a tenant pinned to a region, for its region only
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        --tenant
      </code>
    </td>
    
    <td>
      string
    </td>
    
    <td>
      <code>
        default
      </code>
    </td>
    
    <td>
      tenant
    </td>
  </tr>
</tbody>
</table>

## Inherited flags

<table>
<thead>
  <tr>
    <th>
      Flag
    </th>
    
    <th>
      Type
    </th>
    
    <th>
      Default
    </th>
    
    <th>
      Description
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        --context
      </code>
    </td>
    
    <td>
      string
    </td>
    
    <td>
      <code>
        $OZ0_CONTEXT or &lt;config dir>/orchestrator-zero/context.json
      </code>
    </td>
    
    <td>
      CLI context file written by server init
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        --log-level
      </code>
    </td>
    
    <td>
      string
    </td>
    
    <td>
      <code>
        info
      </code>
    </td>
    
    <td>
      log level: debug, info, warn or error
    </td>
  </tr>
</tbody>
</table>

See [all `oz0` commands](https://docs.oz0.ai/reference/cli/oz0) and the [global flags](https://docs.oz0.ai/reference/cli/oz0#global-flags).


## Sitemap

See the full [sitemap](https://docs.oz0.ai/sitemap.md) for all pages.
