license-manager
Sell a Windows game once. It only runs on the PC it was licensed to.
Private codebase, screenshots only. Shown with the client's permission.
A hidden star in the license-manager constellation
You found a secret starIt started after my client complained about manually distributing games to every customer.
- AES-256 encryption
- Go
- 1 key, 1 PC
- Revoke anytime
- PostgreSQL
- React
- Docker
- Role
- Solo developer
- Team
- Solo, for a client
- Built with
- Go, PostgreSQL, React, TypeScript, Tailwind CSS, Docker
- Status
- In use · private codebase


The problem
Once someone buys a Windows game, its files can be copied and shared with anyone.
What I built
I built a DRM system that encrypts each game once with AES-256-GCM and ties every license key to one PC through a hashed Windows machine ID. A Go launcher decrypts the game to play it, a helper process deletes the decrypted files when it closes, and a heartbeat every 30 seconds closes the game if the license is revoked.
The result
It is backed by 235 Go tests, including real-database and end-to-end browser tests.