SDK Overview
SDK Overview
Section titled “SDK Overview”Aureva is a multi-client authentication platform built on one shared backend. The Cloudflare Workers service at api.aureva.cc speaks a single, language-agnostic protocol to every client, regardless of the language that client is written in. KeyAuth is the idea; Aureva is the refinement of it.
Every client — the existing embedded Luau loader, the new C++ SDK, and any future SDK — implements the same protocol core (the same hashing, the same authenticated encryption, the same transport encoding, the same heartbeat and per-session key rotation) and is validated against the same conformance vectors. That shared core is why a later-language SDK is a conformance exercise rather than a re-derivation.
Pick your client
Section titled “Pick your client”| Client | How you get it | Best for |
|---|---|---|
| Luau library / loader | Embedded into your uploaded script and co-obfuscated at upload time — not a downloadable file | Roblox executors; lightweight server-side key validation before script delivery |
| C++ SDK | Downloaded from the SDK GitHub release: a public header, a per-architecture static library, an example, a README, and a permissive LICENSE | Native Windows applications that embed a full authenticated session |
Luau library (existing)
Section titled “Luau library (existing)”The Luau docs describe the lightweight loader flow — set a key, request the loader URL, and let Aureva validate server-side before the script is delivered.
- Luau Library — loader URLs and
Aureva.check_key - Key Validation — validating keys via the library
- Error Codes — the
KEY_*validation codes and HTTP statuses
C++ SDK (new)
Section titled “C++ SDK (new)”The C++ SDK is a public, standalone, permissively licensed library you download, drop into your codebase, wire up with a single constructor call plus init(), and use to authenticate your application over the full Aureva protocol.
- C++ SDK: Getting Started — download, drop in, embed the config header, build per architecture, and call
init()/license()/check() - C++ SDK: Auth Flow & Error Surfaces — why the C++ flow is heavier than the Luau loader, and how its error codes relate to the
KEY_*codes - C++ SDK: Thread-Safety Contract — the concurrency rules for embedding
aureva::Apiin a multi-threaded app
Adding more languages later
Section titled “Adding more languages later”Because the protocol core and the conformance vectors are shared, the same setup model — download, embed your application config, call init() then license() then check() — is the template any future-language SDK (for example C#, Python, or Rust) reuses. This section is structured so those guides slot in alongside the C++ SDK without a redesign.