Web Interface and Features
SecuScan — Web Interface and Features
Web Interface and Features
<h2 id="bkmrk-web-interface-and-fe">Web Interface and Features — SecuScan v0.28.0</h2>
<h3 id="bkmrk-overview">Overview</h3> <table id="bkmrk-aspectdetail-framewo"> <thead><tr><th>Aspect</th><th>Detail</th></tr></thead> <tbody> <tr><td><strong>Framework</strong></td><td>Next.js 14 (App Router), TypeScript, React</td></tr> <tr><td><strong>Internationalization</strong></td><td>Bilingual FR/EN via next-intl (37+ converted files)</td></tr> <tr><td><strong>Routes</strong></td><td>59+ routes covering all features</td></tr> <tr><td><strong>UI</strong></td><td>Dark/light mode, responsive design, reusable components</td></tr> <tr><td><strong>Features</strong></td><td>Command palette (Cmd+K), global search, real-time notifications</td></tr> <tr><td><strong>Authentication</strong></td><td>NextAuth v5 (JWT + SSO Zitadel)</td></tr> <tr><td><strong>Data fetching</strong></td><td>TanStack Query (React Query) for caching and mutations</td></tr> <tr><td><strong>Tests</strong></td><td>121 vitest tests</td></tr> </tbody> </table>
<h3 id="bkmrk-interface-sections">Interface Sections</h3>
<h4 id="bkmrk-dashboard">Dashboard</h4> <ul id="bkmrk-overview-with-statis"> <li>Overview with statistics: active targets, recent scans, findings by severity</li> <li>Security trend charts</li> <li>Recent activity timeline</li> <li>Quick access to scans and critical findings</li> </ul>
<h4 id="bkmrk-targets">Targets</h4> <ul id="bkmrk-domain%2Fip-listing-an"> <li>Domain/IP listing and management</li> <li>New target creation with DNS validation</li> <li>Recurring scan scheduling (cron)</li> <li>Scan history per target</li> </ul>
<h4 id="bkmrk-network-scans">Network Scans</h4> <ul id="bkmrk-scan-launch-%28full%2C-q"> <li>Scan launch (full, quick, port_scan, vuln_scan, dns_audit, ssl_audit, web_audit, email_audit)</li> <li>Real-time progress tracking</li> <li>Detailed results per tool</li> <li>Results export</li> </ul>
<h4 id="bkmrk-findings">Findings</h4> <ul id="bkmrk-filterable-list-by-s"> <li>Filterable list by severity, category, status, source tool</li> <li>Detailed view with technical context for each finding</li> <li>Status update (open, in progress, resolved, false positive, accepted risk)</li> <li>AI batch analysis (up to 500 findings, automatic classification)</li> <li>CSV export</li> <li>CVE enrichment with NVD links and CVSS scores</li> </ul>
<h4 id="bkmrk-code-scanning">Code Scanning</h4> <ul id="bkmrk-git-repository-manag"> <li>Git repository management (GitHub, GitLab, Bitbucket)</li> <li>SSH key management (AES-GCM encryption)</li> <li>Code scan launch (8 phases, 103 functions)</li> <li>Scan list with application <strong>version</strong> column (v0.28.0)</li> <li>Scan detail with version + tag + gap indicator (VersionGapIndicator)</li> <li>Issue view by severity and category</li> <li><strong>False positive suppression</strong> (v0.28.0): mark an issue as false positive, accepted risk or won't fix</li> <li><strong>Suppression application</strong>: automatically apply existing suppressions</li> <li><strong>AI remediation report</strong>: Claude AI generation with markdown preview and download</li> </ul>
<h4 id="bkmrk-ai-pentest">AI Pentest</h4> <ul id="bkmrk-legal-test-authoriza"> <li>Legal test authorization management</li> <li>AI-assisted pentest launch (Claude AI + Temporal)</li> <li>Phase-by-phase progress tracking</li> <li>Finding review with exploitation evidence</li> </ul>
<h4 id="bkmrk-agents">Agents</h4> <ul id="bkmrk-deployed-agent-listi"> <li>Deployed agent listing with connectivity status</li> <li>System inventory (OS, packages, services, ports)</li> <li>AI-assisted vulnerability analysis</li> <li>Heartbeat monitoring</li> </ul>
<h4 id="bkmrk-reports">Reports</h4> <ul id="bkmrk-pdf-report-generatio"> <li>PDF report generation</li> <li>AI remediation reports in markdown</li> <li>CSV finding export</li> <li>Secure download with signed URLs</li> </ul>
<h3 id="bkmrk-administration-pages">Administration Pages</h3> <p id="bkmrk-accessible-only-to-u">Accessible only to users with admin role:</p>
<h4 id="bkmrk-admin-users">Admin Users</h4> <ul id="bkmrk-list-all-platform-us"> <li>List all platform users</li> <li>Role modification (user, admin)</li> <li>Status modification (active, suspended)</li> <li>Plan and per-user limits modification</li> </ul>
<h4 id="bkmrk-admin-tenants">Admin Tenants</h4> <ul id="bkmrk-list-all-tenants-pla"> <li>List all tenants</li> <li>Plan and limits modification</li> <li>Tenant suspension / reactivation</li> <li>Impersonation (login as tenant)</li> </ul>
<h4 id="bkmrk-admin-stats">Admin Stats</h4> <ul id="bkmrk-global-statistics%3A-u"> <li>Global statistics: user count, tenants, scans, revenue</li> <li>Growth charts</li> </ul>
<h4 id="bkmrk-admin-audit-logs">Admin Audit Logs</h4> <ul id="bkmrk-audit-logs-with-filt"> <li>Audit logs with filters (action, user, date)</li> <li>Sensitive operation traceability</li> </ul>
<h3 id="bkmrk-marketing-pages-%28pub">Marketing Pages (Public)</h3> <ul id="bkmrk-landing-page%3A-produc"> <li><strong>Landing page</strong>: Product presentation, key features</li> <li><strong>Pricing</strong>: Pricing plans (Free, Starter, Professional, Enterprise, Unlimited)</li> <li><strong>About</strong>, <strong>Contact</strong>, <strong>Legal</strong></li> <li>All marketing pages are bilingual FR/EN (next-intl)</li> </ul>
<h3 id="bkmrk-technical-frontend-f">Technical Frontend Features</h3> <table id="bkmrk-featureimplementatio"> <thead><tr><th>Feature</th><th>Implementation</th></tr></thead> <tbody> <tr><td>Command palette</td><td>Cmd+K for quick navigation and actions</td></tr> <tr><td>Dark/light mode</td><td>Toggle with localStorage persistence</td></tr> <tr><td>Real-time notifications</td><td>Polling with automatic updates</td></tr> <tr><td>Global search</td><td>Search across targets, scans, findings</td></tr> <tr><td>Pagination</td><td>Server-side pagination with TanStack Query</td></tr> <tr><td>Smart caching</td><td>React Query cache with automatic invalidation</td></tr> <tr><td>Error boundaries</td><td>Graceful error handling per section</td></tr> <tr><td>Loading states</td><td>Skeletons and loading indicators</td></tr> <tr><td>Responsive design</td><td>Mobile/tablet/desktop adaptation</td></tr> <tr><td>VersionGapIndicator</td><td>Parses git describe format (v0.27.12-3-gabcdef) and displays gap (v0.28.0)</td></tr> </tbody> </table>