How yourmemecommunity-sy/sentinelai works
SentinelAI is a multi-tenant security gateway that inspects prompts, files, and model replies before they reach AI providers. The principal workflow is client request → authenticated gateway orchestration → input scan and policy decision → optional masking/tokenization → provider call → output scan → audited response; file uploads use a separate extraction and malware/OCR path. The graph follows README-documented service interactions and sampled gateway wiring; several internal service connections are documented but their implementation was not sampled.
Main entry points: registerRoutes.ts Gateway Routes · secureAiService.ts AI Orchestrator · scan_pipeline.py Scan Pipeline · extract_pipeline.py Document Extraction
Components 26
Clients
- Applications
- JavaScript SDK
sentinel-ai/packages/sdk/javascript/src/client.ts - Python SDK
sentinel-ai/packages/sdk/python/sentinelai/client.py - Dashboard
sentinel-ai/apps/dashboard/app/dashboard/page.tsx - Dashboard BFF
sentinel-ai/apps/dashboard/app/api/proxy/[...path]/route.ts
API Gateway
- Gateway Routes
sentinel-ai/apps/api/src/routes/registerRoutes.ts - Auth and RBAC
sentinel-ai/apps/api/src/middleware/auth.ts - AI Orchestrator
sentinel-ai/apps/api/src/services/secureAiService.ts - Secure Streaming
sentinel-ai/apps/api/src/services/secureStreamService.ts - File Scan API
sentinel-ai/apps/api/src/services/fileScanService.ts - Security Client
sentinel-ai/apps/api/src/security/securityClient.ts
Security Services
- Scan Pipeline
sentinel-ai/services/security-engine/app/pipelines/scan_pipeline.py - Threat Detectors
sentinel-ai/services/security-engine/app/detectors/registry.py - Policy and Risk
sentinel-ai/services/security-engine/app/policies/evaluator.py - Sanitization
sentinel-ai/services/security-engine/app/sanitization/sanitizer.py - Document Extraction
sentinel-ai/services/document-scanner/app/pipelines/extract_pipeline.py - Document API
sentinel-ai/services/document-scanner/app/api/routes.py - OCR Engine
sentinel-ai/services/document-scanner/app/ocr/engine.py - Token Vault
sentinel-ai/services/token-vault/app/vault.py
AI Routing
- Provider Router
sentinel-ai/services/ai-router/src/routing/AiRouter.ts - Provider Adapters
sentinel-ai/services/ai-router/src/providers - AI Providers
Tenant State
- Tenant PostgreSQL
sentinel-ai/apps/api/src/db/tenantDb.ts - Audit and Events
sentinel-ai/apps/api/src/events/eventSink.ts - Policy Repository
sentinel-ai/apps/api/src/repositories/policyRepository.ts
Other components
- File Uploads
Connections 29
- Applications → JavaScript SDK: calls
- Applications → Python SDK: calls
- JavaScript SDK → Gateway Routes: sends requests
- Python SDK → Gateway Routes: sends requests
- Dashboard → Dashboard BFF: calls
- Dashboard BFF → Gateway Routes: proxies requests
- Gateway Routes → Auth and RBAC: authorizes
- Gateway Routes → AI Orchestrator: invokes
- Gateway Routes → Secure Streaming: dispatches streams
- File Uploads → File Scan API: uploads
- Gateway Routes → File Scan API: dispatches scans
- File Scan API → Document API: sends file bytes
- Document API → Document Extraction: runs extraction
- Document Extraction → OCR Engine: extracts image text
- AI Orchestrator → Security Client: requests scans
- Security Client → Scan Pipeline: sends prompts
- Scan Pipeline → Threat Detectors: detects content
- Scan Pipeline → Policy and Risk: evaluates detections
- Scan Pipeline → Sanitization: sanitizes content
- AI Orchestrator → Policy Repository: loads policies
- AI Orchestrator → Token Vault: tokenizes content
- AI Orchestrator → Provider Router: routes sanitized prompts
- Provider Router → Provider Adapters: selects adapter
- Provider Adapters → AI Providers: sends prompts
- AI Orchestrator → Audit and Events: records outcomes
- Gateway Routes → Audit and Events: reads usage and events
- Audit and Events → Tenant PostgreSQL: persists events
- Policy Repository → Tenant PostgreSQL: reads policies
- Document Extraction → Security Client: returns extracted text