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