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

# Builder read-only mode

> Keep the builder AI from mutating project data while you still change the app blueprint.

# Builder read-only mode

Use read-only mode when you want the builder AI to inspect a project (including production data) without changing that data.

## What it blocks

When read-only is on for a conversation, the AI cannot:

* Write to the project database (create, update, or delete rows)
* Write or delete project files
* Send notifications, publish events, or start import/image/transcription jobs
* Send changing requests to outside systems from the builder

## What it still allows

You can still change the app blueprint:

* Create and update tools, pages, views, components, and migrations
* Change environment variable names, roles, and other app configuration
* Inspect tables and records without changing them
* Run custom logic that only reads (writes fail with a clear read-only error)

Read-only protects **project data**, not the unpublished app recipe. That is the point of read-only **Build**: you can still change tools, pages, and components while live rows stay frozen. If you want the AI to inspect without changing the recipe either, use read-only **Chat** instead of read-only Build.

Draft blueprint and migration changes you make while read-only can still be published later. Turn read-only off before you want the AI to mutate live rows or files.

Portal chat, scheduled automations, event hooks, background forms, and published sub-agents are not controlled by this setting. Those are intentional app runtime paths and stay writable even when the project default is read-only.

## Where to turn it on

1. **Conversation:** In builder chat, use the **Read-only** control next to Build / Chat. You can turn it on for a new chat before the first message, or on an existing conversation. A banner appears when the conversation is effectively read-only.
2. **Project default:** In **Project Settings → Builder agent**, set **Builder agent write access** to **Read-only** so new conversations inherit a safer default. Use this for production projects.

A conversation can override the project default. Only builders can change write access in the product. The AI cannot turn read-only off.

## When to use it

* Exploring production data before deciding on a change
* Asking the AI to diagnose an issue without risking deletes or bulk updates
* Building or troubleshooting the unpublished recipe without touching customer data (read-only **Build**)
* Pairing with a second opinion or review pass before you flip back to read/write
