Verify a RegBase signed record

RegBase — Japan Company Verification API · in-browser digital-signature check (Ed25519)

Every record the RegBase API issues is a JSON document signed with a digital signature (the Ed25519 method — a mathematical stamp from the issuer). This page checks that signature entirely in your browser, using the browser's built-in cryptography functions (the WebCrypto API) and RegBase's published checking key (the public key). Nothing you paste is uploaded anywhere — verification never leaves this page. (Fetching a fresh record is the only network call, and it goes to the same public API anyone can call.)

What a valid signature proves: this exact record was issued by the holder of the RegBase signing key, and not one byte of it has changed since. What it does not prove: that the claims inside are true. Each claim names its source dataset and as-of date so you can judge the evidence yourself. A signature attests issuer + integrity, never truth.

Signing key — algorithm Ed25519 · key_id 9f01575a05050b62
Public key (raw, base64): LZJcl0wBWsorubi6uzz6J67HNZhiIhl0G/Lay+iMLK0=

1 · Get a record

…or paste any record JSON into the box below. The record shown initially is a real one, fetched from the live API, so this page opens with a genuine verification — not a mock-up.

2 · Check it

Try it: press Tamper and verification fails. Edit any character by hand — a name, a digit, a date — and it fails the same way. That is the point of the signature: the smallest change is detectable, by anyone, with nothing but this public key.

How it works

The signed payload is the record without its signature block, serialised as JSON with object keys sorted recursively, compact separators, UTF-8, no trailing newline — byte-for-byte the same canonical form the API signs (and the same form its own POST /verify endpoint checks). The result is verified locally in the page's code. Error names below mirror the API's: RECORD_MALFORMED, UNSUPPORTED_ALGORITHM, KEY_ID_MISMATCH, SIGNATURE_INVALID.