How dynamicarian/promptinjectiongaurdrails3 works
PromptInjectionGuardrails is a prompt-injection detection application: a user submits a prompt, the backend analyzes and stores it, and the results view retrieves and presents the classification and diagnostics. Separate pages expose dataset/model reporting and advanced Unicode-evasion evaluation. The excerpts establish the frontend routes, API handlers, persistence behavior, and supervised feature extraction; the core orchestrator and several evaluation modules are listed in the source index but were not excerpted, so some internal links remain unverified.
Main entry points: core.py Analysis orchestrator · SecurityResultsPage.jsx Security dashboard · App.jsx Page routing · ResultsPage.jsx Results view
Components 22
User interface
- Page routing
frontend/src/App.jsx - Prompt entry
frontend/src/pages/home/HomePage.jsx - Results view
frontend/src/pages/results/ResultsPage.jsx - Result diagnostics
frontend/src/pages/results/components/GuardrailDiagnostics.jsx - Prompt history
frontend/src/pages/results/components/PromptHistory.jsx - Dataset charts
frontend/src/pages/our_data/OurData.jsx - Security dashboard
frontend/src/pages/security/SecurityResultsPage.jsx - HTTP client
frontend/src/api.js
API and persistence
- API endpoints
backend/connection.py - Results database
backend/db.py
Prompt analysis
- Analysis orchestrator
backend/core.py - Unicode normalization
backend/advanced_security/unicode_normalization.py - Supervised detector
backend/sub_models/svm_predict.py - Attack classification
backend/sub_models/attack_type_kmeans.py - Unsupervised detector
backend/sub_models/unsupervised_predict.py
Reporting and evaluation
- Data reports
backend/data_report.py - Evasion baseline
backend/advanced_security/evasion_baseline.py - Normalization benchmark
backend/advanced_security/normalization_benchmark.py - Security results export
backend/advanced_security/export_security_results.py - Benchmark export
backend/advanced_security/export_benchmark_results.py - Report datasets
frontend/src/pages/security/SecurityResultsPage.jsx
Other components
- Prompt user
Connections 25
- Prompt user → Prompt entry: enters prompt
- Page routing → Prompt entry: routes to
frontend/src/App.jsx - Page routing → Results view: routes to
frontend/src/App.jsx - Page routing → Dataset charts: routes to
frontend/src/App.jsx - Page routing → Security dashboard: routes to
frontend/src/App.jsx - Prompt entry → HTTP client: submits via
frontend/src/pages/home/HomePage.jsx - Results view → HTTP client: requests results
frontend/src/pages/results/ResultsPage.jsx - HTTP client → API endpoints: HTTP requests
- API endpoints → Analysis orchestrator: dispatches analysis
backend/connection.py - Analysis orchestrator → Unicode normalization: uses normalization
backend/core.py - Analysis orchestrator → Supervised detector: uses detector
backend/core.py - Analysis orchestrator → Attack classification: uses classifier
- Analysis orchestrator → Unsupervised detector: uses detector
- Analysis orchestrator → Results database: persists results
backend/core.py - API endpoints → Results database: reads and deletes
- Results view → Result diagnostics: renders diagnostics
frontend/src/pages/results/ResultsPage.jsx - Results view → Prompt history: renders history
frontend/src/pages/results/ResultsPage.jsx - API endpoints → Data reports: requests reports
backend/connection.py - Data reports → Supervised detector: uses model
backend/data_report.py - Dataset charts → HTTP client: loads chart data
- Security dashboard → Report datasets: displays evaluation data
frontend/src/pages/security/SecurityResultsPage.jsx - Normalization benchmark → Unicode normalization: benchmarks normalization
backend/advanced_security/normalization_benchmark.py - Security dashboard → Evasion baseline: shows evasion evaluation
- Security dashboard → Security results export: uses exported results
- Security dashboard → Benchmark export: uses benchmark output