Audit Gap: Client-Side JWT Module 'create-a-jwt' Excluded from Security Review
A critical TypeScript module responsible for generating and displaying JSON Web Tokens (JWTs) was excluded from a recent security audit, creating a significant verification blind spot. The module, named 'create-a-jwt', powers the `/tokens` page but its source code was not part of the audit scope. This omission prevents auditors from confirming whether the application securely handles these sensitive bearer credentials, leaving a potential compliance and security risk unexamined.
The workflow on the `atr/get/tokens.py` page (lines 55-80) relies entirely on this unaudited module. When a user requests a JWT via AJAX, the 'create-a-jwt' TypeScript code handles the generation and displays the resulting token in a designated DOM element (`#jwt-output`), managed by a countdown timer. Because the client-side logic was not reviewed, core security properties remain unverified. Auditors cannot determine if JWTs are improperly persisted in browser storage mechanisms like `localStorage`, `sessionStorage`, or `IndexedDB` during or after the display period.
This gap directly impacts compliance with the Application Security Verification Standard (ASVS) 14.3.3, which mandates that bearer credentials like JWTs must not be stored client-side insecurely. The inability to inspect the module's memory management also means it's unclear if tokens are reliably purged from the DOM and system memory once the countdown expires. The finding highlights a procedural risk where critical client-side components can fall outside audit boundaries, potentially masking vulnerabilities that only a full-stack code review would uncover.