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

# Test and Live

> What can safely happen in each environment and how Test and Live stay isolated.

Test is an isolated environment that cannot affect Live customers, billing, or commitments. Live is the environment used for customer-facing Quotes and Commitments.

## The environment toggle

The environment indicator sits in the top bar of your workspace. It shows either:

* **Test** — flask icon, warning-ochre tint, explicit "Test" text
* **Live** — globe icon, quiet default, no special tint

Switching the environment rewrites `?mode` on the current URL. The destination and layout are preserved. Live is the quiet default; Test is the one that looks different.

## Exact comparison

|                     | Test                       | Live                                           |
| ------------------- | -------------------------- | ---------------------------------------------- |
| Credentials         | Test keys (`sk_test_…`)    | Live keys (`sk_live_…`)                        |
| Data isolation      | Fully isolated             | Customer-facing                                |
| Customer visibility | Not visible to customers   | Visible through hosted paths, embeds, and APIs |
| Billing             | Not metered                | Active Books are metered                       |
| Commitments         | Cannot create commitments  | Can create commitments                         |
| Book versions       | Draft workspaces           | Immutable published versions                   |
| Simulations         | Supported (non-persistent) | Supported (non-persistent)                     |
| URL behavior        | `?mode=test`               | No mode parameter (default)                    |

## Key rules

<Warning>
  A Test key cannot address Live. Test keys reach only test-mode data. Live keys reach production data.
</Warning>

* Reads, simulations, quotes, Test mode, and non-ready outcomes are not metered.
* Test mode cannot affect Live customers, billing, or commitments.
* The same Book version and evaluator are used in both environments — only the data, credentials, and customer visibility differ.
* Switching mode preserves layout and announces completion.

## When to use Test

* Starting your first Book
* Reviewing and calibrating a draft
* Verifying Statements before publishing
* Testing API integrations before going Live
* Running simulations without affecting customers
* Approving or correcting results in approval-first mode

## When to use Live

* Publishing an immutable Book version
* Receiving customer-facing Quotes
* Creating Commitments
* Operating with real customer data

## Your first Book starts in Test

The onboarding flow always starts in Test context. The welcome screen redirects to your first Book at `?mode=test`. You stay in Test through extraction, review, clarification, calibration, and verification until you are ready to publish.

## API key isolation

Each environment has its own keys:

* Test keys are prefixed with `sk_test_`
* Live keys are prefixed with `sk_live_`

You create and manage keys on the Developers page. When creating a key, you choose Test or Live. A Test key cannot be used to address Live resources, and vice versa.

<Note>
  Webhooks also have environment-specific endpoints. A Test webhook receives test-mode events; a Live webhook receives production events.
</Note>

## Related

<CardGroup cols={2}>
  <Card title="Preview and publish" icon="upload" href="/product/book/preview-and-publish">
    Review consequences and publish an immutable Book version.
  </Card>

  <Card title="Developer Test and Live" icon="terminal" href="/developers/test-and-live">
    How developers keep Test and Live credentials and data isolated.
  </Card>
</CardGroup>
