Perryscope.ai
PlatformDocsRoadmapCompare
Request demo
Perryscope.ai

Self-hosted sensitive-data security for the AI era.

ProductsSecret SecurityPrivacy SecurityAI Guardienne
PlatformArchitectureSecurity modelGovernance syncObservability
DevelopersDocumentationAPI referenceCLIWebSocket eventsGet started
CompanyRoadmapCompareFAQSupportContactPrivacy policyTerms
© 2026 Perryscope. Flexible enterprise licensing.100% self-hosted · zero third-party calls
Documentation
StartGetting startedConfigurationDeployment
ScanningScanning modesFindings & workflowValidationPrivacy scanningAI Guardienne
IntegrateCLIAPI referenceWebSocket eventsGovernance sync
ReferenceSecurity modelDNS change runbookTransactional email deliveryMonitoring & alertingDisaster recovery & failoverSite recovery & backupsSecrets: leak prevention & rotationDependency & patch automation
Docs / Start

Deployment

The stack is three containers behind nginx: the React dashboard, the FastAPI backend, and (optionally) a standalone governance worker. Reports and the database persist in named Docker volumes.

Topology

browser ──► nginx (:3001, SPA config)
                │
                └──► FastAPI backend (:8001)
                        ├── SQLite / PostgreSQL
                        ├── periscope-reports volume
                        └── governance worker (optional container)

Production checklist

  • Set ENVIRONMENT=production — startup fails if PERISCOPE_API_KEY is unset (fail-closed guard)
  • Point DATABASE_URL at PostgreSQL; run Alembic to create the schema
  • Set the two frontend build args to your server address (VITE_API_BASE_URL, VITE_WS_BASE_URL)
  • Keep DEBUG=false, JSON_LOGS=true
  • Wire /health to your orchestrator's liveness probe and scrape /metrics with Prometheus
# bare-metal alternative
uvicorn radar_scanner.main:app --host 0.0.0.0 --port 8000 --workers 4

Reports volume

docker exec periscope-backend ls /app/reports/
docker cp periscope-backend:/app/reports/<filename> .
# volume survives restarts; deleted only by `docker compose down -v`

SARIF in CI

Set ENABLE_SARIF_OUTPUT=true to write SARIF 2.1.0 reports alongside text reports, then upload them with GitHub's codeql-action/upload-sarif action — findings appear as code-scanning alerts.

Source: docker-compose.yml · nginx.conf · backend/README.md (Deployment)

← ConfigurationScanning modes →