For many enterprise and industrial customers, direct internet access from production machines is simply not allowed. For example:
Those environments still need:
The Devolens License Server solves this by acting as a controlled gateway between your internal network and Devolens. One machine (the license server) is allowed to reach Devolens. All other machines talk to that server over the LAN; the license server then forwards or serves license info on their behalf.
In many setups, it can also cache license files and continue to function even if the internet is temporarily unavailable or intentionally disabled.
This gives you control, but becomes painful to maintain at scale and easy to get out of sync with your central licensing data.
You can learn more about this approach here.
Build your own licensing proxy
This works, but you’re effectively building and maintaining a licensing product on the side.
Devolens License Server (recommended)
Tip: keep your deployment and security standards as they are. Use the License Server as the single, auditable bridge between your secure network and Devolens.
LicenseServerUrl parameter when activating a key:var result = Key.Activate(
token: authToken,
productId: 1234,
key: "AAAAA-BBBBB-CCCCC-DDDDD",
machineCode: machineId,
floatingTimeInterval: 150,
LicenseServerUrl: "http://licenseserver.internal:8080"
);
var license = LicenseKey.FromResponse(rsaPublicKey, result); The same pattern applies in other languages and SDKs that support the license server URL.
4. Tune caching and offline behaviour
.skm) files from a folder on the license server. 7. Optional: enable offline floating licensing
How is this different from one-off offline activation files?
Offline files work, but they scale poorly. You must manually generate, send, install, and track them per machine, and repeat for renewals or changes. The license server centralizes this: machines use a stable LAN endpoint, and you manage licenses in one place.
Do client machines need internet access?
No. Only the license server needs outbound access to Devolens. Client applications call the license server over the local network.
What happens if the license server temporarily loses internet?
With caching enabled, the license server can continue to serve previously fetched licenses for a configurable time window (for example, 10 days). Once connectivity returns, it syncs again with Devolens.
Can we run the license server completely offline?
Yes. In offline mode, the license server always reads from cache. You pre-load activation files (.skm) into a folder on the server, and it serves those licenses without contacting Devolens at all. This is ideal for fully air-gapped environments where you only sync new license files occasionally via secure media.
Can we use floating licenses in an offline environment?
Yes. You can configure the license server for offline floating licensing (for example, to limit the number of concurrent containers or machines). You generate a special license server configuration and RSA public key in Devolens, embed it in or configure it for the license server, and ship the compiled server plus activation files to your customer.
Do we have to run this on Windows?
No. The license server can run on Windows or on Linux/macOS, as long as the appropriate .NET runtime (e.g., .NET 5 or later) is installed.
How intrusive is the app-side change?
Minimal. For most SDKs you change the base URL used for activation calls (for example, passing LicenseServerUrl in the .NET SDK) so calls go to the license server rather than Devolens directly. Your core licensing logic remains the same.
How long does it take to get the first environment running?
Teams often get a first license server running quickly by:
From there, you can harden, automate, and roll out to production at your own pace.
Set up modern software licensing infrastructure in a controlled environment and move to production without long implementation cycles or added operational overhead.