RockyGuard

Why RockyGuard

What teams tell us makes them pick it.

What our customers consistently call out. None of it is "it has the most features." All of it is about substance and trust.

01

You choose how hard to protect it

Two integration models, your call, per feature. The simple path is a few lines — verify the licence, branch on the result. Its honest limit: that is one boolean gating a branch, and a determined attacker can flip it with a one-instruction binary patch in your own executable. The load-bearing path removes the branch entirely — the licence physically carries an encrypted data key, and a real feature asset is sealed under it and opened at runtime via the LicenseAsset type. A forged or patched licence yields the wrong key, so the feature just produces garbage; there is no verdict to patch. It ships as a toolchain — rg_bind_asset seals an asset at build time, a CMake helper wires it in, rg_bind_lint checks your binding — and it is incremental: protect one high-value feature, leave the rest on the simple path.

02

Signed file format you can audit

RockyGuard licenses are signed JSON. The payload is plain text — your security team can read it, diff it, and verify it with any standard Ed25519 / RSA-SHA256 implementation. No proprietary blob format, no opaque binary container, no need to trust a vendor tool just to inspect what is inside a license.

03

Public threat model

We publish the nine-row threat model on the public website verbatim from the customer docs. Every concrete attack named, every defense mapped, every residual risk acknowledged — including the "memory dumping is out of scope" row. Most products in this category bury this material; transparency is the differentiator.

04

No SaaS dependency, no phone-home

License verification runs entirely offline against a static public key. The optional floating server runs on your customer's LAN — RockyGuard never sees it, never logs it, never knows you have a customer at all. The only outbound network call the library makes is anonymous HTTPS time-anchor verification to a rotating pool of public hosts; no telemetry, no activity beacons.

05

Lightweight integration

A small C++17 library and a handful of CLI tools. No agent to install on customer machines. No daemon to manage. No SDK to register. The Quick Start integration is a single function — three library calls inside one try/catch. That is the floor, not the ceiling: when a feature has to survive a determined attacker, the same library seals it under the licence instead of gating it behind a branch (see the protection-choice reason above). Static or shared library, your choice. Windows and Linux today, macOS in v1.3.

06

Honest scope

RockyGuard is C++17 desktop and server applications, Windows and Linux x64, glibc 2.34 or newer. We list this on the landing page deliberately. Buying licensing infrastructure and discovering a platform gap two weeks in is the worst possible experience for both sides; we would rather lose a sale at the door than ship a customer into a corner.

07

Customer-onboarding transparency

The Phase 4.1 customer-onboarding dry-run report — three sub-agent runs against the shipped customer zip with every gap they found, every fix made in-session, and every gap deferred — is shipped in the docs and published openly. You can read what a fresh evaluator hit before you ever start your own evaluation, and what we changed because they hit it.

At a glance

Quick checklist of properties that often matter to a security or procurement review.

License format

Signed JSON (Ed25519 / RSA-SHA256)

Verification

Offline, public-key only

Tamper protection

Your choice — simple branch or load-bearing

Activation step

None — no online activation flow

Customer-machine agent

None

Outbound network

Anonymous time-anchor HTTPS only

Telemetry

None

Documentation source

Hand-curated, shipped as PDF + plain text

Threat model

Published verbatim on /security

Onboarding dry-run

Published as the Phase 4.1 Report

Read what a fresh evaluator found

The full Phase 4.1 customer-onboarding dry-run report — every gap surfaced and every fix made in-session — ships in the docs.