Trust · Security

Security overview

How NumProof signs receipts, handles data, and works with security researchers. Every signed bundle is verifiable offline without our private key.

Template — pending legal review. This is an early-startup template provided for transparency. It is not final legal text and may change before formal review is complete.
Model

Signed receipts

Audit, diff, and covenant bundles are signed with an EIP-191 personal-message signature produced by a fixed NumProof signer address. The signature commits to the bundle contents, so any later tampering invalidates it.

PropertyDetail
SchemeEIP-191 (personal_sign) over the canonical bundle payload.
SignerA fixed, published signer address. Verifiers recover the address from the signature and compare it.
VerificationOpen and keyless via GET/POST /audit/verify in the browser or API.
Independence

Offline re-checking

A signed bundle carries everything needed to re-check it: the rows, the computed checks, and the signature. Anyone holding a bundle can recover the signer address and confirm integrity without calling NumProof and without our private key. Trust does not depend on us staying online.

Keys

Key rotation

The signer key is held in the service's secrets layer and is never exposed to clients. [Key-rotation policy placeholder — rotation cadence, overlap window for accepting prior signer addresses, and the published list of valid addresses to be finalized.] Previously issued receipts remain verifiable against the signer address in force when they were issued.

Handling

Data handling

Traffic is served over HTTPS. We collect the minimum needed to run the service; internal lookup identifiers — including API keys — are stored as sha256 hashes rather than plaintext. Webhook callbacks are restricted to HTTPS public targets, with private, loopback, link-local, and metadata destinations rejected before billing. Full detail is in the Privacy Policy.

Disclosure

Responsible disclosure

If you believe you have found a security vulnerability, please report it privately to security@numproof.com before disclosing it publicly. Include enough detail to reproduce the issue. We will acknowledge your report, keep you updated on remediation, and credit you if you wish.

Please give us a reasonable window to remediate before any public disclosure, and avoid privacy violations, data destruction, or service degradation while testing.

In scope

Scope

In scopeOut of scope
The NumProof API and hosted site (numproof.com).Third-party services (Google Cloud, Base, the USDC contract).
Signed-receipt forgery, auth/billing bypass, data exposure.Volumetric DoS, social engineering, physical attacks.
Webhook SSRF and request-handling flaws.Findings requiring a compromised client device.
Safe harbor

Safe harbor

We will not pursue or support legal action against researchers who make a good-faith effort to comply with this policy: who test only in-scope targets, avoid privacy violations and service disruption, and give us a reasonable time to respond before public disclosure. If in doubt about whether an action is authorized, ask us first at security@numproof.com.

A machine-readable contact is published at /.well-known/security.txt.