Grantiva signs attestation JWTs with RS256. Fetch the public key set from the standard JWKS endpoint to verify tokens on your backend — see Backend Verification for a full walkthrough.
Responses include Cache-Control: public, max-age=3600. Cache the key set and honor the header — keys change only on rotation. Standard JWT libraries (jwks-rsa, PyJWKClient, etc.) handle this automatically.