Basic is a new kind of database, focusing on privacy, user ownership, and local-first principles.

It creates a Personal Data Store for every end user, allowing applications to request access for reading and writing. Think of it as an open-source, web-wide version of iCloud.

Problem

Current data storage methods have several issues:

  • Fragmentation: User data is scattered across numerous apps and platforms
  • Vendor lock-in: Walled gardens limit user choice and data portability
  • Privacy concerns: Data breaches and misuse are increasingly common
  • Dependency: User data relies on third parties, risking loss, censorship, or shutdown

Objectives

Basic aims to build a more private, collaborative, and user-centric web. Our goals include:

  1. User-owned data: Users control access and sharing of their data
  2. Interoperable data: Information flows freely across applications, not siloed in walled gardens
  3. Privacy: Users can use apps without exposing their data to developers
  4. Open-source protocol: Fostering a healthy, transparent ecosystem

Additionally, our database should be:

  • Easy to use: Quick to design, deploy, and integrate into any stack
  • Relational: Supporting developers’ preference for relational and typed models
  • Serverless and scalable: Automatically adjusting to demand, scaling up or down as needed

Solution

Basic is a local-first, serverless, relational database designed for user-owned data.

Traditional vs. Basic Approach

Traditionally, applications create and host databases, storing all user data centrally:

Basic offers an alternative where data is controlled by the user, and applications request access:

Benefits of User-Owned, Local-First Data

For Users:

  1. Data control: Revoke access or limit permissions at any time
  2. Single source of truth: Multiple apps can access the same data
  3. Data portability: Easily transfer data between applications
  4. Offline-first: Access and modify data without an internet connection

For Developers:

  1. Simplified scaling: Users “bring their own data,” reducing server load
  2. Enhanced security: Sensitive data stays with the user
  3. Easier onboarding: Import existing user data with less friction
  4. Sync management: Basic handles data synchronization across devices

How it works

Basic consists of two main components: Auth and Database.

Auth

Basic uses standard OAuth2 flow, manageable via API or provided libraries. Users create a single Basic.id account to control all their data and app permissions, streamlining the login process across applications.

Database

Currently, Basic functions as a document database (similar to Firebase or MongoDB), with support for collections of JSON objects. SQL and relational features are coming soon.

Key differences:

  • Separate databases for each user instead of one central database
  • Local-first architecture enables offline functionality and automatic syncing
  • Data remains under user control, with applications requesting access