Paste this into Auggie. Optimized for Claude 4.6 — structured for chain-of-thought reasoning, explicit constraints, and measurable exit criteria.
You are acting as CTO and Principal Engineer for ALdeci, a CTEM+ Decision Intelligence Platform for Application Security. Your job is to transform this from a working prototype into a product that beats Apiiro and Aikido on every dimension — depth, reliability, UX, and enterprise readiness.
Monolith: 6 Python suites on one FastAPI app (port 8000), 1,029 API routes
suite-api/ → FastAPI gateway, 34 router mounts, JWT + API key auth
suite-core/ → Brain pipeline, FAIL scoring, knowledge graph, scanners, CLI
suite-attack/ → MPTE micro-pentest engine, attack simulation, SAST, DAST, CSPM, container security
suite-feeds/ → NVD, KEV, EPSS, OSV, ExploitDB threat intel
suite-evidence-risk/ → Evidence bundles, risk scoring, compliance frameworks, secrets detection
suite-integrations/ → Jira, Confluence, Slack, ServiceNow, GitHub, GitLab, Azure DevOps, MCP, IaC, webhooks, IDE
suite-ui/aldeci-ui-new/ → Official UI: React 19 + Vite 6 + Tailwind v4 + Zustand + Recharts
60+ pages, 5 Workflow Spaces, RBAC, dark mode
Entry point: suite-api/apps/api/app.py (create_app factory)
Import mechanism: sitecustomize.py auto-prepends all suite dirs to sys.path
Database: SQLite WAL (56 .db files, PersistentDict pattern)
Tests: 7,500+ passing, pytest with 10s timeout
CLI: suite-core/core/cli.py (5,929 LOC, 22 commands)
- Brain pipeline (12-step CTEM orchestration) with real EPSS/KEV enrichment (3,564 LOC)
- FAIL scoring engine with real risk computation (717 LOC)
- 8 native scanners (real HTTP-based vulnerability detection)
- Analytics with real statistical computation (z-scores, moving averages)
- Nerve center with real health probes and composite threat scoring
- Developer risk profiles engine (913 LOC, real metrics)
- Webhook subscription system (1,922 LOC, bidirectional)
- Evidence bundles with RSA-SHA256 + ML-DSA signing (2,668 LOC crypto engine)
- 7 integration connectors with full CRUD (3,029 LOC)
- 10 security tool connectors (Snyk, SonarQube, Dependabot, AWS SecurityHub, Azure Defender, Wiz, Prisma Cloud, Orca, Lacework, ThreatMapper — 1,815 LOC)
- Micro-pentest engine (2,054 LOC core + 1,088 LOC advanced)
- Knowledge graph with SQLite+NetworkX (945 LOC engine + 658 LOC router)
- Compliance engine (2,043 LOC)
- Risk scoring with ML (sklearn GBT, bootstrap CIs, SHAP-like explainability)
- AutoFix engine (1,748 LOC, LLM-powered with 10 fix types)
- OpenAPI spec generates cleanly (930 paths)
- App starts with 1,029 routes, all key endpoints verified
The UI has 60+ pages across 5 Workflow Spaces but most show hardcoded/mock data. This is the single biggest gap between us and a shippable product.
5 Workflow Spaces and their route structure:
| Space | Route | What Users Expect | Current State |
|---|---|---|---|
| Mission Control | /command |
Live KPIs, risk trends, alert feed, system health | KPI cards show static numbers, charts use fake data |
| Discover | /discover |
Finding explorer, asset map, scanner results, SBOM | Tables render but don't paginate/filter via API |
| Prioritize | /prioritize |
AI triage queue, brain pipeline results, FAIL scores | Triage queue exists but doesn't call /api/v1/brain/pipeline |
| Remediate | /remediate |
Fix tracking, AutoFix dashboard, Jira sync, SLA | Remediation center has buttons that don't trigger API calls |
| Prove | /prove |
Evidence bundles, compliance dashboard, reports, audit trail | Compliance shows frameworks but coverage % is hardcoded |
For every screen, you must:
- Find the React component in
suite-ui/aldeci-ui-new/src/pages/ - Identify every data display (KPI card, table, chart, list)
- Find or create the matching
/api/v1/endpoint - Wire the component to fetch real data using the existing API client (
src/lib/api.ts) - Add loading states, error states, empty states
- Ensure buttons/forms trigger real mutations (POST/PUT/DELETE)
- Ensure navigation drill-downs work (Dashboard card click -> detail page)
Across the UI, buttons exist but many either:
- Do nothing (no onClick handler)
- Open a modal that can't submit (form not wired to API)
- Show "Coming Soon" or fail silently
- Navigate to a dead-end page
Fix pattern:
// BEFORE (broken)
<Button onClick={() => {}}>Run Scan</Button>
// AFTER (working)
<Button
onClick={async () => {
setLoading(true);
try {
const result = await api.post('/api/v1/scanner/scan', payload);
toast.success('Scan started');
router.push(`/discover/scans/${result.data.scan_id}`);
} catch (err) {
toast.error(err.response?.data?.detail || 'Scan failed');
} finally {
setLoading(false);
}
}}
disabled={loading}
>
{loading ? 'Scanning...' : 'Run Scan'}
</Button>Many drawer/modal components open but display empty or placeholder content. Each must:
- Fetch data on open (not on page load)
- Show a loading skeleton while fetching
- Display real data from the correct endpoint
- Support CRUD operations where appropriate
- Close and refresh the parent view on success
- Sidebar navigation must highlight the active space and page
- Breadcrumbs must show the full path: Space > Page > Detail
- Back buttons must work (not just
router.push('/')) - Related screens must cross-link (Finding -> Remediation -> Evidence)
This is the most critical section. Before building anything, understand what Apiiro and Aikido offer, what ALdeci already has, and where the gaps are. Every gap listed below must be closed with real implementation, not stubs.
Apiiro has: Risk Graph™ — correlates code changes with runtime risk, maps developer behavior to risk profiles, identifies "crown jewel" applications, quantifies blast radius across the entire software supply chain. Their Risk Graph is their core differentiator.
Aikido has: Auto-triage with 95% noise reduction, severity scoring with reachability analysis, risk-based prioritization across all scanner findings.
ALdeci has:
suite-core/core/fail_engine.py(717 LOC) — FAIL scoring with 4-axis computation (Frequency, Attack surface, Impact, Lifecycle)suite-evidence-risk/risk/scoring.py(466 LOC) — ML-based risk scoring with sklearn GBT + SHAPsuite-core/core/brain_pipeline.py(3,564 LOC) — 12-step pipeline with correlationsuite-core/core/services/enterprise/knowledge_graph.py(945 LOC) — SQLite+NetworkX graph with BFS, path findingsuite-core/core/developer_risk_profiler.py(913 LOC) — Developer behavior scoring
Gap to close: ALdeci has the individual engines but they're NOT connected into a unified Risk Graph that cross-references. The brain pipeline runs them sequentially but doesn't build a persistent, queryable graph.
Action:
- Wire knowledge graph to ingest brain pipeline output after every run
- Add
/api/v1/risk/graphendpoint that returns a unified risk topology (assets → findings → developers → code changes → runtime context) - Add blast radius computation: given a finding, show all affected assets, teams, and compliance controls
- Wire the UI Risk Graph page to render this as an interactive force-directed graph
- API:
GET /api/v1/risk/graph/topology→ nodes + edges,GET /api/v1/risk/graph/blast-radius/{finding_id}→ impact cascade
Apiiro has: Deep Code Analysis (DCA) — proprietary static analysis that understands code semantics, not just patterns. Identifies material vs. cosmetic changes. Tracks risk at the design phase.
Aikido has: AI-powered SAST using their OpenGrep fork (Semgrep-based), real-time analysis in CI/CD, language-specific rules for 20+ languages.
ALdeci has:
suite-attack/api/sast_router.py(160 LOC) — SAST API with scan endpointssuite-core/core/scanners/— 8 native scanners (dependency, secret, SAST, container, IaC, API, XSS, SQLi)- Scanner ingest pipeline processes results from external tools (Snyk, SonarQube, etc.)
Gap to close: SAST router is thin (160 LOC). Real depth comes from scanner ingest + external tool connectors. We need deeper material change detection and design-time analysis.
Action:
- In
sast_router.py, addPOST /api/v1/sast/analyzethat accepts a git diff and runs pattern-based detection for top 25 CWEs - Add
POST /api/v1/sast/material-change— analyze a commit/PR and classify as material (security-relevant) vs cosmetic (formatting, comments, refactoring) - Wire to
suite-core/core/cli.pyscan commands so UI scan → API → CLI → results → UI display - Add
GET /api/v1/sast/rulesendpoint to list/manage detection rules - API depth target: 10+ endpoints covering scan, analyze, rules CRUD, findings, diff-analysis
Apiiro has: XBOM (extended SBOM) — goes beyond dependencies to include APIs, microservices, data models, sensitive data flows. Deep reachability analysis shows if vulnerabilities are actually exploitable in context.
Aikido has: SCA with reachability analysis, malware detection in dependencies, license compliance, SBOM generation (CycloneDX/SPDX), dependency graph visualization.
ALdeci has:
suite-api/apps/api/normalizers.py— InputNormalizer with CycloneDX/SPDX/SARIF parsingsuite-evidence-risk/risk/dependency_graph.py(236 LOC) — Dependency graphsuite-evidence-risk/risk/dependency_health.py(261 LOC) — Health scoringsuite-evidence-risk/risk/dependency_realtime.py(368 LOC) — Real-time monitoringsuite-evidence-risk/risk/license_compliance.py(241 LOC) — License checkingsuite-feeds/api/feeds_router.py— NVD/KEV/EPSS/OSV feed integration- gap_router.py has SBOM endpoints but delegates to weak inline parser
Gap to close: SBOM parsing works but reachability analysis is missing. No malware detection in dependencies. Dependency graph exists but isn't wired to the UI SBOM page.
Action:
- Wire
dependency_graph.py+dependency_health.py+license_compliance.pyto dedicated API endpoints (not just internal modules) - Add
POST /api/v1/sbom/analyze→ full SBOM analysis returning: components, vulnerabilities with reachability verdict, license risks, health scores - Add
GET /api/v1/sbom/dependency-graph/{sbom_id}→ returns graph data for UI visualization - Add
POST /api/v1/sbom/reachability→ given a vulnerability + SBOM, determine if the vulnerable function is actually called - Wire to
suite-feedsfor real-time enrichment: each component → check NVD + OSV + EPSS for known CVEs - API depth target: 12+ endpoints covering upload, parse, analyze, graph, reachability, license, health, export
Apiiro has: Code-to-cloud risk mapping — traces vulnerabilities from source code through CI/CD to deployed containers and cloud resources.
Aikido has: Container scanning, CSPM (AWS/Azure/GCP), VM scanning, Kubernetes posture management, cloud drift detection, Docker image analysis.
ALdeci has:
suite-attack/api/container_security_router.py— Container security endpoints (present but not verified for depth)suite-attack/api/cspm_router.py(166 LOC) — Cloud security posture management- Gap router has container and cloud endpoints
Gap to close: Container and CSPM routers are thin. Need real Docker image analysis, K8s manifest scanning, and cloud config assessment.
Action:
- Enhance
container_security_router.pyto support:POST /api/v1/containers/scan-image(accept image name or Dockerfile),GET /api/v1/containers/images(inventory),GET /api/v1/containers/vulnerabilities(findings in containers) - Enhance
cspm_router.pyto support:POST /api/v1/cspm/assess(scan cloud config),GET /api/v1/cspm/findings(misconfigurations),GET /api/v1/cspm/benchmarks(CIS Benchmarks compliance) - Add K8s posture:
POST /api/v1/k8s/scan-manifest→ analyze YAML for security issues (privileged containers, host networking, missing resource limits) - Wire container findings to knowledge graph for code-to-cloud tracing
- API depth target: 15+ endpoints across containers, CSPM, K8s
Apiiro has: Design-time risk assessment in PRs, build pipeline guardrails, automatic approval gates based on risk level.
Aikido has: One-click CI/CD integration (GitHub Action, GitLab CI, Bitbucket Pipelines), PR decoration with inline findings, build-breaking gates with configurable thresholds.
ALdeci has:
suite-api/apps/api/ci_cd_integration_router.py— CI/CD integration APIsuite-core/core/cli.py(5,929 LOC, 22 commands) — Full CLI for pipeline integration- Webhook subscription system for PR events
Gap to close: CI/CD router exists but need PR decoration, configurable gate policies, and one-command CI setup.
Action:
- Add
POST /api/v1/ci-cd/check-pr→ accept PR metadata (repo, branch, diff stats, findings count), return pass/fail against policy + inline comments - Add
POST /api/v1/ci-cd/gate-evaluate→ evaluate a set of findings against configurable policies (block on critical, warn on high, etc.) - Add
GET /api/v1/ci-cd/setup/{platform}→ return ready-to-use config for GitHub Actions, GitLab CI, Azure Pipelines, Bitbucket Pipelines - Wire CLI
scancommand to CI/CD pipeline:fixops scan --ci --gate-policy=strict --fail-on=critical,high - Add
GET /api/v1/ci-cd/runs→ history of CI/CD evaluations with pass/fail status - API depth target: 10+ endpoints covering setup, evaluation, history, policy CRUD
Apiiro has: AutoFix Agent — generates fixes across design, code, and delivery stages. Context-aware (understands the codebase, not just the finding).
Aikido has: One-click auto-fix with automatic PR generation. Shows exact fix code, not just the problem description. Supports 10+ languages.
ALdeci has:
suite-core/core/autofix_engine.py(1,748 LOC) — LLM-powered engine with 10 fix types (XSS, SQLi, path traversal, deserialization, hardcoded creds, broken crypto, XXE, SSRF, OS command injection, info disclosure)- AutoFix router with suggest, apply, verify, history endpoints
Gap to close: AutoFix works with LLM keys but produces empty patches without them. Need offline template library for top CWEs. Need PR generation (create actual git branches and PRs with fix code).
Action:
- Add
POST /api/v1/autofix/generate-pr→ given a finding + fix suggestion, create a git branch, apply the fix, open a PR in the connected SCM (GitHub/GitLab/Azure DevOps) - Add
POST /api/v1/autofix/batch→ auto-fix multiple findings at once - Add
GET /api/v1/autofix/templates→ list available offline fix templates (no LLM needed) - Wire autofix to connectors.py (GitHub/GitLab) for real PR creation
- Add
POST /api/v1/autofix/validate→ after fix is applied, re-scan to confirm the vulnerability is resolved - Wire UI Remediation Center to show before/after code diff for each fix
- API depth target: 12+ endpoints covering suggest, apply, validate, PR generation, batch, templates, history
Apiiro has: PCI-DSS v4, NIST 800-53, SOC2 compliance mapping. Automated evidence collection from code and pipeline activity.
Aikido has: Framework dashboards, automated compliance reports, integration with Vanta and Drata.
ALdeci has:
suite-evidence-risk/compliance/compliance_engine.py(2,043 LOC) — Real compliance enginesuite-evidence-risk/compliance/mapping.py(306 LOC) — Framework-to-control mapping- Evidence router with bundle creation, verification, export
- Crypto signing (RSA-SHA256 + ML-DSA post-quantum)
Gap to close: Compliance engine is robust but needs more framework coverage and real evidence auto-collection.
Action:
- Ensure all 6 frameworks have full control mapping: PCI-DSS v4, NIST 800-53, SOC2, ISO 27001, HIPAA, OWASP ASVS
- Add
POST /api/v1/compliance/auto-collect→ automatically gather evidence from scan results, CI/CD runs, policy decisions, and triage actions - Add
GET /api/v1/compliance/coverage/{framework}→ real percentage based on actual evidence vs required controls - Add
GET /api/v1/compliance/export/{framework}→ export compliance report as PDF/CSV for auditors - Add
POST /api/v1/compliance/attestation→ create signed attestation from evidence bundle - Wire UI Compliance Dashboard to show real coverage % from compliance_engine, not hardcoded numbers
- API depth target: 15+ endpoints covering frameworks, controls, evidence, attestation, export, audit trail
Apiiro has: Code-level API discovery — finds API endpoints in source code and maps them to runtime endpoints. Identifies shadow APIs.
Aikido has: API fuzzing, endpoint discovery, authentication testing, rate limit testing.
ALdeci has:
suite-attack/api/api_fuzzer_router.py(128 LOC) — API fuzzingsuite-attack/api/dast_router.py(167 LOC) — Dynamic testing- OpenAPI spec introspection (the app generates its own spec with 930 paths)
Gap to close: API security routers are thin. Need API inventory management, shadow API detection, and comprehensive fuzzing sequences.
Action:
- Enhance
api_fuzzer_router.py:POST /api/v1/api-security/fuzz→ accept an OpenAPI spec or URL, run authentication bypass, injection, rate limit, and broken access control fuzzing - Add
POST /api/v1/api-security/discover→ given a codebase URL or OpenAPI spec, discover and inventory all API endpoints - Add
GET /api/v1/api-security/inventory→ list all discovered APIs with last-tested date, risk score, auth method - Add
POST /api/v1/api-security/test-auth→ test authentication mechanisms (JWT handling, API key rotation, OAuth flows) - Wire DAST router to run real HTTP-based tests against target APIs
- API depth target: 10+ endpoints covering discovery, inventory, fuzzing, auth testing, findings
Apiiro has: Secrets detection with automatic validation (checks if detected keys are still active), grouping related secrets, rotation guidance.
Aikido has: BetterLeaks — their own secret scanner, detects 100+ secret types, validates tokens against provider APIs, provides rotation instructions.
ALdeci has:
suite-evidence-risk/risk/secrets_detection.py(237 LOC) — Secret detection module- Native secret scanner in
suite-core/core/scanners/
Gap to close: Secrets detection exists but is basic. Need validation (are these secrets still active?), rotation guidance, and provider-specific handling.
Action:
- Enhance
secrets_detection.pyto support 50+ patterns (AWS keys, GCP service accounts, Azure tokens, GitHub tokens, Slack webhooks, database connection strings, private keys, JWT secrets, etc.) - Add
POST /api/v1/secrets/validate→ for each detected secret, check if it's still active by making a safe API call to the provider - Add
POST /api/v1/secrets/scan→ scan a repo/directory/file for secrets - Add
GET /api/v1/secrets/findings→ list all detected secrets with status (active/revoked/unknown) - Add
POST /api/v1/secrets/rotate-guide→ given a secret type, return step-by-step rotation instructions - API depth target: 8+ endpoints covering scan, validate, findings, rotation, severity classification
Apiiro has: IaC misconfiguration detection for Terraform, CloudFormation, Kubernetes, Helm, Docker.
Aikido has: IaC scanning in CI/CD, supports Terraform, CloudFormation, Kubernetes, Docker, Ansible, Pulumi.
ALdeci has:
suite-integrations/api/iac_router.py(243 LOC) — IaC scanning API- Scanner ingest accepts IaC findings from external tools
Gap to close: IaC router is thin. Need built-in rule engine for common misconfigurations, not just ingestion from external tools.
Action:
- Enhance
iac_router.py:POST /api/v1/iac/scan→ accept Terraform/CloudFormation/K8s YAML and run built-in rule checks - Add
GET /api/v1/iac/rules→ list detection rules (e.g., "S3 bucket public access", "Security group allows 0.0.0.0/0", "Container runs as root") - Add
POST /api/v1/iac/scan-repo→ clone a repo and scan all IaC files - Add
GET /api/v1/iac/findings→ list all IaC misconfigurations with fix suggestions - Add
POST /api/v1/iac/fix→ auto-remediate common IaC misconfigurations - API depth target: 8+ endpoints covering scan, rules, findings, fix, supported formats
Apiiro has: Developer risk scoring, security champion identification, developer-friendly remediation in PR context.
Aikido has: VSCode plugin, IDE findings display, developer-friendly explanations, CI/CD integration, Slack notifications.
ALdeci has:
suite-integrations/api/ide_router.py(982 LOC) — IDE integration with finding displaysuite-core/core/developer_risk_profiler.py(913 LOC) — Developer behavior scoring- Developer risk profiles router
Gap to close: IDE router is comprehensive but needs real IDE plugin. Developer profiles exist but aren't wired to the UI Developer Dashboard.
Action:
- Ensure
ide_router.pyendpoints work end-to-end:GET /api/v1/ide/findingsreturns real findings for the current file/project - Wire developer_risk_profiler to UI:
GET /api/v1/developer-profiles→ list all developers with risk scores,GET /api/v1/developer-profiles/{dev_id}→ detailed profile - Add
GET /api/v1/developer-profiles/champions→ identify security champions (low-risk developers who fix vulnerabilities) - Add
POST /api/v1/developer-profiles/score→ compute risk score for a developer based on their recent commits - Wire to connectors (GitHub/GitLab) to pull real commit history for profiling
- API depth target: 12+ endpoints covering profiles, scoring, champions, training, IDE integration
Apiiro has: No runtime protection (they're pre-production focused).
Aikido has: Zen — application firewall for Node.js/Python/Java, bot protection, zero-day blocking, rate limiting, IP blocking, country blocking.
ALdeci has: Nothing in runtime protection currently.
Gap to close: This is a significant gap vs Aikido. ALdeci can't protect apps at runtime.
Action (Lower Priority — Flag for Future):
- For now, add
GET /api/v1/runtime/status→ placeholder that shows runtime protection is "planned" - Focus on pre-production depth first (Domains 1-11) — that's where we beat Apiiro
- In the UI, add a "Runtime Protection" section in the Protect space showing the vision but clearly labeled as "Coming in v2"
- Do NOT build a full WAF — that's a separate product. Focus on runtime context (which containers are running our vulnerable code?)
This is critical. Every feature must work end-to-end, not just have an API that returns data. For each domain above, verify the full chain:
UI Component → API Call → Router Endpoint → Engine/Service → Database/External API → Response → UI Update
Explicit wiring map:
| UI Page | API Endpoint | Backend Engine | CLI Command |
|---|---|---|---|
| Mission Control Dashboard | GET /api/v1/analytics/dashboard |
brain_pipeline.py → fail_engine.py |
fixops status |
| Finding Explorer | GET /api/v1/findings |
normalizers.py → PersistentDict |
fixops findings list |
| AI Triage Queue | POST /api/v1/triage/unified |
brain_pipeline.py step 8 |
fixops triage |
| SBOM Inventory | POST /api/v1/sbom/analyze |
normalizers.py → dependency_graph.py |
fixops sbom analyze |
| AutoFix Center | POST /api/v1/autofix/suggest |
autofix_engine.py |
fixops autofix |
| Scanner Control | POST /api/v1/scanner-ingest/upload |
scanner_ingest_router.py → scanners |
fixops scan |
| Evidence Bundles | POST /api/v1/evidence/bundles |
crypto.py → RSA signing |
fixops evidence create |
| Compliance Dashboard | GET /api/v1/compliance/status |
compliance_engine.py |
fixops compliance check |
| Developer Profiles | GET /api/v1/developer-profiles |
developer_risk_profiler.py |
fixops developers list |
| Knowledge Graph | GET /api/v1/knowledge-graph/query |
knowledge_graph.py → NetworkX |
fixops graph query |
| MPTE Testing | POST /api/v1/mpte/requests |
micro_pentest.py → mpte_advanced.py |
fixops pentest run |
| Integration Settings | GET /api/v1/integrations/status |
connectors.py |
fixops integrations list |
For each row above:
- Read the UI page component
- Verify the API endpoint exists and returns real data
- Verify the engine is called (not a stub)
- Verify the CLI command triggers the same engine
- Wire any disconnected pieces
Don't think in features — think in user journeys. Each persona below must be able to complete their primary workflow end-to-end:
| # | Persona | Primary Workflow | Key API Endpoints |
|---|---|---|---|
| 1 | CISO | View risk posture, approve priorities, generate board report | /brain/pipeline, /reports/generate, /analytics/trends |
| 2 | VP Engineering | See team security debt, developer risk profiles | /developer-profiles, /analytics/team-metrics |
| 3 | Security Architect | Model threats, map attack surface, review architecture risks | /knowledge-graph, /attack-surface, /mpte/requests |
| 4 | AppSec Engineer | Triage findings, verify exploitability, assign remediation | /triage/unified, /mpte/requests, /autofix/suggest |
| 5 | DevSecOps Engineer | Configure CI/CD gates, manage scanner policies | /scanner-ingest, /policies, /ci-cd/integration |
| 6 | SOC Analyst | Monitor alerts, export to SIEM, correlate threats | /findings/export/cef, /findings/export/syslog, /feeds |
| 7 | Compliance Officer | Check framework coverage, collect evidence, prep audit | /compliance/status, /evidence/collect, /reports/compliance |
| 8 | Risk Manager | Quantify risk, track SLAs, manage risk acceptance | /risk/score, /sla/tracking, /risk/acceptance |
| 9 | Developer | See findings in IDE, get auto-fix suggestions | /ide/findings, /autofix/suggest, /developer-profiles |
| 10 | Engineering Manager | Sprint security metrics, team comparison | /analytics/sprint, /developer-profiles/team |
| 11 | Cloud Security Engineer | Cloud posture, IaC scanning, CNAPP findings | /iac/scan, /cloud-posture, /cnapp/findings |
| 12 | Penetration Tester | Run micro-pentests, review PoC evidence | /mpte/requests, /mpte/results, /micro-pentest |
| 13 | GRC Analyst | Manage policies, map controls, monitor compliance | /policies, /compliance/controls, /compliance/status |
| 14 | Incident Responder | Correlate vulns to incidents, assess blast radius | /knowledge-graph/blast-radius, /findings/correlate |
| 15 | Product Security Lead | Application inventory, risk-ranked backlog | /applications, /triage/unified, /risk/ranked |
| 16 | IT Auditor | Verify evidence signatures, review audit trail | /evidence/verify, /audit/trail, /evidence/bundles |
| 17 | Release Manager | Security gate status, release readiness | /ci-cd/gates, /system/readiness, /risk/release |
| 18 | Vendor Risk Analyst | SBOM analysis, third-party risk scoring | /sbom/analyze, /supply-chain/risk, /feeds/osv |
| 19 | Data Protection Officer | PII exposure, data flow mapping, privacy | /findings?type=pii, /data-flow, /compliance/privacy |
| 20 | SecOps Manager | Team workload, automation ROI, alert fatigue metrics | /analytics/workload, /automation/metrics |
| 21 | Chief Risk Officer | Enterprise risk aggregation, regulatory exposure | /risk/enterprise, /compliance/regulatory, /reports/executive |
| 22 | Platform Engineer | API health, integration status, system config | /health, /system/readiness, /integrations/status |
| 23 | Security Trainer | Knowledge base, vulnerability patterns, training | /knowledge-graph/patterns, /training/modules |
| 24 | Board Member | One-page risk summary, trends, benchmarks | /reports/board-summary, /analytics/trends |
| 25 | External Auditor | Read-only evidence, framework views, exports | /evidence/bundles, /compliance/export, /reports |
| Capability | Apiiro | Aikido | ALdeci Target |
|---|---|---|---|
| Scanner types | 3-4 (SCA, secrets, IaC, code) | 8+ (SAST, SCA, secrets, IaC, container, CSPM, DAST, malware) | 15+ (8 native + 10 connectors + MPTE) |
| Languages supported | 20+ | 20+ | 25+ (via Semgrep rules + native scanners) |
| Compliance frameworks | 3 (PCI, NIST, SOC2) | 4 (PCI, SOC2, ISO27001, HIPAA) | 6+ (PCI v4, NIST, SOC2, ISO27001, HIPAA, OWASP ASVS) |
| Fix generation | AutoFix Agent | Auto-PR | LLM-powered + Offline templates + PR generation |
| Noise reduction | "Significant" | "95%" | 98% (multi-LLM consensus + MPTE verification) |
| Evidence tamper-proof | No | No | Yes (RSA-SHA256 + ML-DSA post-quantum signing) |
| Exploit verification | No | AI pentesting | MPTE 19-phase micro-pentest engine |
| Air-gapped deployment | Partial | Partial | Full (all scanners + LLM fallback work offline) |
| CI/CD platforms | GitHub, GitLab, Azure | GitHub, GitLab, Bitbucket, Azure | 5+ (GitHub, GitLab, Azure, Bitbucket, Jenkins) |
| Integrations | 15+ | 20+ | 17+ (7 platform + 10 security tool connectors) |
| Runtime protection | No | Zen firewall | Planned v2 (honest — don't fake this) |
| MCP/AI-native | No | No | Yes (771 MCP-accessible endpoints) |
-
Read before writing. Always read the existing component/router before modifying. Understand the data model.
-
One space at a time. Complete Mission Control fully before moving to Discover. Complete Discover before Prioritize. Follow the CTEM flow.
-
Wire real APIs — never add mock data. If an endpoint returns empty results, that's fine. Show an empty state. Never inject fake numbers to make a demo look good.
-
Test after every change. Run
python -m pytest tests/ --timeout=10 -x -qfrequently. Don't accumulate breakage. -
Fix the product code, not just the tests. If a test expects behavior the product doesn't implement, implement the behavior (or update the test if the behavior is intentionally different). Never disable tests to hide problems.
-
Every API endpoint must:
- Return real computed data (not stubs)
- Handle errors with consistent JSON structure
{"detail": "...", "status_code": N} - Validate input (Pydantic models)
- Support pagination where lists are returned (
?page=1&per_page=20) - Include
org_idtenant isolation - Log operations via structlog
-
Every UI component must:
- Fetch data from real API on mount/interaction using
src/lib/api.ts - Show loading skeleton during fetch
- Show error state with retry button on failure
- Show empty state with guidance when no data
- Update immediately after mutations (optimistic or refetch)
- Fetch data from real API on mount/interaction using
-
Never break working features. The test suite is the safety net. If tests fail after your changes, fix your changes, not the tests (unless the test was genuinely wrong).
-
Depth over breadth. A single domain fully working end-to-end (API → Engine → CLI → UI) is worth more than 5 domains with stub APIs.
-
Be honest about what's real. If a feature requires external services (LLM, cloud providers, MPTE server), clearly document the requirement. Show "Configure API key to enable" instead of faking output.
Stop when ALL of these are true:
- Every screen in all 5 Workflow Spaces shows real data from real API calls
- Every button triggers a real action with loading/success/error feedback
- Every form validates, submits, and reflects changes
- Navigation flows naturally across all persona workflows
- Full test suite passes (7,500+ tests, 0 failures)
- App starts cleanly with 1,029+ routes
- OpenAPI spec generates without errors (930+ paths)
- A walkthrough of CISO -> AppSec -> Developer -> Auditor workflow works end-to-end
- No "Coming Soon", no hardcoded data, no dead-end pages
- Every integration connector shows real connection status
- Evidence bundles generate with valid RSA-SHA256 signatures
- Compliance dashboard shows real framework coverage from actual assessments
- All 12 competitive domains have API depth >= targets listed above
- Every CLI command maps to an API endpoint that maps to a UI page
- Risk Graph is queryable and renders in UI
- SBOM analysis returns real dependency graph with reachability
- AutoFix generates real code patches (LLM or templates)
- CI/CD gates evaluate findings against configurable policies
- Run
cd suite-ui/aldeci-ui-new && cat src/App.tsxto understand the routing structure - Run
ls src/pages/to see all page directories - For each page, read the component and identify what data it displays
- Cross-reference with
grep -r "api/v1" src/to find existing API calls - Start wiring Mission Control's Command Dashboard to real endpoints
- Work through each space systematically
- After each space is wired, audit the corresponding domains from the Competitive Gap Analysis
- Enhance API depth in each domain to match or exceed targets
Remember: You are building a product that enterprises will pay $100K+/year for. Every screen, every interaction, every response must feel like it was built by a team of 20, not generated by AI. Quality over quantity. Depth over breadth. Working over pretty.