Backend, already assembled

The backend you know.
Built for Cloudflare.

Auth, database, storage, and instant APIs. Set up in minutes, with real row-level security for D1.

01 The supabase-js query style carries over02 Runs in your Cloudflare account
BaseCLF Studio project overview using mock data, showing the next setup step, connected backend services, activity, and quick actions

Supabase simplicity.

Cloudflare ownership.

Access rules on every request.

The operational suite

See the tools before you need them.

Logs, releases, and recovery stay approachable when the product grows beyond its first database and API.

01 / Quickstart

Three clear steps.
One working backend.

No infrastructure vocabulary required. Follow the next action in Studio while BaseCLF assembles everything inside your Cloudflare account.

01

Choose what you need

Database, login, and file storage are plain choices—not infrastructure chores.

Now
02

Watch it assemble

Every Cloudflare resource gets a readable status and a receipt you can keep.

Next
03

Make your first request

Copy the familiar client snippet, test the API, and continue building your app.

Ready
Preview the guided setup
BaseCLF Studio create project screen using mock data and showing simple backend choices
01 Your Cloudflare account02 Private by default03 Setup receipt included

02 / Product

A complete backend.
A calmer way to run it.

Start with the task in front of you. BaseCLF reveals the Cloudflare detail only when it helps—not before.

DBD1 databaseInstant API includedIDAuthenticationGoogle + GitHub sign-inFSR2 storageProtected file accessCLIOne-command deploycreate-baseclf provisions it

CLI for repeatable workflows Studio for guided work Code remains the source of truth

03 / The moat

Row-level security,
even on D1.

Write each rule once. BaseCLF applies it to every request, so users only receive the rows they are allowed to see.

No policy means no access.A forgotten rule cannot expose a table.

×

Clients cannot widen access.Your application filter is always combined with the policy.

!

Expensive rules are surfaced.Missing indexes are reported where you fix them.

Read the security boundary
Rendered BaseCLF Policy Studio using mock data and comparing row access for two users

Interactive policy preview

Change the user.
Watch access change.

Choose a person and BaseCLF immediately shows which mock rows their policy allows—before the rule reaches production.

PostOwnerAccess for Maya
Launch notesMayaVisible
Public roadmapMayaVisible
Team draftLeoBlocked
Private briefLeoBlocked
Policy applied automatically2 of 4 rows visible

04 / Ownership

Your infrastructure
stays yours.

BaseCLF runs inside your Cloudflare account. Your data, resources, and operational path remain visible to you.

01Your appWeb or mobile
02Your BaseCLF WorkerAuth · API · policies
03D1 + R2Your Cloudflare account
BaseCLF provisioning receipt using mock data and showing resources created inside the user's Cloudflare account

05 / Compatibility

Keep the client
you already know.

Keep the query style you know. The client is baseclf-js, there is no anonymous key, and no token simply means the anon role.

import { createClient } from "baseclf-js"

const client = createClient(
  "https://field-notes.baseclf.workers.dev"
)

const { data } = await client
  .from("posts")
  .select("*")
Change

Package + URLImport baseclf-js and point it at your Worker. No anon key exists.

Keep

Query style.from().select(), the filters, inserts, updates, and deletes.

Gain

Cloudflare ownershipD1, R2, and Worker resources remain in your account.

06 / Honest limits

Know exactly where protection applies.

BaseCLF is explicit about the boundary, so the safe path is obvious to every person on the team.

Protected path

App → BaseCLF API → policy → D1

Every user request is checked before rows leave the database.

Recommended for product access
Administrative path

wrangler d1 execute → D1

Direct account-level commands bypass the policy engine by design.

Use only for trusted operations

Open source. Your account. Your data.

Build on Cloudflare without
building the backend first.

Start with one command. Keep control of every layer.