[
    {
        "title": "Salesforce Health Audit",
        "slug": "salesforce-health",
        "hook_text": "Is your Salesforce Org costing you sales? Take the 60-second Governor Limit & Health Audit.",
        "categories": [
            {
                "id": "gov-limits",
                "name": "Governor Limits & Performance",
                "color": "#ef4444"
            },
            {
                "id": "automation",
                "name": "Automation Hygiene",
                "color": "#f59e0b"
            },
            {
                "id": "data-arch",
                "name": "Data Architecture",
                "color": "#3b82f6"
            },
            {
                "id": "integration",
                "name": "Integration & DevOps",
                "color": "#8b5cf6"
            },
            {
                "id": "security",
                "name": "Security & Compliance",
                "color": "#10b981"
            }
        ],
        "questions": [
            {
                "id": "sf-q1",
                "categoryId": "gov-limits",
                "text": "Are your users seeing 'Apex CPU Time Limit Exceeded' or 'Too many SOQL queries' errors?",
                "answers": [
                    {
                        "text": "Frequently — it's a daily complaint",
                        "points": 0
                    },
                    {
                        "text": "Occasionally — certain processes trigger them",
                        "points": 3
                    },
                    {
                        "text": "Rarely — only during bulk operations",
                        "points": 7
                    },
                    {
                        "text": "Never — we've optimised our code and monitor limits",
                        "points": 10
                    }
                ]
            },
            {
                "id": "sf-q2",
                "categoryId": "gov-limits",
                "text": "How close are you to your org's data/API limits?",
                "answers": [
                    {
                        "text": "I don't know — we've never checked",
                        "points": 0
                    },
                    {
                        "text": "We're above 80% on at least one limit",
                        "points": 3
                    },
                    {
                        "text": "We monitor but aren't close to any limits",
                        "points": 7
                    },
                    {
                        "text": "We actively manage limits with dashboards and automated alerts",
                        "points": 10
                    }
                ]
            },
            {
                "id": "sf-q3",
                "categoryId": "automation",
                "text": "Do you have a mix of Workflow Rules, Process Builders AND Apex Triggers on the same objects?",
                "answers": [
                    {
                        "text": "Yes, multiple types on most objects — it's a tangled mess",
                        "points": 0
                    },
                    {
                        "text": "Yes on a few key objects, but it mostly works",
                        "points": 3
                    },
                    {
                        "text": "We've consolidated to Flows + Apex for most objects",
                        "points": 7
                    },
                    {
                        "text": "Clean separation — all logic in well-structured Flows or Apex with a trigger framework",
                        "points": 10
                    }
                ]
            },
            {
                "id": "sf-q4",
                "categoryId": "automation",
                "text": "How do you handle automation order-of-execution conflicts?",
                "answers": [
                    { "text": "What's order of execution?", "points": 0 },
                    {
                        "text": "We hit issues sometimes and fix them reactively",
                        "points": 3
                    },
                    {
                        "text": "We're aware and try to avoid conflicts",
                        "points": 6
                    },
                    {
                        "text": "Documented architecture — single trigger per object with handler pattern",
                        "points": 10
                    }
                ]
            },
            {
                "id": "sf-q5",
                "categoryId": "data-arch",
                "text": "How would you describe your data model health?",
                "answers": [
                    {
                        "text": "Hundreds of unused custom fields, duplicate record types, no naming conventions",
                        "points": 0
                    },
                    {
                        "text": "Some clutter but core objects are reasonably clean",
                        "points": 4
                    },
                    {
                        "text": "Regular housekeeping — we retire unused fields and document new ones",
                        "points": 7
                    },
                    {
                        "text": "Governed data model with naming conventions, field-level audit, and documented ERDs",
                        "points": 10
                    }
                ]
            },
            {
                "id": "sf-q6",
                "categoryId": "data-arch",
                "text": "Are your sales teams manually copy-pasting data between Salesforce and external tools?",
                "answers": [
                    {
                        "text": "Constantly — Excel exports, manual re-entry into ERP/other tools",
                        "points": 0
                    },
                    {
                        "text": "For some processes — we have partial integrations",
                        "points": 4
                    },
                    {
                        "text": "Most key systems are integrated but a few gaps remain",
                        "points": 7
                    },
                    {
                        "text": "Fully integrated — bi-directional sync with all critical systems",
                        "points": 10
                    }
                ]
            },
            {
                "id": "sf-q7",
                "categoryId": "integration",
                "text": "How do you deploy changes to your Salesforce org?",
                "answers": [
                    {
                        "text": "Change sets or direct edits in production",
                        "points": 0
                    },
                    {
                        "text": "Change sets with a sandbox, but no version control",
                        "points": 3
                    },
                    {
                        "text": "Source-tracked with Git, deploy via CLI or basic CI",
                        "points": 7
                    },
                    {
                        "text": "Full CI/CD pipeline — SFDX/SF CLI, scratch orgs, automated tests before deploy",
                        "points": 10
                    }
                ]
            },
            {
                "id": "sf-q8",
                "categoryId": "integration",
                "text": "What is your Apex test coverage and quality?",
                "answers": [
                    {
                        "text": "Below 75% — we scrape through for deployments",
                        "points": 0
                    },
                    {
                        "text": "Above 75% but tests are mostly System.assert(true) style",
                        "points": 3
                    },
                    {
                        "text": "Meaningful assertions, covering positive paths (~75–85%)",
                        "points": 7
                    },
                    {
                        "text": ">85% with bulk tests, negative paths, governor limit tests",
                        "points": 10
                    }
                ]
            },
            {
                "id": "sf-q9",
                "categoryId": "security",
                "text": "How do you manage field-level security and profile/permission set assignments?",
                "answers": [
                    {
                        "text": "Everyone is basically System Admin or has overly broad profiles",
                        "points": 0
                    },
                    {
                        "text": "A few profiles, but permissions have grown unchecked",
                        "points": 3
                    },
                    {
                        "text": "Permission sets grouping access by function, regular reviews",
                        "points": 7
                    },
                    {
                        "text": "Principle of least privilege — permission set groups, documented matrix, regular audits",
                        "points": 10
                    }
                ]
            },
            {
                "id": "sf-q10",
                "categoryId": "security",
                "text": "When was the last time you ran a Salesforce Optimizer or Health Check?",
                "answers": [
                    {
                        "text": "Never / didn't know those existed",
                        "points": 0
                    },
                    { "text": "Over a year ago", "points": 3 },
                    { "text": "Within the last 6 months", "points": 7 },
                    {
                        "text": "Quarterly — results tracked and actioned",
                        "points": 10
                    }
                ]
            }
        ],
        "band_headlines": {
            "critical": {
                "title": "Critical Risk",
                "text": "Your org is a ticking time bomb for revenue."
            },
            "high": {
                "title": "High Risk",
                "text": "Significant Salesforce debt — action needed."
            },
            "moderate": {
                "title": "Moderate",
                "text": "Solid org with clear gaps to close."
            },
            "low": {
                "title": "Low Risk",
                "text": "Well-governed org — you're ahead of most."
            }
        },
        "settings": {}
    },
    {
        "title": "Tech Architecture Audit",
        "slug": "tech-architecture",
        "hook_text": "Score your technical debt in 60 seconds.",
        "categories": [
            {
                "id": "deployment",
                "name": "Deployment & CI/CD",
                "color": "#ef4444"
            },
            {
                "id": "code-quality",
                "name": "Code Quality & Testing",
                "color": "#f59e0b"
            },
            {
                "id": "architecture",
                "name": "Architecture & Scalability",
                "color": "#3b82f6"
            },
            {
                "id": "security",
                "name": "Security & Compliance",
                "color": "#8b5cf6"
            },
            {
                "id": "monitoring",
                "name": "Monitoring & Incident Response",
                "color": "#10b981"
            }
        ],
        "questions": [
            {
                "id": "ta-q1",
                "categoryId": "deployment",
                "text": "How do you deploy code to production?",
                "answers": [
                    {
                        "text": "Manual FTP / copy-paste to server",
                        "points": 0
                    },
                    { "text": "SSH into the server and git pull", "points": 3 },
                    {
                        "text": "Semi-automated — CI builds but we trigger deploy manually",
                        "points": 7
                    },
                    {
                        "text": "Fully automated CI/CD pipeline with rollback capability",
                        "points": 10
                    }
                ]
            },
            {
                "id": "ta-q2",
                "categoryId": "deployment",
                "text": "How often do you release to production?",
                "answers": [
                    {
                        "text": "Rarely — big-bang releases every few months",
                        "points": 0
                    },
                    { "text": "Monthly or bi-weekly", "points": 4 },
                    { "text": "Weekly", "points": 7 },
                    {
                        "text": "Continuously / multiple times per day",
                        "points": 10
                    }
                ]
            },
            {
                "id": "ta-q3",
                "categoryId": "code-quality",
                "text": "What does your automated test coverage look like?",
                "answers": [
                    { "text": "We don't have automated tests", "points": 0 },
                    {
                        "text": "A handful of tests but they're often skipped or broken",
                        "points": 3
                    },
                    {
                        "text": "Solid unit tests for critical paths (~40–60% coverage)",
                        "points": 7
                    },
                    {
                        "text": "Comprehensive suite — unit, integration, and E2E (>80% coverage)",
                        "points": 10
                    }
                ]
            },
            {
                "id": "ta-q4",
                "categoryId": "code-quality",
                "text": "How are code changes reviewed before merging?",
                "answers": [
                    {
                        "text": "No review — devs push straight to main/master",
                        "points": 0
                    },
                    {
                        "text": "Informal — sometimes we glance at PRs",
                        "points": 3
                    },
                    {
                        "text": "Mandatory PR review by at least one other developer",
                        "points": 7
                    },
                    {
                        "text": "Enforced PR reviews + automated linting, type checks, and CI gates",
                        "points": 10
                    }
                ]
            },
            {
                "id": "ta-q5",
                "categoryId": "architecture",
                "text": "How would you describe your core system architecture?",
                "answers": [
                    {
                        "text": "Single monolithic application — tightly coupled, hard to change",
                        "points": 2
                    },
                    {
                        "text": "Monolith but reasonably modular — we can swap components",
                        "points": 5
                    },
                    {
                        "text": "Service-oriented — a few distinct services with clear APIs",
                        "points": 8
                    },
                    {
                        "text": "Well-defined microservices / event-driven architecture",
                        "points": 10
                    }
                ]
            },
            {
                "id": "ta-q6",
                "categoryId": "architecture",
                "text": "If traffic doubled overnight, what would happen?",
                "answers": [
                    {
                        "text": "The site would go down and we'd scramble",
                        "points": 0
                    },
                    {
                        "text": "We'd survive but performance would degrade significantly",
                        "points": 3
                    },
                    {
                        "text": "We'd need to manually provision more resources, then we'd be fine",
                        "points": 6
                    },
                    {
                        "text": "Auto-scaling is in place — we'd handle it seamlessly",
                        "points": 10
                    }
                ]
            },
            {
                "id": "ta-q7",
                "categoryId": "security",
                "text": "How do you manage secrets and credentials (API keys, DB passwords, etc.)?",
                "answers": [
                    {
                        "text": "Hard-coded in the repo or shared in Slack/email",
                        "points": 0
                    },
                    {
                        "text": ".env files on each developer's machine, not version-controlled",
                        "points": 4
                    },
                    {
                        "text": "Centralised env management (e.g., Doppler, AWS Parameter Store)",
                        "points": 7
                    },
                    {
                        "text": "Vault / secrets manager with rotation and audit logs",
                        "points": 10
                    }
                ]
            },
            {
                "id": "ta-q8",
                "categoryId": "security",
                "text": "When was your last security audit or penetration test?",
                "answers": [
                    { "text": "Never / I'm not sure", "points": 0 },
                    { "text": "Over a year ago", "points": 3 },
                    { "text": "Within the last 12 months", "points": 7 },
                    {
                        "text": "We run continuous automated security scanning + annual pen tests",
                        "points": 10
                    }
                ]
            },
            {
                "id": "ta-q9",
                "categoryId": "monitoring",
                "text": "How do you know when something breaks in production?",
                "answers": [
                    { "text": "A customer tells us", "points": 0 },
                    {
                        "text": "We check logs manually when we suspect an issue",
                        "points": 3
                    },
                    {
                        "text": "Basic alerting (uptime monitor, error rate threshold)",
                        "points": 6
                    },
                    {
                        "text": "Full observability stack — APM, structured logging, distributed tracing, dashboards",
                        "points": 10
                    }
                ]
            },
            {
                "id": "ta-q10",
                "categoryId": "monitoring",
                "text": "If your primary database went down right now, how quickly could you recover?",
                "answers": [
                    {
                        "text": "I honestly don't know — we've never tested it",
                        "points": 0
                    },
                    {
                        "text": "We have backups but have never done a restore drill",
                        "points": 3
                    },
                    {
                        "text": "Tested restore procedure — RTO under 4 hours",
                        "points": 7
                    },
                    {
                        "text": "Automated failover / replication — RTO under 15 minutes",
                        "points": 10
                    }
                ]
            }
        ],
        "band_headlines": {
            "critical": {
                "title": "Critical Risk",
                "text": "Your tech stack is a ticking time bomb."
            },
            "high": {
                "title": "High Risk",
                "text": "Significant vulnerabilities — action needed."
            },
            "moderate": {
                "title": "Moderate",
                "text": "Solid foundation with clear gaps to close."
            },
            "low": {
                "title": "Low Risk",
                "text": "Well-architected — you're ahead of most."
            }
        },
        "settings": {}
    }
]
