Guide 059 workflow

How to give developers a short security worklist

Give developers a short daily security worklist with ready actions, precise blockers and review handoffs, while preserving unfinished commitments during interruptions.

Give developers a short security worklist that answers what can I do next, why does it matter, and what will make this item complete? The manager has already selected work and reserved capacity. The daily list should expose each developer's next ready action, preserve blocked work with its dependency owner, and make the relevant evidence available without making the developer read a full report before starting.

This worklist can be implemented as a filtered view in an ordinary issue tracker. Use the weekly-queue guide for the earlier allocation decision. Here the job is to make that commitment usable on Tuesday morning.

Open the item with the information that changes the work

Constructed day-in-the-life: Larch CRM has selected an approved export authorization repair, a separate Identity-team session repair and one renderer investigation. Nina is the Exports developer. She should not receive all three as indistinguishable “security tasks”: she owns the export change, lacks responsibility for Identity's code, and the renderer claim is not ready for repair.

Nina's first expansion of the export item shows:

Problem: A signed-in user can obtain an export belonging to another account through the reviewed direct-download path.

Why it matters: The response can contain private customer report data. Using the path requires a valid export identifier and ordinary account access; no observed misuse is claimed.

Next action: Change direct-download key resolution so the object delivered belongs to the account authorized by trusted caller context. Start at the Exports-to-Documents call shown in evidence EX-31.

Completion: Supply the new revision, affected callers, proposed authorized/foreign-account checks and release mapping to the assigned reviewer. This consequential cross-account repair receives independent review under the example team's policy. Merge is a handoff for verification, not automatic closure.

Below that summary, Nina can expand the exact handler, call contract, current evidence revision and counterevidence. The permissioned record does not require private source to be copied into a broadly visible worklist. If she cannot access the necessary evidence, the card provides a named coordinator; it does not invite her to request access to every repository.

The rule is specific enough to guide a repair but leaves implementation choice to the owner. OWASP's Authorization Cheat Sheet supports checking authorization for the requested resource; Nina still needs the real service contract to decide where that check belongs.

Show the next action, not every historical status

At 09:00 Nina's daily list could be three rows:

Item State and next action What Nina needs to see now
EX-31 export ownership repair Ready: inspect the Documents call contract before editing Plain-language effect, exact caller, expected account rule, evidence link
EX-22 prior repair Evidence requested: attach new release manifest for independent reassessment Requested artifact and reviewer; no instruction to approve her own fix
EX-18 deferred legacy cleanup Deferred by manager; no action today Reason, decision owner and reconsideration date; full backlog remains available

Identity's approved session repair stays with its owner. The renderer investigation has its own evidence owner and question. Their existence can be visible in a permitted team summary without turning them into Nina's to-do list. A daily list is a view of responsibility, not a new vulnerability-count definition.

Let the developer return a blocked task precisely

At 09:25 Nina finds that the linked service contract is older than the pinned caller. The approved finding's evidence still supports the defect, but she cannot safely choose the new interface until Documents confirms the current account-bound method and its caller requirements. The card should distinguish the contract used to establish the original defect from the newer repair contract being requested; a stale implementation link must not quietly undermine the original evidence. “Blocked by security” would lose the actionable fact. She returns this message:

EX-31 is blocked for implementation, not technically rejected.
Need: Documents' current account-bound key-resolution contract at the release in EX-31.
Why: old interface accepts only exportId; guessing an account parameter could preserve
     the wrong authority source or break existing callers.
Requested owner: Documents service lead, coordinated by Exports manager.
Decision needed by: today 14:00; otherwise manager changes tomorrow's commitment.
What I can do now: prepare the caller inventory and supply EX-22's release manifest.

The manager acknowledges the dependency and contacts Documents. Nina does not grant herself a new risk exception or silently select another team's high-severity issue. EX-31 remains approved open with an implementation blocker. Her list now brings EX-22's ready evidence action to the top; it does not hide EX-31 below dozens of new alerts.

At 13:00 Documents supplies a contract requiring server-derived account context and an export ID. Nina spots a new question: can an old batch caller omit that context? That caller belongs to the proposed repair's compatibility review. She lists it before choosing a patch rather than declaring a second vulnerability from the method signature alone. The reviewer confirms the intended authority for both callers, and the service lead accepts the required interface work. The card's next action changes to “update direct-download caller and the named batch adapter using their respective trusted account sources.” The old dependency request remains in history.

Move from implementation to evidence without losing the owner

Nina opens the repair PR and attaches a compact handoff:

Evidence field Filled entry for the exercise
Candidate New immutable caller and service revisions, linked in EX-31
Intended change Account context is required; no fallback to an unrestricted read
Callers addressed Direct download and the named batch adapter; consumer inventory attached
Proposed checks Own-account export delivered, foreign export denied, missing context denied; legitimate batch policy preserved
Deployment Not yet released; manifest requested from release owner
Next owner Independent reviewer assesses the paths; release owner supplies artifact binding

These are proposed validation steps and supplied artifact descriptions, not checks executed for this article. After merge, the daily item changes to awaiting reassessment/release evidence. Nina can respond to review comments, but she cannot honestly mark the deployed issue fixed before the reviewer and release evidence support that state. NIST's SSDF places vulnerability response within development; this handoff is one local way to keep that response accountable.

If reassessment finds the batch adapter still drops account context, the card returns with that exact failed invariant and revision. It should not reset to an anonymous scanner title. If deployment is delayed, the original risk remains visible even though Nina's coding subtask is done.

Design the list for interruption and resumption

Nina's workday will not remain in the order shown at 09:00. A production incident, review reply or new dependency can interrupt the repair. The daily view should make resumption cheap: show the last completed action, the next unresolved decision and the current evidence revision. A title and a severity badge cannot tell her whether she was inspecting the caller, waiting for Documents or preparing the release handoff.

At 15:00, imagine Nina is reassigned to a service outage. Before switching, she records that the direct-download caller has been updated in a draft revision, the batch adapter still needs the accepted account-source change, and no verification conclusion has been made. The manager then sees an interrupted implementation task, not a completed fix or an unexplained stalled card. When Nina returns, she can resume from the unfinished adapter work without relying on private notes or memory.

A compact personal view can use these fields:

Field Why it helps Nina resume What belongs in the deeper record
Current action Names the next operation she can perform Full technical rationale and alternatives
Last meaningful update Shows what changed since she last looked Complete discussion history
Waiting on Identifies a person and requested artifact Dependency negotiation and scheduling details
Candidate revision Prevents replies about the wrong implementation Revision history and prior review evidence
Completion handoff Makes the next owner and evidence request visible Detailed verification and rollout record

The view should not expose additional private source merely to save a click. A short description and permissioned link can be enough. If Nina's access is insufficient, the access request becomes a concrete dependency with an owner. Copying sensitive evidence into the worklist to bypass that dependency creates a different problem and can make the record harder to maintain.

Handle a changed priority without silently rewriting a commitment

Suppose the manager asks Nina to stop EX-31 and address a newly supported, more urgent export defect. Record the allocation change, the person making it and the remaining state of EX-31. Its risk does not disappear because it leaves today's active slot. Its dependency and next review time remain visible to the person responsible for the backlog.

Nina should be able to acknowledge the switch with one clear response: “I have paused the adapter change at this candidate revision and will take the new export repair next.” The manager can then verify that another owner has any time-sensitive EX-31 follow-up. This avoids a common failure in small lists: shrinking the display by hiding unfinished obligations instead of making an explicit scheduling decision.

A developer can also propose a change when the selected task is not ready. If Documents has not supplied the required contract by the agreed time, Nina can identify a ready evidence task or another allocated repair. The manager decides how to use the available capacity. The worklist should support that discussion without requiring Nina to rank every security issue in the organization.

Check whether the small view creates useful movement

Use a few representative days to inspect where time was lost. Count how often a developer opened an item but could not identify the next action, how often the linked evidence was inaccessible, and how often a supposedly ready task depended on an unaccepted request. These observations diagnose the list's usability; they are not measures of vulnerability severity or developer competence.

Read blocked items with their owners. A row that says “waiting” for several days may need a new dependency owner, a smaller evidence request or an explicit decision to defer the repair. Reordering it every morning will not solve any of those problems. Likewise, a card repeatedly returned after implementation may have an unclear completion rule rather than an unproductive author.

Keep the worklist small by moving completed subtasks into history while retaining open review and release actions with their actual owners. Nina's coding task can finish, Documents' interface task can finish later, and the release evidence can remain outstanding. The shared issue record holds those relationships. The personal list shows only the action Nina can perform now, plus the commitments she needs to understand before accepting more work.

Make the daily view earn its small size

Review the list with the developer after one working day. Could they find the changed path? Did a blocker identify a person and an artifact? Could they distinguish their own work from another team's? Did the verification handoff preserve what remained open? Those answers are more useful than an arbitrary limit of three or five cards.

Keep the full approved backlog, investigations and history accessible to authorized people. The daily list can stay small because each row has a current action and an owner. Use the fix-ticket guide for the deeper implementation record and the ownership-routing guide when no one can accept the missing dependency.