A useful security checklist identifies what must be protected, what could go wrong and what evidence is needed before release. It does not certify that an application is secure. The right depth of assessment depends on the application’s data, users, exposure and consequences of failure.
Business owners do not need to inspect every line of code, but should know who owns the controls and how they have been tested. Ask for concrete evidence, defined limitations and a way to address findings.
Establish the scope and the data
List the public pages, authenticated journeys, administration tools, APIs, scheduled tasks and external integrations. A review of the main interface alone can miss a document export or background process handling the same sensitive data.
Identify information types and where copies exist. Production databases, backups, logs, analytics services and test environments can all matter. Decide which systems are critical and which accounts can change them.
Record who is authorised to test and the boundaries of that testing. Independent assessments need explicit scope and permission. Do not direct testing at suppliers or customer systems without appropriate authorisation.
Check account and recovery journeys
Authentication asks who the user is. Review registration, sign-in, password recovery, account changes and session handling together. Weak recovery can undermine a strong sign-in process.
Ask whether privileged accounts use suitable additional protection and whether automated guessing is addressed. Avoid designing a custom password system casually when a well-supported identity service could meet the requirements.
The OWASP authentication guidance provides technical recommendations for these journeys. Agree which controls are relevant and how developers will demonstrate them. A statement that a library is used is not the same as evidence that the application configuration is correct.
Test permissions beyond the interface
An application must enforce access rules where requests are processed. Hiding a button does not stop a user sending a request manually. Test ownership boundaries, organisation boundaries and privileged actions.
Useful scenarios include a user accessing another customer’s record, a former administrator reusing an old session and a document URL remaining accessible after permission is removed. Check exports and file downloads as well as ordinary screens.
The OWASP authorisation guidance is a reference for least privilege and request-level controls. Apply its principles through requirements and tests that match your actual business roles.
Review input and output handling
Applications receive untrusted information through forms, URLs, imports, APIs and uploaded files. Ask how the software validates expected formats and prevents unsafe interpretation of input.
Different contexts require different controls. A database operation, an HTML page and a command-line process do not share one universal “sanitisation” solution. Ask developers to use established safe patterns for the relevant technology rather than improvising a generic filter.
File uploads deserve separate attention. Define acceptable types and sizes, storage permissions, processing behaviour and how suspicious content is handled. Error messages should help legitimate users without exposing internal implementation details.
Protect secrets and dependencies
API keys and service credentials belong in appropriate server-side configuration. They should not be embedded in frontend JavaScript, committed to a repository or copied into screenshots and support tickets.
Keep an inventory of important packages and external services. Decide who reviews security updates and how changes are tested before release. A vulnerability scan can identify known issues, but cannot establish that the whole application is safe.
The NCSC guidance on maintainable code and repository protection provides useful background. Limit development and deployment access to the people and systems that need it.
Make monitoring and recovery practical
Define which events should raise concern: repeated failed sign-ins, unexpected permission changes, background-job failures or unusual exports. Logging should have a purpose, an access policy and a retention policy.
Avoid recording passwords, tokens or unnecessary personal data. A diagnostic system should not become a less-protected copy of the main application.
Backups need documented restoration checks. Establish recovery priorities and an incident contact route. The business should know who can disable a compromised account, rotate a key or stop an unsafe integration without waiting for one unavailable person.
Use an evidence-based release checklist
| Area | Ask for | Owner to identify |
|---|---|---|
| Accounts | Results for sign-in and recovery tests | Application owner |
| Permissions | Cross-user and cross-organisation test cases | Development lead |
| Dependencies | Review of relevant known vulnerabilities | Maintenance owner |
| Secrets | Storage and rotation arrangements | Infrastructure owner |
| Recovery | A documented restore exercise | Operations owner |
| Findings | Severity, remediation and retest status | Project decision-maker |
Use these categories as a conversation starter. They do not replace a threat model, specialist assessment or sector-specific requirements.
Distinguish testing from guarantees
Functional testing checks that expected tasks work. Security testing examines ways controls can be bypassed or misused. Automated checks, code review and specialist testing offer different kinds of evidence and have different limitations.
A report should identify the assessed version, environment, scope, methods, findings and exclusions. A clean result only describes what the assessment established within those conditions. Changes after testing may require further review.
Prioritise the next action
Start with exposed high-impact weaknesses, assign owners and agree a remediation date appropriate to the risk. Retest important fixes and retain a record of the decision. Do not turn the checklist into a one-off document that is forgotten after launch.
Explore Flowzelo’s application security and QA service to scope a review with clear deliverables. Any specialist testing, assurance claim or ongoing support arrangement must be agreed explicitly.
Last reviewed: . Guidance is general; project requirements and platform behaviour should be checked for your circumstances.
Explore the related Flowzelo service →