Manav signed the canonical JSON below with its server secret. Hash the JSON with HMAC-SHA256 using the MANAV_SERVER_SIGNING_SECRET and compare - if it matches, this proof is authentic.
Canonical proof JSON
{"actionPayloadHash":"a9b5c202274f0759347dc940151a490aeff5ea5b899e83a48eb6cea6810aa2d7","actionTitle":"Promote @opsbot to Workspace Owner · acme-ai-labs.slack.com","actionType":"admin_promote","actorHandle":null,"externalReference":null,"organizationSlug":null,"signatureSlug":"mnav_sig_BYwj1qqZ8lbG","signedAt":"2026-06-02 11:41:05"}
Action payload hash · SHA-256 of the canonical action payload
a9b5c202274f0759347dc940151a490aeff5ea5b899e83a48eb6cea6810aa2d7
Server signature · HMAC-SHA256 over canonical JSON above
170005293781bfb3e95562a6dc3b52fde76c3bca80a4f6f5b347fe57770b04d1
Recompute it yourself
$ printf '%s' '{"actionPayloadHash":"a9b5c202274f0759347dc940151a490aeff5ea5b899e83a48eb6cea6810aa2d7","actionTitle":"Promote @opsbot to Workspace Owner · acme-ai-labs.slack.com","actionType":"admin_promote","actorHandle":null,"externalReference":null,"organizationSlug":null,"signatureSlug":"mnav_sig_BYwj1qqZ8lbG","signedAt":"2026-06-02 11:41:05"}' \
| openssl dgst -sha256 -hmac "$MANAV_SERVER_SIGNING_SECRET" -hex
$ # expected: 170005293781bfb3e95562a6dc3b52fde76c3bca80a4f6f5b347fe57770b04d1