Brainstorming Artifact

Discussion

Turn initial request into clear direction

Step Ledger

Step Name Status Evidence
02 Frame + Spec quality done Feasibility: Pass, Correctness: Pass-with-gaps, Capability: 1 gap
03 Scope + options done Scope defined, 3 options compared
04 Recommend + handoff done Chose Option A, handoff to business-analysis

Executive Summary

Charts

sequenceDiagram
    participant U as User
    participant S as System
    participant E as Email Service

    U->>S: Request change password (email)
    S->>S: Validate email exists
    S->>S: Generate 6-digit OTP
    S->>E: Send OTP to email
    E-->>U: Receive OTP email
    U->>S: Submit OTP + new password
    S->>S: Verify OTP (5-min expiry)
    S->>S: Update password
    S-->>U: Success notification

Goal & Outcome

Goal

User with email in system can reset password by receiving OTP via email and verifying within 5 minutes, with 0 security breaches in production.

Outcome

Context

Facts

Constraints

Constraint Source
Timebox: 2 days (Sprint 24, commit by Aug 10) user
Stack: Python 3.11, FastAPI, PostgreSQL 15 repo
Security: OTP must comply with OWASP ASVS v4.0 §3.2 user
No SMS gateway available (email only) repo

Assumptions

Assumption Risk Confirmed
Email delivery <30 seconds in production Medium Yes (tested with 100 emails, avg 12s)
User has access to email account Low Yes (confirmed with PM)
OTP expiry 5 minutes is acceptable Low Yes (matches industry standard)

Issues & Decisions

Issue Triage

ID Issue / Question Severity Blocking? Status Resolution
ISS-001 OTP expiry time: 5 minutes or 10 minutes? Medium No Answered User chose 5 minutes (industry standard)
ISS-002 Lockout duration: 15 minutes or 30 minutes? Low No Answered User chose 15 minutes

Spec Quality

Scope

In

Out

Non-goals

Options & Recommendation

Options Comparison

Option Pros Cons Effort Risk
A — Email OTP only Lowest effort, existing infrastructure, meets requirement User needs email access 2 days Low
B — Email + SMS OTP User has 2 channels, higher success rate Needs SMS gateway (not available), higher effort 5 days Medium
C — TOTP app Strongest security, no delivery delay User needs to install app, UX friction 8 days High

Recommendation

Confidence: High

Not choosing: Option B (high effort, needs SMS gateway), Option C (UX friction, highest effort)

Risks

Risk Impact Mitigation
Email delivery delay >30 seconds User frustration, retry requests Monitor email queue, alert if avg >30s
User doesn't receive email (spam folder) Flow blocked, support tickets Add "Check spam folder" message, resend button
OTP brute force attack Account compromise Rate limit 3 requests/minute, 6-digit OTP (1M combinations)

Handoff

Next skill: business-analysis Why: Need detailed spec (API endpoints, screen design, AC details) for development