🔧 The developer beta is live — free for developers. Flash your own ESP32-S3 and test it. Learn more →

Developers

Read the spec. Write your own client. No permission needed.

The protocol and the file format are published in full, the SDKs are Apache-2.0 and the client is GPL-3.0. You can build an interoperable implementation without any agreement with lake8.dev, and without access to our repository.

What is published

HID protocol

VID 0x303A, PID 0x8123, 64-byte reports, twelve implemented opcodes, a PIN gate and encryption performed on the chip. Enough to write a client from scratch.

Read the spec →

.crin format

66-byte header, magic "CRIN", AES-256-GCM, per-file key derived with HKDF on the dongle. The format outlives the vendor: any conforming implementation decrypts it.

Read the spec →

Windows SDK (DLL)

C# integration for Windows applications. Apache-2.0 and free. No NuGet package and not in the beta package, but the source is published as a beta at github.com/jaffa2970/cryptin-sdk-beta since 17 October 2026, so you can build it. It is a .NET class library: there is no C ABI layer, so C++ cannot consume it directly.

Quick start →

Linux CLI

Encrypt and decrypt .crin from the shell on Linux and macOS. .NET 9 wrapper around CryptinSDK, Apache-2.0. Not shipped: it was not in the beta package, and no date has been announced.The Python files in tools/ are an internal test harness, not a distributable SDK.

What to use →

App Personal

The Windows client is licensed GPL-3.0 and its source is published as a beta at github.com/jaffa2970/cryptin-sdk-beta since 17 October 2026, so you can build it and fork it. Pull requests are a different matter: the repository takes none during the beta.

Build and contribute →

Developer beta

Flash your own ESP32-S3 and test the whole stack. Free, 29 September 2026, no hardware supplied — that is the point.

Join the beta →

The firmware is the one closed part: it ships as a binary signed with the lake8.dev key on production dongles, because with its source anyone could strip the PIN and the licence check. The developer beta ships the unsigned -dev build, verified by hash against SHA256SUMS.txt. Nothing about it is needed to write a client — the protocol and the format are enough, which is the whole point.

What is open and what is not

The HID protocol and the .crin format are open in full: anyone can write a conforming client from the specifications on this site, without our source code and without asking lake8.dev for anything. The SDKs are Apache-2.0 and the Windows client is GPL-3.0.

Activation, licence validation, JWT issuance and the licence server itself (POST /api/activate) are proprietary commercial services operated by lake8.dev. They are not part of the open protocol and they are not distributed. This does not reach into your files: a dongle that has already been activated decrypts entirely offline, for as long as it exists. The licence gates new encryption, never decryption — and it gates it online: the app stops the next time it checks the licence, while the dongle has no clock, so a machine that never goes online keeps encrypting.

Activation model

When activating a dongle you choose how much information lake8.dev receives. The cryptographic keys never leave the chip regardless of your choice — what changes is only the personal data.

What reaches lake8.dev and what does notK_root, K_attestation and the recovery seed never leave the dongle. Session keys, file keys and .crin files stay on the user device and are never transmitted. lake8.dev always receives payment data and the public half of K_identity. Personal data is a choice: in anonymous activation lake8.dev receives no email, no name and no tax ID; in registered activation it receives all three.DongleUser devicelake8.devK_rootK_attestationK_recovery seednever leave the chipNEVER TRANSMITTEDK_sessionK_file.crin filesALWAYS RECEIVEDpayment dataK_identity pubkeyYOUR CHOICEMODE A — ANONYMOUSemailnametax IDMODE B — REGISTEREDemailname + surnametax ID (CF/VAT)The keys never leave the chip either way. What changes is only how much you tell us about yourself.

Anonymous activation is not a lesser tier: it is the same product, activated without telling us who you are. The registered mode exists because invoicing and VAT sometimes require it. Details in thesecurity model.

Contributing

Not during the beta. The repository takes no issues and no pull requests. Forking is allowed by the licences — Apache-2.0 for src/CryptinSDK/ and src/CryptinCli/, GPL-3.0 for the rest — so you can build on the code today, you just cannot send changes back here yet.

The host-side source is published as a beta at github.com/jaffa2970/cryptin-sdk-beta since 17 October 2026 — the code of the public beta, published as it is, with no support channel. The firmware is not in it and stays closed source, so the specifications on this site remain what a third party implements against. When contributions open, lake8.dev will review every change to cryptography, to the HID protocol and to licence activation, and signs the release binaries; there is no date for that, and no contrib branch or CI exists today.

Questions: info@lake8.dev · Security issues: security@lake8.dev, under the disclosure policy.