q-import { /packages/qhtml7/dist/q-components/q-tech-panel.qhtml }
q-style securitySectionStyle { border: 1px solid #e5e7eb; border-radius: 14px; padding: 22px; font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; max-width: 900px; margin: 20px auto; box-shadow: 0 6px 18px rgba(0,0,0,.06); } q-style securityHeaderStyle { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; } q-style securityIconStyle { font-size: 28px; } q-style securityTitleStyle { margin: 0; font-size: 26px; letter-spacing: .3px; } q-style securityLeadStyle { margin: 6px 0 18px; } q-style securityTagRowStyle { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; } q-style securityTagStyle { padding: 6px 10px; border: 1px solid #e5e7eb; border-radius: 999px; font-size: 12px; } q-style securityListStyle { margin: 0 0 16px 18px; line-height: 1.6; } q-style securityMetricsGridStyle { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 18px 0; } q-style securityMetricCardStyle { border: 1px solid #e5e7eb; border-radius: 12px; padding: 14px; } q-style securityMetricTitleStyle { margin: 0 0 10px; font-size: 14px; color: #6b7280; text-transform: uppercase; letter-spacing: .08em; } q-style securityMetricTextStyle { margin: 0 8px 10px 0; font-weight: 600; } q-style securityRedTrackStyle { height: 10px; background: #fee2e2; border-radius: 999px; overflow: hidden; } q-style securityRedFillStyle { width: 78%; height: 100%; background: #ef4444; } q-style securityGreenTrackStyle { height: 10px; background: #dcfce7; border-radius: 999px; overflow: hidden; } q-style securityGreenFillStyle { width: 32%; height: 100%; background: #22c55e; } q-style securityDetailsStyle { border: 1px solid #e5e7eb; border-radius: 12px; padding: 12px 14px; margin: 6px 0 18px; } q-style securitySummaryStyle { cursor: pointer; font-weight: 600; } q-style securityPlanTextStyle { margin-top: 8px; color: #374151; line-height: 1.6; } q-style securityOrderedListStyle { margin: 0 0 0 18px; } q-style securityCtaRowStyle { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; } q-style securityPrimaryButtonStyle { background: #111827; color: #fff; border: 0; border-radius: 10px; padding: 10px 16px; font-weight: 600; cursor: pointer; } q-style securityMutedTextStyle { color: #6b7280; } q-style securityFormStyle { display: none; margin-top: 12px; padding: 12px; border: 1px dashed #d1d5db; border-radius: 10px; } q-style securityFieldsStyle { display: flex; gap: 10px; flex-wrap: wrap; } q-style securityInputStyle { flex: 1 1 220px; padding: 10px 12px; border: 1px solid #d1d5db; border-radius: 10px; } q-style securityWideInputStyle { flex: 1 1 260px; padding: 10px 12px; border: 1px solid #d1d5db; border-radius: 10px; } q-style securitySubmitButtonStyle { background: #2563eb; color: #fff; border: 0; border-radius: 10px; padding: 10px 16px; font-weight: 600; cursor: pointer; } q-style securityDoneStyle { display: none; color: #065f46; font-weight: 600; } q-theme securityTheme { .security-section { securitySectionStyle } .security-header { securityHeaderStyle } .security-icon { securityIconStyle } .security-title { securityTitleStyle } .security-lead { securityLeadStyle } .security-tags { securityTagRowStyle } .security-tag { securityTagStyle } .security-list { securityListStyle } .security-metrics { securityMetricsGridStyle } .security-metric-card { securityMetricCardStyle } .security-metric-title { securityMetricTitleStyle } .security-metric-text { securityMetricTextStyle } .security-red-track { securityRedTrackStyle } .security-red-fill { securityRedFillStyle } .security-green-track { securityGreenTrackStyle } .security-green-fill { securityGreenFillStyle } .security-details { securityDetailsStyle } .security-summary { securitySummaryStyle } .security-plan { securityPlanTextStyle } .security-plan-list { securityOrderedListStyle } .security-cta { securityCtaRowStyle } .security-primary-button { securityPrimaryButtonStyle } .security-muted { securityMutedTextStyle } .security-form { securityFormStyle } .security-fields { securityFieldsStyle } .security-input { securityInputStyle } .security-wide-input { securityWideInputStyle } .security-submit-button { securitySubmitButtonStyle } .security-done { securityDoneStyle } } securityTheme { section.w3-theme-bg.security-section { id: "security-enhancements" role: "region" div.security-header { span.security-icon { text { 🔒 } } h2.security-title { text { Security Enhancements } } } p.security-lead { text { Harden applications, implement robust access controls, and ship compliance updates without slowing delivery. } } div.w3-theme-d3.security-tags { span.security-tag { text { OWASP ASVS } } span.security-tag { text { Zero Trust } } span.security-tag { text { SOC 2 } } span.security-tag { text { ISO 27001 } } } ul.w3-theme-d3.security-list { li { text { Hardened configs: headers, TLS, secrets management, and dependency risk reduction. } } li { text { Access controls: least privilege, MFA/SSO, and scoped API keys with rotation. } } li { text { Compliance updates: evidence collection, policy gaps, and audit-ready artifacts. } } } div.w3-theme-d3.security-metrics { div.security-metric-card { h3.security-metric-title { text { Before } } p.security-metric-text { text { High: 12 vulns • TTP: 21 days • MFA coverage: 38% } } div.security-red-track { div.security-red-fill { } } } div.security-metric-card { h3.security-metric-title { text { After } } p.security-metric-text { text { High: 0 vulns • TTP: 48 hrs • MFA coverage: 96% } } div.security-green-track { div.security-green-fill { } } } } details.security-details { summary.security-summary { text { What we do (quick plan) } } div.security-plan { ol.security-plan-list { li { text { Threat model hot paths; review authZ/authN flows and data boundaries. } } li { text { Harden: secure headers (CSP/HSTS), secret storage, dependency SCA, container/image policies. } } li { text { Access controls: RBAC/ABAC, token scopes, key rotation, least privilege IAM. } } li { text { Compliance: map controls to SOC 2/ISO27001, produce evidence and remediation logs. } } } } } div.w3-theme-d2.security-cta { button.security-primary-button { id: "secCtaBtn" type: "button" text { Request a security checkup } onclick { toggleSecForm(); } } span.security-muted { text { Lightweight review. Clear next steps. } } } form.security-form { id: "secForm" onsubmit { event.preventDefault(); this.querySelector("[data-done]").style.display = "inline"; this.querySelector("[data-fields]").style.display = "none"; } div.security-fields { data-fields: "" input.security-input { name: "email" type: "email" required: "required" placeholder: "security@company.com" } input.security-wide-input { name: "scope" type: "text" placeholder: "App/Repo/Cloud acct (optional)" } button.security-submit-button { type: "submit" text { Send } } } span.security-done { data-done: "" text { Thanks! We’ll follow up with a short checklist and recommendations. } } } } }