Zero-Trust Identity
Every machine is provisioned with a unique, single-use secret. No default credentials, no shared keys. Access is granted only to organization members.
Machine-to-Cloud
(The Control Plane)
Each machine uses its unique machine secret to establish an outbound, encrypted connection to app.viam.com. Remote management with no inbound firewall rules required.
Machine-to-Machine
(The Data Plane)
Within a LAN, machines use location certificates to establish mTLS connections for high-speed, secure local coordination. Across the internet, machines negotiate a peer-to-peer WebRTC tunnel. Data flows directly between machines, not through Viam's servers.
Client-to-Machine
(Egress-Only Networking)
Your application code connects to hardware through the same encrypted layer no matter where it’s running from. No open ports, no port forwarding, no firewall configuration required. NAT traversal is handled automatically. Same mechanism, same guarantees, regardless of where you're connecting from.
User-to-Machine
(Identity & Access)
Viam secures end-customer access to your machines—from industrial fleets to consumer devices—through a managed OAuth2 layer with native SSO support. This removes the burden of building a bespoke authentication stack or managing static credentials for every unit shipped. A standard login flow provides enterprise-grade identity and granular access control that remains consistent as you scale.
Versioned OTA Updates
Updates (code, ML models, and configuration) are versioned and deployed through the Viam Registry. Pin to stable versions, roll out to a subset of machines first, and roll back with a single change if something goes wrong. No SSH loops. No per-machine intervention.