STAGING — non-production environment. Billing is disabled; data may be wiped at any time.

C++

Header-only. C++17 with libcurl, nlohmann/json, and OpenSSL.

Install (CMake)

include(FetchContent)
FetchContent_Declare(
    geckoguard
    URL https://geckoguard.net/downloads/sdk/v1.3.0/geckoguard-sdk-1.3.0-source.tar.gz
    URL_HASH SHA256=cde424beff9dfa31eb1149108e28b9fa27dafcad117440a19ce92c452f218952
    SOURCE_SUBDIR cpp
)
FetchContent_MakeAvailable(geckoguard)

target_link_libraries(your_app PRIVATE geckoguard)

This uses the reviewed historical v1.3.0 preview source. The first official coordinated release is planned as v1.0.0 and remains on hold.

Or copy include/geckoguard/geckoguard.hpp into your project and link libcurl yourself.

Quick start

#define GECKOGUARD_USE_OPENSSL
#include <geckoguard/geckoguard.hpp>
#include <geckoguard/response_verifier.hpp>

int main() {
    geckoguard::Client client("gg_live_...", "your-product-uuid", "https://api.geckoguard.net", "your-signing-secret");
    geckoguard::install_default_verifier(client);

    auto auth = client.authorize("LICENSE-KEY-123");
}

Build with -DGECKOGUARD_USE_OPENSSL and link OpenSSL. install_default_verifier enables Ed25519 response verification.

Configuration

geckoguard::Client client(
    "gg_live_...",
    "your-product-uuid",
    "https://api.geckoguard.net",  // base URL
    "your-signing-secret"          // required by the hosted API
);

For the full method list and endpoint reference, see the API Reference.

For long-running applications, follow the session lifecycle and heartbeat requirements.