Looks like the "embedded networking" and therefore all network-related syncing is tightly coupled to the closed SaaS running at https://sqlitecloud.io.
It would be cool if the server-side sync API was also documented and versioned, which would allow the possibility of independent compatible self-hostable backend implementations to offset the vendor-lock-in concern.
Some of the API naming is similar (db_version, site_id, seq, commit_alter, etc), although the project source is very different (C rather than Rust, different feature set).
crsqlite is no longer maintained so I might be interested in migrating.
1. I don't see any examples for foreign key constraints (ON DELETE and ON UPDATE) or UNIQUE constraints. Are constraints still supported?
2. How is row-level privacy implemented? Are "forbidden" rows not synced by the server logic, or are they encrypted?
1. Good point, we are going to publish more details about constraints in the repo within a few days
2. We have implemented row-level security, so you are free to easily implement any privacy role you want: https://docs.sqlitecloud.io/docs/rls. The "forbidden" rows are not synced
About encryption: all communications are over TLS.
We chose to adopt the Elastic License 2 primarily because of the significant investment we've made in developing this technology, including a robust cross-platform network layer that enables users to implement offline-first functionality with just two lines of code. This license also helps protect our work from being forked and commercially exploited by larger tech companies.
Edit: Thanks for clarifying that. It'd be great if you can add it to your README, because the name looks very suspicious at first glance. If you have the rights to use it, explicitly mention it.
It would be cool if the server-side sync API was also documented and versioned, which would allow the possibility of independent compatible self-hostable backend implementations to offset the vendor-lock-in concern.
Some of the API naming is similar (db_version, site_id, seq, commit_alter, etc), although the project source is very different (C rather than Rust, different feature set).
crsqlite is no longer maintained so I might be interested in migrating.
Naturally I have some questions:
1. I don't see any examples for foreign key constraints (ON DELETE and ON UPDATE) or UNIQUE constraints. Are constraints still supported? 2. How is row-level privacy implemented? Are "forbidden" rows not synced by the server logic, or are they encrypted?
About encryption: all communications are over TLS.
So not open source.
Edit: Thanks for clarifying that. It'd be great if you can add it to your README, because the name looks very suspicious at first glance. If you have the rights to use it, explicitly mention it.