Gateway Trust Model: Protect Internal Services and Service-Level Data #5
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This issue covers gateway trust boundaries and internal service authentication.
Problems:
Files:
Acceptance criteria:
Partial fix in commit
fcb9383Changes:
services/inventory/server.js: Added X-API-Key middleware, rejects 401 without keyservices/budget/server.js: Added X-API-Key middleware, rejects 401 without keygateway/server.py: Proxy injects INVENTORY_SERVICE_API_KEY and BUDGET_SERVICE_API_KEYgateway/dashboard.py: Dashboard fetchers inject API keysgateway/config.py: Added INVENTORY_SERVICE_API_KEY, BUDGET_SERVICE_API_KEYdocker-compose.yml: SERVICE_API_KEY env vars for both services + gatewayVerified:
Remaining:
Fixed in
4ecd233— Token validation uses protected endpoints. Trust model documented in docs/trust-model.md. Unknown services rejected.Completed in
7a7286a— SERVICE_LEVEL_AUTH renamed to GATEWAY_KEY_SERVICES. /debug-nocodb removed. NocoDB search sanitized (strips filter operators). Token validation uses protected endpoints per service type.Completed. Removed /test endpoint from inventory. Trust model doc rewritten with accurate per-user vs gateway-key distinction, known limitations documented. No remaining debug surfaces.