Stable identity
A VLAD remains stable while its keys and protected metadata rotate.
Every connection, mutually verified
Put a BetterSign identity on every service and require both sides to prove who they are on every connection — with certificates that rotate on their own and trust rooted in a provenance log instead of a static certificate authority.
A VLAD remains stable while its keys and protected metadata rotate.
Every state transition is hash-linked and authorized by the previous log state.
VLADemlia helps peers locate current records without becoming the trust root.
Key changes become signed updates that followers can verify and apply.
Every connection, mutually verified
Ordinary TLS proves the server to the client and stops there; the server rarely knows who is really calling it. In a zero-trust network that is not enough — every service should prove its identity to every other service, on every connection.
Mutual TLS does exactly that, but it has always been painful in practice: issuing a certificate to every workload, and rotating them all before they expire, is the part teams dread and therefore avoid.
See zero-trust mTLS in action — both sides prove who they are, a rogue is rejected, and certificates rotate themselves with no downtime.
BetterSign gives each service a VLAD and issues it a short-lived X.509 identity — an SVID — rooted in a provenance log rather than a static certificate authority. Both ends of a connection present their SVID and verify the other, so a call is accepted only when both identities check out.
Because the trust root is a plog, rotating a service key or even the issuing authority is a signed entry that every verifier converges on — no CA re-key drama, and no fleet-wide certificate push.
The bettersign proxy adds mutual TLS to services that were never built for it. It terminates SVID-authenticated TLS at the edge, re-establishes mTLS to the backend, and forwards the verified client identity downstream as an X-Forwarded-Client-Cert header, so your application can make authorization decisions from a caller identity it can actually trust.
The result is a zero-trust mesh you can adopt incrementally, without rewriting services to speak mTLS themselves.