Security Review

Round 2 · FlowDeck and Cloud Console · 19 Oct 2026

Verdict: no critical issues; one high. Database queries are safe in both apps, and the job tokens passed between FlowDeck and Cloud Console are checked properly. The new issues are an account-recovery gap, a few support-access edge cases in FlowDeck, Cloud Console's shared usage limits, and the deploy setup shared by both apps.

This page leaves out file locations, endpoints, parameters and reproduction steps on purpose. The full report is kept off the web.

0 criticalin either app
2 high1 new · 1 from round 1, raised
1 fix in progress · 1 owner action
16 medium14 new · 1 from round 1, raised
13 fixes in progress · 3 owner actions
37 low25 FlowDeck · 9 Cloud Console · 3 shared
most being fixed in the same branches

On this page

What happens next

  1. In progress now: five fix branches, three for FlowDeck and two for Cloud Console. Each fix comes with a regression test, and each branch gets a security review before it is merged.
  2. Owner, this week: narrow the deploy token's permissions, limit what can write to Cloud Console's database, remove old deployments of the pre-migration app, and check the live privacy text.
  3. This sprint: the remaining medium and low items.
  4. This quarter: enforce the content security policy, add a general rate limit for signed-in requests, use a least-privilege database role, use separate keys for each purpose, and add one access test per route, generated from the API description.
  5. Process: static analysis and dependency checks in CI, security alerts for refused and rate-limited requests, a security checklist in pull requests, and key rotation dates.

High

IDs starting with R2- are new this round; the others are from round 1.

IDSeverityAreaFindingStatus
R2-FD-AUTH-1HighFlowDeck sign-inAccount recovery leaves earlier sign-in credentials workingFix in progress
FD-011HighDeployA deploy token can reach more than it needs, including the other appOwner action, raised

Medium

IDSeverityAreaFindingStatus
R2-FD-AUTH-2MediumFlowDeck accountChanging one's email asks for no proof of identityFix in progress
R2-FD-AUTH-3MediumFlowDeck rate limitsSome network address ranges are not grouped for rate limitingFix in progress
R2-FD-AUTHZ-1MediumFlowDeck AIA cached AI answer can show cards to people who cannot open themFix in progress
R2-FD-AUTHZ-2MediumFlowDeck support accessA support set-up exception does not expireFix in progress
R2-FD-AUTHZ-3MediumFlowDeck support accessA board moved between teams keeps its outward linksFix in progress
R2-FD-AUTHZ-4MediumFlowDeck teamsSite admins' own team role is not appliedFix in progress
R2-FD-AUTHZ-5MediumFlowDeck email-inEmail-in ignores per-board access limitsFix in progress
R2-FD-PRIV-1MediumFlowDeck privacyThe privacy text promises deletion that the app does not doWording fix queued
R2-FD-INFRA-1MediumHostingOld deployments of the pre-migration app may still be reachableOwner action
R2-CC-QUOTA-1MediumCloud Console limitsOne key or one member can use up a shared daily allowanceFix in progress
R2-CC-QUOTA-2MediumCloud Console limitsSigned-in changes have no per-person budgetFix in progress
R2-CC-QUOTA-3MediumCloud Console retriesFailed retries are not counted against any limitFix in progress
R2-CC-QUOTA-4MediumCloud Console storageNo per-project count caps, so storage can fillFix in progress
R2-X-1MediumFlowDeck deployDeploy tools are installed without a lockfile in a privileged stepFix in progress
R2-X-2MediumJob tokensDatabase write access could stand in for a signing keyFix in progress
CC-027MediumDeployBoth apps' deploy keys share one storeOwner action, raised

Low

IDSeverityAreaFindingStatus
FlowDeck (25)LowVariousInput checks on dates and email addresses, links in emails, export logging, support-access edge cases, invitation and ownership races, rate limits on public links, timeouts on outbound calls, rich-text cleaning, policy hosts, security loggingMostly in progress
Cloud Console (9)LowVariousAlert recipients checked when alerts are sent, passkey edge cases, unsubscribe links, warning-queue fairness, deploy rebuild check, security alertsMostly in progress
Shared (3)LowJobsJob payload binding, the FlowDeck key's permissions, and noticing when the console is downPartly in progress

Round 1, re-checked

Scope and method