
Problem
Typical app backends centralize user data with the vendor:- Fragmentation: The same person’s data is copied and isolated per app.
- Lock-in: Hard to move data or reuse it across tools the user already uses.
- Privacy and risk: One breach or policy change affects many users at once.
- Operational load: You scale storage, backups, and compliance for all users’ rows in one place.
What we optimize for
- User-owned stores: Data is tied to the user; apps request access instead of owning the canonical copy.
- Portability: Users can bring the same datastore to multiple apps that integrate Basic, within the permissions they grant.
- Built-in auth and scopes: Sign-in and tokens reflect what each app is allowed to do.
- Developer speed: Schema-as-code, client SDKs with local-first sync where supported, and REST for any stack.
How Basic differs
Traditionally, your app hosts one database and all user rows live there:

For users
- Control: Revoke or narrow app access when they want.
- One place for their data: Fewer duplicate profiles and silos.
- Sync and offline (with client SDKs): Work locally; sync when online.
- Less vendor dependency: Their data isn’t only inside one app’s servers.
For developers
- Less central DB to scale: Heavy reads/writes move to a model aligned with per-user stores.
- Security posture: Sensitive payloads can stay scoped to user stores and tokens.
- Faster integration: Auth, schema, and CRUD patterns are consistent across React, Next.js, Expo, and REST.
How it works
Auth
OAuth 2.0 (with PKCE where applicable). Users sign in through Basic; your app receives tokens with agreed scopes. Client SDKs wrap the flow; for custom stacks, see Basic Auth.Data model
Today, projects define collections of JSON-shaped documents inbasic.config (similar in spirit to Firebase or MongoDB collections), with indexed fields for sync and queries. The important difference is per-user isolation and local-first clients where you use the sync SDK.
For a product-focused overview, start with What is Basic?. For architecture detail, see Personal data stores and Local-first sync.

