build 3.0.0 · aes-256-gcm / post-quantum · eu/de · ram only
TRANSPARENCY

Trust & Verification

How Paramant works with your relay. What we can see, what we can do, and how you verify both — without taking our word for it.

How to read this page

Paramant is moving from a single self-hosted binary to an open-core product: the relay stays open and runs entirely on your server, while Paramant operates a central licensing and management plane. That transition is partly live and partly still on paper.

So every claim below is tagged. Live means it works today on the public relay. Planned means it is specified in a public design document (an ADR) but not yet implemented — we mark it so you are never told a capability exists before it does.

How license-check works

Today Live the relay's entitlement is an offline license. Your PLK_KEY is a license token signed by Paramant (Ed25519) that the relay verifies locally against an embedded public key. It carries a user cap, an expiry and who it was issued to. The relay does not phone home to validate it: with no key, or an expired one, the relay simply runs as Community Edition (5 users). Nothing leaves your server to check a license.

Planned Planned to sell tiers with capabilities beyond a user-count, the design adds an online license-check. Under that model your relay calls a Paramant licensing endpoint at startup and every 6 hours. The request carries your license-key, a relay-identity (the fingerprint of the ML-DSA-65 public key your relay generates on first boot), the relay version, and a telemetry block that is off by default.

The response is a signed capability-set — which features your tier unlocks — valid for a few hours. Your relay verifies the ML-DSA-65 signature against an embedded Paramant licensing key; an unsigned or invalid response is rejected. If the licensing endpoint is unreachable, the relay keeps using its last cached capability-set for up to 7 days, then degrades to Community mode. There are no surprise lockouts: an outage on our side cannot instantly disable your relay.

Full wire-protocol specification: ADR R013 (Draft) in the public ADR directory.

What Paramant sees of your relay

With today's offline license, the answer is simple: nothing at runtime — the relay makes no licensing call. The breakdown below describes the Planned online model, so you can judge it before it ships.

Always (each check-in)

Only if you opt in (telemetry, off by default)

Never — even with telemetry on

Planned Before telemetry can be enabled, the admin panel will show a preview of the exact payload your relay would send, with no hidden fields, so opting in is an informed choice rather than a blind toggle.

How to verify your deployment

You do not have to trust these statements — the public surface lets you check them.

1. Source Live

Everything that runs on your server is in the public GitHub repository under BUSL-1.1: the relay, the admin panel, the SDKs, and the license-client code that does the check-in. You can read exactly what your relay does — including every field it would send — and build it yourself:

git clone https://github.com/Apolloccrypt/paramant-relay
cd paramant-relay
git checkout v3.0.0
docker compose build   # build locally instead of pulling the published image

2. Published image Live

The Docker Hub image is built from that repository by the project's public GitHub Actions workflow. You can compare a locally built image against the published tag, or skip the published image entirely and run your own build.

3. Signed releases Planned

Cryptographically signed release artifacts (so you can verify provenance without a local rebuild) are part of the supply-chain design but not yet in place. Once live, verification will look like:

cosign verify mtty001/relay:3.0.0 \
  --key https://paramant.app/.well-known/paramant-release.pub

Release-signing and supply-chain integrity are tracked in the release-process ADR (R015, in progress) in the public ADR directory.

4. Behaviour Live

Every transfer your relay handles is appended to its own public Certificate Transparency log, a signed Merkle tree you can inspect and archive independently. The relay's logs record its outbound calls; once online license-check ships, each check-in is logged too, so you can watch what your relay sends.

What Paramant can do remotely

The remote-action model below is Planned — specified, not yet implemented. The structural limits in "Not possible", however, hold Live today, because they follow from the architecture rather than from policy.

In the design, every remote action is recorded to your relay's own CT log, where you can verify it independently: you see what was done, when, and by which Paramant role (Owner or Support). Our internal audit-trail additionally records which individual acted, but that record is private to us.

Possible remote actions (planned)

Issue a short-lived support key
A time-boxed key for debugging an issue you reported. You can revoke it immediately from your admin panel.
Offer an update
Make a new release available to your relay. How it applies follows your tier: a banner you act on, an opt-in update window, or explicit approval — never a silent push you did not agree to.
Set drain mode
Ask the relay to refuse new uploads, finish in-flight transfers, then idle — used ahead of maintenance.
Adjust your capability-set
Apply a tier change (trial extension, upgrade after payment). It takes effect on the next check-in.

Not possible — structurally Live

Remote-action protocol: the management-plane ADR (R014, in progress) in the public ADR directory.

Open-core: what is open, what is closed

Paramant follows the open-core model used by HashiCorp, GitLab, Elastic and Sentry: the software you run is open; the service operating it is not.

Open — BUSL-1.1, public on GitHub Live

View the public repository →

Closed — operated privately by Paramant

The protocols are public; only our implementation of the server side is private — the same way GitLab keeps its operations private while its core stays open. Because the protocol and the client are open, you can audit exactly what your relay says to us and what it accepts back.

The open-core split is documented in the open-core ADR (R016) in the public ADR directory.

Independent verification

Three external security audits in April 2026 reviewed the relay code; the findings and patch timeline are on the security page. A further external review of the v3.0.0 and open-core architecture is planned; results will be published there when complete.

If you are running your own audit, the public surface — relay, SDKs, frontend and the protocol specifications — is enough to verify every claim on this page for yourself.

Questions

Security reports and questions: privacy@paramant.app. For sensitive material, our PGP key and full policy are in security.txt.

General questions: privacy@paramant.app.

Commercial and license questions: see pricing or email hello@paramant.app.