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

# Private

> A one-shot exchange your harness never sends upstream, or a fresh incognito session that keeps nothing.

`private` has two behaviors, depending on whether you give it a prompt:

* **With a prompt**, it runs a one-shot exchange that **never reaches Anthropic or OpenAI**. The question and the answer stay out of what your harness sends, and the answer is shown back to you as a blocked turn.
* **With no prompt**, it opens a **fresh incognito session** that keeps nothing, no prompt history, no transcript, no resume state.

<Warning>
  The private guarantee depends on your harness's hooks being **enabled and trusted**. If hooks are disabled, `private` cannot intercept the turn. Do not submit private data with hooks off. On Codex this is the one-time `/hooks` trust step from [Install](/get-started/install-codex).
</Warning>

## One-Shot Private Prompt

Give `private` a prompt and it answers from a model through Nito without your harness's upstream ever seeing it.

<Tabs>
  <Tab title="Claude Code">
    ```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["typescript","python","curl"]}}
    /nito:private [--model <id>] [--web-search off|auto|on] [--web-fetch] [--file <path>]... <prompt>
    ```
  </Tab>

  <Tab title="Codex">
    ```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["typescript","python","curl"]}}
    $nito:private [--model <id>] [--web-search off|auto|on] [--web-fetch] <prompt>
    ```
  </Tab>
</Tabs>

The plugin intercepts the command before your harness runs its own inference, sends a **prompt-only** request to Nito, and returns the answer labeled `Session mode: Incognito`. Your original harness turn is stopped, so the prompt and answer never enter the harness model's context.

### Options

| Option                       | What it does                                                                                                                          |
| :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------ |
| `--model <id>`               | Use a specific Nito-supported model for this call. Without it, `private` uses your saved [default model](/commands/choosing-a-model). |
| `--web-search off\|auto\|on` | Control web search for the call. Defaults on where the model supports it.                                                             |
| `--web-fetch`                | Allow URL retrieval for the call *(Claude Code)*.                                                                                     |
| `--file <path>`              | Attach a local file. Repeatable.                                                                                                      |

Anonymous, Private, and Confidential models all work with `private`. An `:encrypted` model is refused before the call is routed, because Encrypted is [coming soon to the plugin](/privacy/levels/encrypted) rather than available today.

## Incognito Session (no prompt)

Run `private` with **no prompt** to go beyond a single turn.

<Tabs>
  <Tab title="Claude Code">
    ```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["typescript","python","curl"]}}
    /nito:private
    ```

    Opens a fresh, fully Nito-routed session in a separate terminal. It keeps **nothing**: prompt history and transcripts are off, and there is no resume. Your original session is untouched and receives only a launch result.
  </Tab>

  <Tab title="Codex">
    ```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["typescript","python","curl"]}}
    $nito:private
    ```

    Reports that no-prompt private **sessions** are not available on Codex yet, without calling any model. Use `$nito:private <prompt>` for one private turn, or [`$nito:session`](/commands/session) for a persistent Nito-routed session.
  </Tab>
</Tabs>

### Session Options and Their Trade-offs *(Claude Code)*

The incognito session's whole point is that it writes nothing. Two options relax that, and you should understand the trade-off before using them:

| Option                       | Trade-off                                                                                                                                                                                                                                                                                                    |
| :--------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--ephemeral-history`        | Restores up-arrow prompt recall by writing history **inside the temporary profile** for the life of the session. It is removed on a clean exit, but a crash, forced shutdown, or backup process could leave or observe those files. This is a convenience trade-off, not equivalent to the no-write default. |
| `--skip-permissions`         | Pre-approves the harness's tool prompts inside the private session. It removes interactive approvals; it is **not a sandbox**. Tool file, shell, and network effects are still fully real.                                                                                                                   |
| `--working-directory <path>` | Run the session in a specific directory instead of the current one.                                                                                                                                                                                                                                          |

## What Private Covers

* **What it protects:** the prompt and the Nito answer are kept out of your **harness model's request**, so the harness provider never receives them. The result is labeled so you can confirm it ran privately.
* **What stays in the path:** your local harness process, your operating system, the Nito gateway, and the selected model provider are still involved. Private removes the *harness model* from the exchange, not everyone.
* **What it depends on:** hooks must be enabled and trusted. The command stub fails closed, but with hooks off it cannot intercept the turn.

The full boundary, and how to reason about it, is on [The Trust Boundary](/privacy/overview).

## Codex Notes

* Trigger with `$`, not `/`. There is no `/private` alias in Codex.
* The response display is capped so it stays within Codex's limits; a very long answer is truncated in the shown block.
* If a matched private prompt is too large or malformed to process, the plugin **fails closed** (it blocks the turn) rather than letting the marked prompt continue to ordinary Codex inference.
