ULDA Core
v1.0.1The protocol engine. Creates public witnesses and checks that one state can follow another.
Core referenceYou work with JSON. ULDA handles client-side encryption and synchronization — on infrastructure you control.
JavaScript & TypeScript · Self-hosted
One note, from your app to another device.
Follow what happens in between.
Step 1: Start with your data.
Create or update ordinary JSON through the SDK.
A local illustration. The server sees resource IDs, sizes and traffic — your content stays encrypted.
Your application SDK. Work with JSON, encrypt it on the client and synchronize it across connected devices.
The protocol engine. Creates public witnesses and checks that one state can follow another.
Core referenceYour storage endpoint. Checks updates, stores encrypted resources and delivers changes to subscribers.
Deployment guideBuild a witness. Move the window. Check the overlap.
Step 1: Start with five random blocks.
Together, they form an origin — the client’s private window.
This checks state continuity. The SDK separately encrypts and authenticates the content.
Connect. Create a note. Update it on the client.
Complete setup guidenpm install ulda-auth@1.1.0import { Ulda } from 'ulda-auth';
export async function createNote(endpoint, password) {
const ulda = new Ulda(endpoint);
try {
await ulda.ready;
const masterId = await ulda.register(password);
await ulda.add('notes', { text: 'Hello, ULDA' });
await ulda.data.notes.text.update('Updated on the client');
return { masterId, note: ulda.value('notes') };
} finally {
await ulda.close();
}
}Creates a new master. Keep its ID to reopen it later. Node.js 22+ or a modern browser.
Run one ULDA Server application with PostgreSQL and an HTTPS/WSS endpoint you operate.
Set up your serverdocker pull uldaio/ulda-server:1.0.0Linux amd64 image. Database provisioned separately; one writer per dataset.
Application content is encrypted on the client. The server sees resource IDs, public witnesses, sizes and traffic patterns, but does not hold the content decryption keys.
ULDA Auth manages encrypted data. Your application still provides its accounts, access policies and password experience.
The server rejects conflicting updates. Your app handles conflict resolution; the SDK does not provide a persistent offline write queue.
ULDA is source-available under separate Community Source licenses. These are not OSI-approved open-source licenses. Terms vary by component; commercial licensing is available by agreement.