One-time audit of server/ for the class of pattern that produced the bug in PR #474: code branches on hardcoded org IDs, queue UUIDs, integration IDs, or production URLs that should be deployment config.
Method
Grep / AST scan for:
- Literal UUID strings outside test/seed paths
if (orgId === '...') / if (queueId === '...') / if (...includes(orgId)) patterns
- Hardcoded production URLs (
*.cybertip.org, *.googleapis.com, etc.) outside the integration plugins/config
- Allowlists of any kind in service code
Output
For each finding:
- Comment on this issue with location + current behavior
- Convert to env var / config table / org settings as appropriate
- Add a test that the surface stays config-driven (per the env contract test pattern)
Motivation
PR #474 was a single instance. Likely there are more — Coop was a closed-source SaaS before going OSS, and the assumptions of one tenant don't translate to N self-hosted deployments. Doing this once now is much cheaper than catching them one-by-one in the field.
Related
One-time audit of
server/for the class of pattern that produced the bug in PR #474: code branches on hardcoded org IDs, queue UUIDs, integration IDs, or production URLs that should be deployment config.Method
Grep / AST scan for:
if (orgId === '...')/if (queueId === '...')/if (...includes(orgId))patterns*.cybertip.org,*.googleapis.com, etc.) outside the integration plugins/configOutput
For each finding:
Motivation
PR #474 was a single instance. Likely there are more — Coop was a closed-source SaaS before going OSS, and the assumptions of one tenant don't translate to N self-hosted deployments. Doing this once now is much cheaper than catching them one-by-one in the field.
Related