How sawqpoi52-droid/graduation-_project works
SecureCheck lets a user check an email or password for exposure, then supports reviewing and remediating discovered exposures, particularly on GitHub. The backend separates discovery, remediation actions, independent verification, and audit/state handling, with a database for persistent records. The frontend’s main screen composes checking and guidance components. The README is empty; several subsystem links rely on the supplied source index references, while unsampled behavior and runtime wiring are not inferred.
Main entry points: remediation.js Exposure API · crawler.js Exposure crawler · db.js Application database · App.jsx Check interface
Components 24
User experience
- Check interface
frontend/src/App.jsx - Email form
frontend/src/components/EmailForm.jsx - Removal assistant
frontend/src/components/ExposureRemovalAssistant.jsx - Security tips
frontend/src/components/SecurityTips.jsx - Password check
frontend/src/utils/passwordCheck.js
API and identity
- GitHub identity
backend/routes/auth.js - Exposure API
backend/routes/remediation.js - HTTP server
backend/server.js
Exposure discovery
- Exposure crawler
backend/utils/crawler.js - Occurrence classifier
backend/services/classifier.js
Remediation workflow
- Direct remediation
backend/services/laneA.js - History rewrite
backend/services/laneA2.js - Fork and pull request
backend/services/laneB.js - Report evidence
backend/services/laneC.js - Independent verifier
backend/services/verifier.js
Security and persistence
- Exposure state rules
backend/services/stateMachine.js - Audit logger
backend/services/auditLogger.js - Email protection
backend/utils/emailSecurity.js - PII cryptography
backend/utils/crypto.js - GitHub client
backend/utils/githubClient.js - Application database
backend/database/db.js
Other components
- User
- GitHub API
- Hacker News search
Connections 36
- User → Check interface: uses
- Check interface → Email form: renders
frontend/src/App.jsx - Check interface → Password check: checks password
frontend/src/App.jsx - Check interface → Removal assistant: renders
frontend/src/App.jsx - Check interface → Security tips: renders
frontend/src/App.jsx - HTTP server → GitHub identity: mounts route
backend/server.js - HTTP server → Exposure API: mounts route
backend/server.js - HTTP server → Application database: queries
backend/server.js - Exposure API → Exposure crawler: scans email
backend/routes/remediation.js - Exposure API → Direct remediation: dispatches action
backend/routes/remediation.js - Exposure API → History rewrite: dispatches action
backend/routes/remediation.js - Exposure API → Fork and pull request: dispatches action
backend/routes/remediation.js - Exposure API → Report evidence: dispatches action
backend/routes/remediation.js - Exposure API → Independent verifier: requests verification
backend/routes/remediation.js - Exposure crawler → Occurrence classifier: classifies occurrence
backend/utils/crawler.js - Exposure crawler → GitHub client: creates client
backend/utils/crawler.js - Exposure crawler → Application database: stores discoveries
backend/utils/crawler.js - Exposure crawler → GitHub API: searches repositories
backend/utils/crawler.js - Exposure crawler → Hacker News search: searches stories
backend/utils/crawler.js - Direct remediation → GitHub client: creates client
backend/services/laneA.js - Direct remediation → Independent verifier: verifies occurrence
backend/services/laneA.js - Direct remediation → Application database: updates records
backend/services/laneA.js - History rewrite → Exposure state rules: checks transitions
backend/services/laneA2.js - Fork and pull request → GitHub client: creates client
backend/services/laneB.js - Fork and pull request → Exposure state rules: checks transitions
backend/services/laneB.js - Report evidence → Exposure state rules: checks transitions
backend/services/laneC.js - Independent verifier → Exposure state rules: transitions exposure
backend/services/verifier.js - Independent verifier → GitHub client: creates client
backend/services/verifier.js - Independent verifier → Application database: reads and updates
backend/services/verifier.js - GitHub identity → Application database: reads and updates
backend/routes/auth.js - GitHub identity → Email protection: encrypts token
backend/routes/auth.js - GitHub identity → Audit logger: records events
backend/routes/auth.js - Audit logger → Application database: writes audit entry
backend/services/auditLogger.js - Audit logger → Email protection: masks email
backend/services/auditLogger.js - Email protection → PII cryptography: encrypts PII
backend/utils/emailSecurity.js - GitHub client → GitHub API: sends API requests
backend/utils/githubClient.js