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":"53265ff68aff52e0de3fd5fe147b7d3f282c04c556ef435e8b4e0557030fb324","actionTitle":"Promote @opsbot to Workspace Owner · acme-ai-labs.slack.com","actionType":"admin_promote","actorHandle":null,"externalReference":null,"organizationSlug":null,"signatureSlug":"mnav_sig_apqJOOoSbx_6","signedAt":"2026-06-02 11:24:54"}
Action payload hash · SHA-256 of the canonical action payload
53265ff68aff52e0de3fd5fe147b7d3f282c04c556ef435e8b4e0557030fb324
Server signature · HMAC-SHA256 over canonical JSON above
686a223b4ba0b9b85060791a23d8776877446ca70155cb029168909c788bb9db
Recompute it yourself
$ printf '%s' '{"actionPayloadHash":"53265ff68aff52e0de3fd5fe147b7d3f282c04c556ef435e8b4e0557030fb324","actionTitle":"Promote @opsbot to Workspace Owner · acme-ai-labs.slack.com","actionType":"admin_promote","actorHandle":null,"externalReference":null,"organizationSlug":null,"signatureSlug":"mnav_sig_apqJOOoSbx_6","signedAt":"2026-06-02 11:24:54"}' \
| openssl dgst -sha256 -hmac "$MANAV_SERVER_SIGNING_SECRET" -hex
$ # expected: 686a223b4ba0b9b85060791a23d8776877446ca70155cb029168909c788bb9db