ATL: one typed protocol for the whole platform

A remote shell can do anything, which is exactly the problem. ATL can do only what the schema describes, and every call is checked and recorded.

One schema, everything else follows

ATL is three things built from one source: a schema language that describes the messages and calls, a compact binary wire format, and a symmetric request-response envelope in which either side can ask and either side can answer.

  • Clients and servers are generated for Rust, TypeScript, Dart, Go and Python
  • The schema is the contract: both sides agree on types before a byte is sent
  • A call that is not in the schema does not exist
One ATL schema gives the format, the exchange and the clientsOne ATL schemaCompactbinary formatRequest–responsein both directionsGenerated clients and serversRustTypeScriptDartGoPythonA call not in the schema does not exist
Everything on both sides of the connection is generated from one schema.

Commands, not a shell

Every node of the platform is managed only over ATL inside TLS 1.3, where both sides verify each other's keys. There is no SSH and no shell. Rebooting, checking disks, applying an update or reading the system's state are typed calls with typed answers.

Exactly once

Every request that changes state carries a sequence number and is applied exactly once. If a connection drops and the client sends the request again, the change is not made twice — the client simply receives the original answer.

Roles on the certificate

What a client may do is written into its certificate. A monitoring role can read every metric and change nothing; an unlock role can only hand over a disk key. A stolen monitoring certificate cannot reboot anything.

The protocol is open at the level of its schema and wire format: your systems can talk to the platform in their own language.

Next step

See it on your own business

Book a demo: we show the platform on your processes and agree where your data will live — in our cloud or on your own nodes.