---
title: How Crow Nest works
description: Apps, addresses, versions, viewers and sign-in, workspaces, and what Crow Nest runs for you.
---

# How Crow Nest works

Crow Nest hosts static web apps and gives each one the services it would otherwise need a backend for. This page explains the parts you'll meet everywhere else in the docs.

## Apps and addresses

An app (the dashboard and the API sometimes call it a tool) is a folder of web files: `index.html`, scripts, styles and images, plus an optional `crow.json` and an optional `server/` folder. Publishing uploads the folder; Crow Nest serves it at `https://<name>.crow-nest.com`.

- The name is chosen when you first publish and never changes. Some names are reserved (`www`, `app`, `api`, `docs`, `mail` and similar).
- An app can also have [custom domains](/custom-domains), like `booking.mybakery.com`. It stays at its crow-nest.com address too.
- Files are served from Cloudflare's network, cached at the edge after the access check.

## Versions

Every publish creates a new version and makes it current. Old versions stay, so you can go back with `rollback` (MCP), the dashboard, or the API. A rollback doesn't create a new version; it points the app at the older one.

## Viewers and sign-in

Everyone who opens an app that isn't public signs in to Crow Nest first, with Google, Microsoft, or a one-time code sent to their email. Sign-in happens once on `crow-nest.com` and carries over to each app address, so an app never handles passwords or tokens itself.

Inside the app, `crow.me()` tells the page who is looking. Rules in `crow.json` decide what each person can read and change. See [Sharing and access](/sharing) for who can open an app, and [Data](/data) for who can read and write its data.

## Workspaces

Every app belongs to a workspace:

| Workspace | Who | Billing |
| --- | --- | --- |
| Personal | One person's own apps | The person, on the personal plans |
| Organization | A group someone created themselves and invited people to | The organization's owner, on the personal plans |
| Company | A company Crow Nest set up, behind its own login | Per seat |

Organizations and companies share an app list, can share apps with everyone inside (`org` visibility), and have policies, shared AI keys and admins. See [Organizations and companies](/organizations).

## What Crow Nest runs for you

| You need | Use | Page |
| --- | --- | --- |
| Save and share data | `crow.db` collections with rules | [Data](/data) |
| File uploads | `crow.files` buckets | [Files](/files) |
| Updates that appear for everyone | `watch` and `crow.live` channels | [Live updates](/live) |
| AI answers | `crow.ai` with your or your company's key | [AI calls](/ai) |
| A third-party API with a secret key | `crow.api` | [Outside APIs and secrets](/apis-and-secrets) |
| Webhooks, SQL, timers, background work | `server/index.js` | [Server code](/server-code) |

All of these come from one script your page loads, `/__crow/sdk.js`, served by the app's own address.

## What Crow Nest doesn't do

- It doesn't build your project on its servers. Build on your own machine (the `crow` CLI does it for you) and publish the output.
- It doesn't supply AI. Apps call models with keys you, your company or the app brings.
- It doesn't run long-lived servers or WebSockets in your server code.
