> For the complete documentation index, see [llms.txt](https://docs.riff.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.riff.ai/reference/app-builder/deploy.md).

# Deploy

What deploying means, what reaches your users, and what happens when you press Deploy.

Deploying is how your app reaches the people who use it.

## Where you build, and where people use your app

Your app lives in two places:

* **Where you build it:** the preview in the App builder. You and your team see it, and every change the Riff agent makes shows up here straight away.
* **Where people use it:** the deployed app, at its own web address. This is what your users open.

Changes you make while building stay where you build. Your users keep the version you last deployed until you deploy again. So you can try things and ask for changes without affecting anyone, then deploy when you're happy.

## What deploying sends, and what it doesn't

Deploying sends your app: its pages, what it does, and the shape of its data. It doesn't copy data across.

* **Data:** the deployed app has its own database. The first time you deploy, it starts empty, so test rows you added while building don't appear. New tables and columns do carry over.
* **Secrets:** a key can have one value where you build and another for your users, for example a test system and the real one. See [Secrets](/reference/shared/secrets.md).
* **Automations** run only in the deployed app, and only after you deploy.

## Before you deploy

[How to deploy an application](/interactive-guides/how-to-deploy-an-application.md) shows the one prompt that gets your app ready for other people.

## Deploying

1. Click **Deploy** at the top right.
2. The Deploy window shows your app's address and its checks. You can deploy once every check passes:
   * **Choose App URL**, on your first deploy only: choose the last part of your app's address and click **Save**.
   * **Security review:** checks that your app's APIs need sign-in.
   * **Permission to deploy:** shown if your team controls who can deploy. If your team asks for approval, request it here. A team Owner or Admin approves it under **Admin** → **IT Ops**, once for you and this app.
3. Click **Deploy**. The button shows **Deploying…** while it runs.
4. When it's done, the window shows your app's address, ready to copy and share.

Deploy again whenever you want your users to get your latest changes.

## If a deploy fails

The button changes to **Retry Deploy**. Try once more. If it fails again, open **Packages** → **Build and deployment logs**, copy the error into the chat and ask the Riff agent to fix it.

## After you deploy

* Who can open your app: [Access](/reference/app-builder/access.md).
* To take your app offline: **Undeploy App** in [App Settings](/reference/app-builder/app-settings.md).


---

# 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.riff.ai/reference/app-builder/deploy.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.
