Skip to content

Fix/audit security#79

Merged
chrisjensen merged 5 commits into
mainfrom
fix/audit-security
Feb 26, 2026
Merged

Fix/audit security#79
chrisjensen merged 5 commits into
mainfrom
fix/audit-security

Conversation

@chrisjensen

Copy link
Copy Markdown
Member

Security enhancements after a review:

  • Encrypts JWTs and Keys stored in job queues
  • Obscure allowed origin in CORS

Chris Jensen added 5 commits February 26, 2026 12:59
Add AES-256-GCM encrypt/decrypt helpers to the Queue class.
When JOB_QUEUE_ENCRYPTION_KEY is set, private key material in
UpdateSessionKeys jobs and user tokens in NotifyReply jobs are
encrypted before being written to PgBoss and decrypted on consume.
The _encrypted flag is used to distinguish legacy unencrypted payloads.
Previously, any origin (including disallowed ones) was reflected back
as the Access-Control-Allow-Origin value when it didn't match the
allowlist. Now the header is only set when the origin is in the list.
The bulk remove handler was calling authorize with action 'create'
instead of 'delete', meaning the wrong capability was being checked.
Document the JWT-before-signature routing decision in blueskyFetch
and the authorDid-from-body pattern in session revocation, referencing
the security review findings for future readers.
@chrisjensen
chrisjensen merged commit 0b66491 into main Feb 26, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant