> For the complete documentation index, see [llms.txt](https://docs.ninox.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ninox.com/builder-hub/ninox-ai/how-ninox-ai-keeps-your-work-safe.md).

# How Ninox AI keeps your work safe

Understand how Ninox AI accesses your workspace, protects your data, and manages changes.

**Ninox AI** never gets unrestricted access to your workspace. Everything it does goes through Ninox:

* It reads your data with small scripts that run in a sealed space.
* Ninox checks every step before it runs.
* Changes to your app require approval.

You do not need to set this up. It works the same in every chat, whether you build a new app or change an existing one.

```mermaid
%%{init: {'themeVariables': {'edgeLabelBackground': '#ffffff'}}}%%
flowchart LR

    AI("<b>Ninox AI</b><br/>the model")

    SB("<b>Sealed sandbox</b><br/>script, read tools only")
    AP("<b>Your approval</b><br/>manual or auto")

    CH("<b>Ninox checks</b><br/>every request")
    APP("<b>Your app</b><br/>tables and records")

    AI -->|to read| SB
    AI -->|to change| AP

    SB --> CH
    AP --> CH

    CH --> APP

    style AI fill:#ffffff,stroke:#b8b8b8,stroke-width:2px
    style AP fill:#ffffff,stroke:#b8b8b8,stroke-width:2px
    style CH fill:#ffffff,stroke:#b8b8b8,stroke-width:2px
    style APP fill:#ffffff,stroke:#b8b8b8,stroke-width:2px

    style SB fill:#dfe7f3,stroke:#4a7cff,stroke-width:3px,stroke-dasharray:8 4

```

Lookups run as scripts inside the sandbox. Changes leave the sandbox and wait for your approval. Ninox checks both before they reach your app.

## How Ninox AI looks at your data

To answer a question or plan a change, Ninox AI first needs to understand your app. It does not receive your whole workspace. Instead, it writes a small script that asks for exactly what it needs, such as "list the tables in this app" or "count the open orders". Ninox runs the script and returns only the answer.

Ninox AI works with your records only when your workspace settings allow it. Without access to records, Ninox AI can still build apps and add sample data.

It also stays within the apps you select in the app list, plus any app it creates in the same chat.

## Scripts run in a sealed sandbox

Every script Ninox AI writes runs in a sandbox. This closed space stays separate from the rest of Ninox. Think of it as a room with one window: the script can pass questions through it, but nothing else gets in or out.

* It can only read.\
  The only tools inside the sandbox are lookups, such as reading a table's structure or finding records. It cannot create, change, or delete anything from there.
* It cannot reach anything on its own.\
  It cannot open websites or files. It can only call the lookups Ninox provides.
* It has time and memory limits.\
  A script stops after 90 seconds and can use only a small, fixed amount of memory. A script that goes wrong ends on its own instead of running on.

This lets Ninox AI explore your app freely and quickly without changing anything.

## Every step is checked

Ninox AI cannot touch your app directly. Each time it wants to look something up or make a change, it sends a request to Ninox. Ninox checks the request before anything runs:

* Is it for an app this chat can work in?
* Is it a type of change Ninox AI can make here?
* Does it finish in time, with a manageable result size?

If Ninox AI keeps hitting the same error, Ninox stops it and it must try another way. Each step also appears in the chat, so you can follow what Ninox AI is doing.

## Changes need your OK

Because scripts can only read, every change Ninox AI wants to make leaves the sandbox as its own request. This includes a new table, an edited field, or updated records. The request requires approval. Choose how at the bottom of the prompt field:

* **Manual**: Ninox AI shows you exactly what it wants to change and waits. You can approve, reject it, or suggest something else.
* **Auto**: Changes are approved automatically, so building can continue. Ninox AI still asks before the first change to an app it has not worked on in this chat.

In both modes, a question from Ninox AI always waits for your answer. An open request waits up to 10 minutes. After that, Ninox treats it as declined and you can continue in the chat. Ninox records who approved each change: you or Auto.

{% hint style="info" %}
During onboarding, when you first use Ninox AI to build your first app, it works in Auto only within that app.
{% endhint %}

## Limits for Ninox AI requests

Ninox AI works within fixed limits. This ensures every request ends and you get an answer.

* A looping request ends cleanly instead of running on. A request can take up to 36 steps.
* Nothing runs in the background for hours. A request can run for up to 12 minutes.
* A script that goes wrong stops on its own. Each script can run for up to 90 seconds.
* A slow lookup cannot hold up the whole request. Each step can run for up to 60 seconds.
* An unanswered request never blocks the chat. Ninox AI waits up to 10 minutes for your approval.

If Ninox AI did some work but did not say what it did, Ninox asks it once to explain. A request never ends in silence.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.ninox.com/builder-hub/ninox-ai/how-ninox-ai-keeps-your-work-safe.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
