Stars
Forks
Watchers
Developer links
Kinto
Web and mobile applications get a ready-made backend from Kinto: create buckets and collections through a REST API, save records as plain JSON, and every signed-in device reads the same data without any custom server code. Permissions attach to individual buckets, collections, and records, so you can keep a shared dataset public, limit a collection to a signed-in group, or hand a teammate write access to exactly one collection. Groups bundle people and carry permissions as a unit, which keeps multi-user applications tidy as rosters change. Synchronisation is the headline act: each object carries an incrementing revision number, clients poll for changes since a revision they already hold, and the JavaScript client stores data in IndexedDB so applications keep working offline and publish updates when the connection returns. Collections can declare a JSON schema, and the server rejects records that do not match, which stops malformed writes at the door. The history plugin records every change with its author, an audit trail you can query or roll back from. Records can carry file attachments, and the Kinto Admin web console renders buckets, collections, and records in a browser so you can inspect data, edit entries, and repair permissions without curl. Mozilla runs this model to deliver Firefox configuration and blocklists, and your VPS instance speaks the identical API. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. Apache-2.0 licensed.
Benefits
- A backend without backend code
- Create buckets and collections over the REST API and store JSON records in minutes; the server handles persistence, validation, and synchronization, so frontend teams ship apps without building or maintaining a custom API.
- Fine-grained permissions on every object
- Read, write, and create rights attach to individual buckets, collections, groups, and records; share one dataset publicly, restrict another to a team, and keep private collections invisible to everyone else.
- Offline-first sync across devices
- The official JavaScript client stores records in IndexedDB, serves reads while offline, and pushes changes when the network returns; revision numbers and since-revision polling keep every device converging on the same state.
- History, attachments, and admin console
- The history plugin logs every change with its author for audit and rollback, records accept file attachments, and the Kinto Admin web console renders your data in a browser for inspection and edits.
Features
- Buckets, collections, records
- Organize data as JSON records inside collections inside buckets, all managed through a versioned REST API with standard HTTP verbs and JSON responses throughout.
- Per-object permissions
- Attach read, write, and record creation rights to buckets, collections, groups, or single records; permissions combine and inherit predictably across the object hierarchy on every request.
- JSON schema validation
- Declare a JSON schema on any collection and the server validates incoming records against it, rejecting malformed documents before they reach storage or sync to clients.
- Change history plugin
- The built-in history plugin records creation, update, and deletion events with authorship and timestamps, and exposes them through the API for audit trails and recovery.
- Pluggable authentication
- Authenticate with built-in account credentials or plug in external providers through the authentication framework, then combine identities with group memberships and object permissions on each request.