Features
Database Model
Document/object database with graph support
Declarative [YAML[(https://yaml.org/) and Protocol Buffers
Query builder in your target language, with update subscriptions: TypeScript, Go
Named JavaScript mutation functions stored in the schema, for CRDT or plain old data
Fully ACID with transaction boundaries defined in-schema
References embedded in objects, as regular Protobuf fields, with graph traversal at query
Pseudo-Random Number Generator of any size running on both client and server
No-downtime, client-side compatibility paradigm, optional batch transformation on server
Management Interface
Integrated monitoring, data mangement and end-user management
gRPC and gRPC-Web over TLS
Availability
Semantic mutation log and snapshots, hot-standby
Location-transparent database URI, hierarchies of database caches, including on-device
Hierarchies of synchronized databases, e.g. by failure domain; client-side cache and local database
Information about query result freshness and mutation propagation progress
Security
ECDSA, TLS client certificates, OpenID Connect, pre-shared key, QR-Code
Object-level scopes with flexible, fine-grained, delegation between users; ABAC, RBAC, ACL and variations
Pre-shared codes can be stored securely and accessed only to "break the glass", limited in scope, time and number of requests
Built-in query sanitation to disallow range queries
Either through a role account, and/or per-user accounts; with documented transfer path
Yes, one user can act as another user with the right permissions
An account only has access to its own data
Connectivity
Required TLS
Client Code
TypeScript and Go, with client-side WASM for offline