Skip to content

Quality Requirements

This document expands on the Quality Requirements outlined in the SRS (Section 4.1.1), providing concrete justifications based on implementation decisions made in the AT-AT system.


  • JWT-based authentication ensures secure session management and identity validation.
  • Role-Based Access Control (RBAC) prevents unauthorized access to scanning, reporting, and administrative features.
  • Supabase integration handles secure user registration and encrypted password storage.
  • Environment variables protect credentials and service keys (e.g., Supabase URL, secret keys).
  • Scan isolation prevents user-submitted APIs from interfering with internal services.

  • Efficient scan execution ensures vulnerabilities are flagged quickly using heuristic logic.
  • The Python backend is optimized for response time with time-limited scan jobs (default: 60 seconds).
  • Frontend uses async fetch patterns to avoid blocking the UI during scans and report generation.
  • Load time is minimized via lazy-loaded React components and route-based splitting.

  • Modular architecture allows frontend, API, and backend components to be deployed independently.
  • Containerization (Docker) makes it easy to scale services across development and production environments.
  • Stateless backend services can be replicated for load balancing and horizontal scaling in cloud environments.

  • Separation of concerns between UI, logic, and processing layers improves code readability and update frequency.
  • GitHub Actions automate linting, testing, and deployments to reduce manual errors.
  • Clear service contracts enforce consistent API behavior across updates.
  • Typed JSON structures and standard responses improve developer onboarding.

  • Error handling middleware in API and backend layers ensure consistent failure responses.
  • CI/CD pipelines verify code correctness before deployment.
  • Logging (planned) will allow better issue tracing and user accountability in production.

  • The system should be accessible with minimal downtime.
  • Container-based architecture enables rapid service recovery and restart.
  • Stateless service design supports fault-tolerant deployment in cloud environments.

  • The system should behave as expected and detect threats accurately.
  • CI tests and validation logic in the backend enforce correct operation.
  • Service contracts and clearly defined request/response formats reduce implementation ambiguity.

  • Minimal, consistent UI design with feedback for all user actions (scan start, success/failure, logout).
  • Responsive design supports multiple device sizes and platforms.
  • Clear system messages and prompts improve accessibility and reduce user error.

  • Cross-platform development via Docker containers ensures that the system behaves identically on local, testing, and production machines.
  • Environment variable usage enables quick switching between local, dev, and production settings.

Quality AttributeApproach
SecurityJWT, RBAC, Supabase, .env
PerformanceAsync fetch, time-limited scans
ScalabilityDocker + modular services
MaintainabilityLinting, CI/CD, contracts
ReliabilityError handling + testing
AvailabilityStateless containers + cloud support
CorrectnessInput validation + CI
UsabilityResponsive UI, feedback
PortabilityDocker + environment switching