# How it works

After this page you know what Siteshare does, where your site lives, and what happens between your client's question and the live site.

## In one sentence

Your client opens their own site at `/edit`, says what should change, sees it in a preview, and publishes. Siteshare checks the change, builds the site, and puts one commit on `main`. Your host publishes it as always.

## Who does what

| | |
|---|---|
| **You, the builder** | Build the site with whatever you like, keep it in GitHub, host it where you like. Add it to Siteshare once and invite your client. |
| **Your client** | Changes texts, photos, blocks and pages, by chatting or by typing on the page. Publishes when it looks right. |
| **The assistant** | Makes the change in the site's own code, in the language of the site, and only within what the client may change. |
| **Siteshare** | Runs a preview of the site, keeps the draft, checks every change, and builds before anything goes live. |
| **Your host** | Publishes `main`, as it already does. Siteshare never deploys. |

## From question to live site

1. **A preview of the real site.** Siteshare starts the site from your repository in a sandbox of its own, with your code and your packages. The client sees the site itself, not a copy in another tool.
2. **A draft.** Every change is saved straight away on the branch `concept`. Only the client sees it until they publish.
3. **Checks.** Each change is checked against what this client may change and what is protected, when it is saved and again when it is published. See [What your clients can change](/docs/client-steps).
4. **A build.** Publishing builds exactly what will go live, on a clean copy, as your host would. If it doesn't build, nothing goes live.
5. **One commit on `main`.** With the changes listed in plain words. Your host sees `main` change and publishes.
6. **Live, and a way back.** Siteshare follows your host until the page is live, sends you a picture of before and after, and keeps every version in **History**.

## What stays yours

- The site stays in your repository and on your host. There is no export and no lock-in: stop using Siteshare and nothing changes for your site.
- Your own work goes on as usual. Push to `main`; Siteshare takes it into the client's draft.
- The code stays yours. By default a client changes text and images; the rest is open only when you open it, and above their step a change waits for your approval.

## Next

- [Getting started](/docs/getting-started): set up your first site.
- [Supported sites](/docs/supported-sites): what Siteshare can run.
