Unrestricted Access to Sensitive Business Flows
Amir receives the architecture design from James and breaks it down into implementable user stories for the development team. The stories are estimated, prioritized, and assigned for the upcoming sprint.
As a banking customer, I want to submit a complaint through the online portal so that I can report issues with my banking services.
Acceptance Criteria:
As a system, I want to verify that the user is human by presenting a math-based CAPTCHA challenge before allowing complaint submission.
Acceptance Criteria:
As a backend developer, I need to create a POST /api/Feedbacks/ endpoint that processes complaint submissions and stores them in the database.
Acceptance Criteria:
Notice that the acceptance criteria focus entirely on functional correctness — does the form work? Does the CAPTCHA validate? Does it store in the database? But there's nothing about abuse prevention. No mention of CAPTCHA invalidation after use, no rate limiting, no replay detection. A developer implementing these stories exactly as written would create a perfectly functional but completely vulnerable application.