Signed offline
Our server list is signed with a private key that is always kept offline.
Even if our servers, storage, or network were tampered with, the Stellar VPN app would refuse to connect to anything unsafe. Every server and every VPN configuration is verified inside the app before it can be used.
Our server list is signed with a private key that is always kept offline.
The app checks the signature before it trusts any server, URL, or configuration hash.
If anything has been modified, the app rejects it automatically instead of connecting.
No blind trust. Everything must prove that it is authentic before the app will use it.
The private signing key stays offline at all times. It is never shipped in the app and never exposed through the API.
The app contains only the public key. It verifies the returned server list before trusting any data inside it.
Hostname, download URL, and trusted SHA-256 hash are accepted only if they came from a valid signed list.
After download, the app calculates the file hash on your device and compares it with the trusted hash from the signed list.
If the signature fails or the file hash does not match, the app stops. No valid proof means no connection.
No trust required. Everything is verified.
This is the kind of data the app downloads before it verifies the signature, chooses a server, and checks the VPN file. We only show one server below to keep it easy to understand.
[
{
"id": "ch-1",
"name": "Switzerland – Zurich",
"hostname": "ch-zurich-1.stellarsecurity.com",
"config_url": "https://stellarvpnserverstorage.blob.core.windows.net/openvpn/stellar-switzerland.ovpn",
"config_sha256": "3eb84407f8d8a19d5d7a3b810ea306550c3e841e605679045b135951f0defaf7"
}
]idIdentifies the server the app should use. For StellarOS, the secure flow can choose ch-1.
hostnameTells the app which server this entry belongs to after the signed list has been verified.
config_urlPoints to the VPN configuration file the app downloads only after the signed list is trusted.
config_sha256Acts like the trusted fingerprint of the VPN file. If the file changes, the hash changes, and the app blocks it.
The app is designed to notice tampering before a connection happens.
The signature no longer matches. The app rejects the list and refuses to trust it.
The file hash changes. The app compares the downloaded file against the trusted hash and blocks the connection.
The app still requires cryptographic proof. Modified data is not enough to fool it.
The app contains a public key used only for verification. It cannot sign anything. Signing happens separately with the private key, and that private key is kept offline at all times.
The signed server list includes a trusted SHA-256 fingerprint for each VPN configuration file. After download, the app calculates the file hash locally and compares it to that trusted value.
The app rejects it because the signature no longer matches.
The app rejects it because the file hash no longer matches the trusted value.
The app connects normally using verified server data and a verified VPN configuration.
Download Stellar VPN and connect with confidence. Every server and configuration is checked inside the app before it can be used.
Get Stellar VPN