Intent store
What should be true
Allocations, records, ownership, policy. Rows and columns, ordinary SQL, ordinary backups. It answers counting and ownership questions.
"Which addresses in this subnet are still free, and who owns this range?"
How it works
Most architecture pages describe a platform. This one follows a single DHCP lease from the moment a device picks up an address to the moment the name resolves, and names every part it passes through on the way. No acronyms without a translation.
Everything on this page is a path that runs in production today.
Seven steps, about a second of real time. Step through them, or let it run.
A laptop, a camera, a handset joins the network. Your DHCP server gives it an address, exactly as it does today.
The lease is posted to OmniTwin, signed with a key you control. No agent on the device, no polling loop waiting to notice.
The message lands in a queue drained by a pool of workers. A burst of leases is absorbed rather than lost.
The compiled math core works out the subnet and the reverse name for that address. Deterministic: the same address always gives the same answer.
The DNS records are written to the intent store, and the address appears in the reality store, connected to the things around it and tagged to your tenant.
The zone change is pushed out to the DNS providers you already use, so the name resolves where it always did.
A reconciler sweeps reverse DNS in the background and repairs what drifted. If it could not finish the sweep, it says so rather than claiming a clean pass.
Three columns: what you already run, what OmniTwin runs, and where the answers are kept. Moving lines are live data paths. Select any part to read what it does in one paragraph.
live data path where answers are kept drag sideways on a narrow screen
One database would be simpler to draw and worse to live with. The two questions engineers actually ask have different shapes, so they are kept in the shape that answers them.
Intent store
Allocations, records, ownership, policy. Rows and columns, ordinary SQL, ordinary backups. It answers counting and ownership questions.
"Which addresses in this subnet are still free, and who owns this range?"
Reality store
The live picture, held as a graph. It answers relationship questions, the ones that turn into slow joins in a table and into a short walk in a graph.
"What sits behind this address, and what else goes dark if this link does?"
The gap between the two is the signal worth acting on. When what should be true and what is true stop matching, that difference is drift, and it is the thing OmniTwin is built to surface. The architecture page goes into the engines underneath.
Every table holding customer data is scoped to a tenant by the database itself. A query that forgets to filter still returns nothing from another tenant, because the rule does not rely on the query being careful.
The keys your DHCP servers sign with are re-read every ten seconds. Withdraw one and it stops working in seconds, without a restart or a deploy.
Address maths runs in one compiled library, never in the browser. Two engineers looking at the same subnet see the same numbers, because only one thing computed them.
The reconciler reports a clean pass only when it finished one. Half a sweep is reported as half a sweep. Quiet rounding up is how teams end up trusting a stale picture.
Updates are pushed out to your DNS. Nothing needs a hole through your firewall to reach in, which is usually the first question a security review asks.
OmniTwin sits alongside what you run rather than in front of it. If it stops, addresses are still handed out and names still resolve.
The beta runs against your DHCP and your DNS, read-only until you say otherwise.