Protected location data × Interocitor
Useful privacy boundary. Bad safety system.
Alex and Sam share protected location rows through a mailbox that cannot read the place names. Update one local device and watch the other receive the latest known state on the five-second sync cycle.
Alex’s view
Sam’s view
What this proves
Encryption solves less than a locator product must.
Protected payloads can keep stored coordinates out of the mailbox’s plaintext boundary. They do not establish consent, prevent an authorized family endpoint from misusing data, guarantee freshness, erase historical copies, or make delayed state suitable for safety decisions.
The minimal shape
Illustrative excerpt: location acquisition, consent UI, local stores, and mesh-key setup are omitted. The linked TypeScript source is the complete runnable demo.
const schema = {
tables: {
locations: {
fields: {
id: types.string,
name: types.string,
place: types.string,
x: types.number,
y: types.number,
updatedAt: types.index(types.number)
}
}
}
} satisfies DatabaseSchemaDefinition<LocatorDB>;
const locations = db.table("locations");
await locations.put("alex", {
id: "alex",
name: "Alex",
place: "Riverside Park",
x: 72,
y: 74,
updatedAt: Date.now()
});
// flushDebounce and pollInterval are both 5 seconds in this demo.
Read the full locator source →