Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All of v2.1.224 Home All releases olderv2.1.223 v2.1.225newer

Sandbox credential masking gains JWT handling, per-claim masking and AWS SigV4 re-signing

Use it now
Useful3 Signal4
Sandbox Notable

Sandbox credential masking can fake JWTs, mask single claims, and re-sign AWS requests after swapping keys.

sandbox.credentialsdecodemaskClaimsawsPairssigv4
What

Credential entries under sandbox.credentials can now use decode: "jwt" to swap a real token for a structurally valid fake so client-side parsing still works, and maskClaims to mask only named claims and rebuild the token. A new awsPairs setting groups masked environment variables into access-key, secret and session-token trios so the proxy can re-sign AWS SigV4 requests, and a new sigv4 block sets deny or passthrough policy for streaming uploads, presigned URLs and SigV4A.

Details
  • For environment variables, combining decode with extract, or with a fail-closed onExtractNoMatch, is rejected at validation time.
  • SigV4A signatures are asymmetric, so there is no shared key to recompute; the sigv4 block decides what happens to them.
  • awsPairs and sigv4 are only honored from user settings, managed/policy settings, or the CLI --settings flag, and are now forwarded into the proxy's credential block.
  • At startup, a masked environment variable whose name uses the reserved synthesized-placeholder prefix produces a warning and degrades to deny.
Evidence

Policy for SigV4A (AWS4-ECDSA-P256-SHA256) asymmetric signatures: there is no shared-key HMAC to recompute., awsPairs

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

See this entry in the whole of v2.1.224 →