Skip to content

feat(notifications): implement high-risk finding alerting workflows and configuration UI#360

Closed
YerraguntaAjayKumar wants to merge 5 commits into
utksh1:mainfrom
YerraguntaAjayKumar:feature/notification-channels
Closed

feat(notifications): implement high-risk finding alerting workflows and configuration UI#360
YerraguntaAjayKumar wants to merge 5 commits into
utksh1:mainfrom
YerraguntaAjayKumar:feature/notification-channels

Conversation

@YerraguntaAjayKumar
Copy link
Copy Markdown

Description

This PR implements production-grade notification channels for high-risk and critical findings inside SecuScan as requested in #254.

Key Contributions:

  • Database Engine (backend/secuscan/database.py, models.py): Added SQLite schema migrations for notification_rules and notification_history tracking along with structured Pydantic schemas.
  • Service Layer (backend/secuscan/notifications.py, executor.py): Built an isolated background notification service. Implemented a 1-hour duplicate cooldown window for deduplication, payload routing (Webhook/Email placeholders), and strict metadata data redaction to isolate raw tokens or internal code snippets.
  • Frontend Panel (frontend/src/components/NotificationSettings.tsx, pages/Settings.tsx): Created a clean, responsive neo-brutalist alerting configuration interface tied directly into a centralized api.ts request pattern to eliminate lockfile or formatting churn.

Related Issues

Closes #254

Type of Change

  • New feature (non-breaking change which adds functionality)

How Has This Been Tested?

Implemented a comprehensive unit test suite inside testing/backend/unit/test_notifications.py ensuring successful route verification, failed network handling delivery states, data redaction assertions, and 3600-second token deduplication logic.

Checklist

  • My code follows the code style of this project.
  • I have performed a self-review of my own code.
  • I have commented my code, particularly in hard-to-understand areas.
  • My changes generate no new warnings.

@YerraguntaAjayKumar YerraguntaAjayKumar force-pushed the feature/notification-channels branch from 2faa38f to 0e608c6 Compare May 27, 2026 19:23
@YerraguntaAjayKumar YerraguntaAjayKumar changed the title refactor(frontend): migrate notificatiofeat(notifications): implement high-risk finding alerting workflows and configuration UIn settings to centralized API … feat(notifications): implement high-risk finding alerting workflows and configuration UI May 27, 2026
@utksh1 utksh1 added area:backend Backend API, database, or service work area:frontend Frontend React/UI work type:feature Feature work category bonus label level:advanced 55 pts difficulty label for advanced contributor PRs gssoc:invalid Admin validation: invalid for GSSoC scoring gssoc:ai-slop Admin validation: low-quality AI-generated submission labels May 28, 2026
@utksh1
Copy link
Copy Markdown
Owner

utksh1 commented May 28, 2026

Closing this one as invalid for now. The notification feature is extremely large and not reviewable in its current shape; the new notifications.py file contains massive whitespace/churn, formatting-hygiene is failing, and the implementation needs to be split into smaller backend/API/frontend/test PRs before it can be safely reviewed. Marked gssoc:invalid and gssoc:ai-slop because the submitted code quality is not acceptable for merge.

@utksh1 utksh1 closed this May 28, 2026
@Pragati5-DEBUG
Copy link
Copy Markdown
Contributor

Hi @utksh1,

I saw #360 was closed. I want to help on #254, but in small PRs.

Can I start with only database tables + models first (no UI, no alerts yet)?

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:backend Backend API, database, or service work area:frontend Frontend React/UI work gssoc:ai-slop Admin validation: low-quality AI-generated submission gssoc:invalid Admin validation: invalid for GSSoC scoring level:advanced 55 pts difficulty label for advanced contributor PRs type:feature Feature work category bonus label

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] Add notification channels for high-risk findings

3 participants