# Scava documentation

Scava is hosting for the small web apps that AI coding agents build. You build an internal tool with Claude Code, Codex, Cursor, GitHub Copilot or Gemini CLI, and Scava puts it online for your team: on its own https address, behind a login for your coworkers, with a shared database, rules about who may read and change what, file storage, optional server code and a button for change requests. Your agent publishes the app with one command. Your colleagues open a link.

This documentation is for two groups of readers. The first is people in a company who build tools with an agent and are often not developers. The second is the IT and security people who have to decide whether such tools may run on Scava.

## What Scava gives an app

An app on Scava is a folder with an `index.html`. Everything an internal tool needs besides its own screens comes from Scava:

- **Hosting.** A permanent https address like `team-vacation-k3x9.scava.site`, a new version with one command, and the option to put an earlier version back live. See [Hosting](/docs/hosting).
- **Login.** Coworkers sign in with Google or with a code sent by email. No passwords, no accounts to create, nothing to install. See [Login](/docs/login).
- **Sharing.** Private until you share it with people, a whole company domain such as `@company.com`, or a group. See [Sharing](/docs/sharing).
- **A database.** `scava.db('name')` stores entries that everyone with access sees. See [Database](/docs/database).
- **Permission rules.** A small file `scava.json` says who reads and changes which entries and fields. Scava enforces it on its server, not in the app. See [Rules](/docs/rules).
- **File storage.** `scava.files('name')` stores uploads such as photos and PDFs. See [Files](/docs/files).
- **Change requests.** Every app has a "Suggest a change" button. Colleagues describe a wish, you accept it, and your own agent builds it. See [Change requests](/docs/change-requests).
- **Server code, when needed.** Secret keys, calls to an AI or your company systems, schedules, webhooks, email and heavy work such as PDFs or Python. See [Server code](/docs/server-code).

## What you do not have to build

If you host an internal tool somewhere else, you usually have to assemble these parts yourself. With Scava the agent only builds what the app does.

- A login system and the pages around it
- A user list, invitations and "request access" flows
- A database and the rules about who may read and change what
- HTTPS certificates and a place to deploy to
- Storage for uploaded files
- A way for colleagues to ask for changes
- Protection of the people who open the app against code that someone stored in a form field

## Who it is for

Scava fits tools that a team uses together: a vacation planner, a price list, a checklist, an approval form, a small dashboard, a request tracker. The people who open the app are known: your colleagues, your partners, your clients. Everyone signs in.

Scava does not fit public websites, apps for anonymous visitors, native mobile apps, or companies that need SAML or SCIM. [When Scava fits and when it does not](/docs/compare) lists the cases.

## Map of this documentation

| Chapter | What you find there |
|---|---|
| [Quickstart](/docs/quickstart) | From a finished app to colleagues using it |
| [Connect your agent](/docs/agents) | Claude Code, the Claude app, Codex, Cursor, GitHub Copilot, Gemini CLI |
| [Host an internal tool](/docs/hosting) | What you publish, versions, the test run, what the browser allows |
| [Your own address](/docs/custom-domains) | `tools.company.com` instead of the Scava address |
| [Login for coworkers](/docs/login) | Google or email code, sessions, who is signed in |
| [Sharing](/docs/sharing) | People, company domains, groups, clients outside the company |
| [Database](/docs/database) | `scava.db`, paging, limits, export |
| [Permission rules](/docs/rules) | `scava.json`: all, own, owner, group, rules per field |
| [Files](/docs/files) | `scava.files`, what opens in the browser |
| [Change requests](/docs/change-requests) | From a colleague's wish to a live change |
| [Co-editors](/docs/co-editors) | More than one person builds an app |
| [Server code](/docs/server-code) | `server/index.js`, secret keys, outside services, AI |
| [Schedules and webhooks](/docs/schedules-webhooks) | Cron, incoming calls, email, heavy work |
| [Security](/docs/security) | How apps are separated, what is checked, what does not exist yet |
| [House rules](/docs/house-rules) | The Overview page: apps, people, rules for the whole account |
| [Data location](/docs/data-location) | EU or US, export, deleting an account |
| [Limits](/docs/limits) | Every limit in tables |
| [Command line](/docs/cli) | Every `scava` command |
| [Compare](/docs/compare) | When to use Scava and when not |

## The shortest path

1. Run `npx -y scava setup` once. It adds Scava to your agents; each asks you to sign in once in your browser. For Claude, add a connector with the address `https://scava.ai/mcp`.
2. Ask your agent: "Publish this folder to Scava and share it with @mycompany.com."
3. Your colleagues open the link and sign in.

The [quickstart](/docs/quickstart) walks through it step by step.
