Files
goclaw/migrations/000021_paired_devices_expiry.down.sql
viettranx 0b5124a8f1 fix(security): harden pairing auth — fail-closed, rate-limit, TTL
- Change WS pairing check from fail-open to fail-closed on DB error
  (router.go: previously granted RoleOperator on any IsPaired() error)
- Add "browser" to InternalChannels so it's properly excluded from
  outbound dispatch without ad-hoc helpers
- Rate-limit browser.pairing.status endpoint to prevent sender_id
  enumeration (reuses server RateLimiter via PairingMethods injection)
- Add expires_at column to paired_devices with 30-day TTL for
  defense-in-depth; IsPaired() now checks expiry, ListPaired() prunes
- Add confidence_score column to team_tasks, team_messages,
  team_task_comments
- Bump RequiredSchemaVersion to 21
2026-03-16 19:55:08 +07:00

5 lines
261 B
SQL

ALTER TABLE paired_devices DROP COLUMN IF EXISTS expires_at;
ALTER TABLE team_tasks DROP COLUMN IF EXISTS confidence_score;
ALTER TABLE team_messages DROP COLUMN IF EXISTS confidence_score;
ALTER TABLE team_task_comments DROP COLUMN IF EXISTS confidence_score;