# Database and secrets

> Browse and query your project's database, store API keys as secrets, and turn on email and Stripe payments.

Apps with a backend get a SQLite database. Keys your app needs go in secrets. Both are in the **Admin** tab.

## Database

Open **Admin > Database** and pick a database:

* **Dev** holds the data in your preview.
* **Live** holds the data in your published app. It’s available after your first [publish](/build/publish/).

Select a table to browse its rows and columns, or select **Query** to run SQL.

Caution

Queries on **Live** run against your production data. Changes can’t be undone.

To change tables, ask devlo in chat. The changes reach the live database when you publish.

## Secrets

Use **Admin > Secrets** for API keys and tokens. Your app’s visitors never see them.

1. Select **Add Secret** and enter a key and a value.
2. Select **Save**.
3. Ask devlo to restart the app so it picks up the change.
4. If the app is published, republish it to apply the secret to the live site.

Saved values are masked and can’t be read back. To change one, delete the secret, add it again, and select **Save**.

Don’t paste keys in chat. Anything you paste stays in the chat history.

## Email and payments

Ask devlo to add email or Stripe payments. It tells you which keys you need.

Then open **Admin > Integrations**, select **Email** (sent through Resend) or **Payments** (Stripe), turn on **Enable**, enter the keys, and select **Save**. Restart and republish as you would for secrets.

* **Email:** send from an address on a domain you’ve verified in Resend.
* **Stripe:** use test keys while you build and live keys for real payments.

## Related

* [Publish and custom domains](/build/publish/)
* [Troubleshoot projects](/build/troubleshooting/)
