mirror of
https://tangled.org/evan.jarrett.net/at-container-registry
synced 2026-11-08 04:22:06 +00:00
getQuota was public, so anyone could look up any user's storage usage and plan tier by DID. It now sits behind requireAuth and returns 403 unless the service token's issuer is the userDid being asked about. Every appview caller sends the user's service token for the hold: the push gate reuses the token the push already minted (and still fails open if it can't get one), the quota webhook event carries the push's token, and the storage settings panel fetches one for the signed-in user. Deploy the appview before the hold. An old appview against the new hold gets 401s: the push gate fails open and the storage panel shows an error. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>