page

How it works

Three pieces, one perimeter, one source of truth — clear's shape in five minutes.

Clear has three pieces. Once you know them, you know clear.

1. Your bucket

Every page, post, and setting in clear is a plain file at a predictable path inside a bucket you own. A collection is a folder. An entry is a file. A site setting is a file under globals/. The path is the identity — rename a file, and you've renamed the entry. There's no opaque ID layer between you and your content.

Buckets work on local disk during development and on cloud object storage in production (Amazon S3, Cloudflare R2, anything S3-compatible). The bucket is the source of truth. Lose everything else and your content is intact.

2. The index

A small embedded database keeps an index of your bucket so the editor can list, search, and filter quickly. It also holds operational state — sessions, scheduled jobs, that kind of thing. It's disposable. Delete it and rebuild it from the bucket at any time.

Critically, the index doesn't sit on the path your live site uses to read content. Backups are the bucket. Restores are the bucket. Migrations are the bucket. The index has no opinions about your content's future.

3. Your frontend

Your frontend reads the bucket directly. We ship a typed client that makes that pleasant — but it's a convenience, not a requirement. Anything that can fetch a URL and parse JSON is a valid clear client. That includes Astro, Next, SvelteKit, Remix, Nuxt, Eleventy, a shell script, or a single curl.

There's no proprietary protocol. No GraphQL schema to maintain. No generated client to regenerate. There's the bucket, and there's your fetch.

Your perimeter is the feature

The editor runs on your machine or inside your network — laptop, VPC, on-prem. Bucket credentials live with you. Your IAM, your secrets, your audit log. Clear has no credentials to read your content. A breach of clear is not a breach of you, because there's nothing of yours for us to leak.

Leaving is one shell command

Migration off clear is the same command as a routine bucket copy:

$ aws s3 sync s3://your-content ./local-export

No proprietary export. No support ticket. No waiting period. The same property that protects your security perimeter — we never had your data — also makes leaving trivial. You own the files. We rent you an editor.