# Preview and live versions

> One project, two environments, and a clear rule about which is which.

Every project exists in two places at once: the preview you are working in, and the live app people are using.

## What each one is for

**Preview** is for changing things. It updates as you work and is allowed to be half-finished.

**Live** is for using things. It only changes when you publish, so a working app stays working while you improve it.

## Be deliberate about data

Depending on how the project is set up, the preview and the live app may share data. Until you know for certain, assume that test records you create in the preview could appear in live, and ask the builder how your project is configured before doing anything destructive.

Restoring a version changes code, not data.

## Deciding when to publish

Publish when the preview is better than live and you are confident about the change. Small, frequent publishes are easier to reason about than one big launch.

Avoid publishing in the middle of a demo unless the change is the thing you are demoing.

Next: [Rolling back a release](/publish/rolling-back).
