{"id":643,"date":"2026-01-25T14:26:31","date_gmt":"2026-01-25T14:26:31","guid":{"rendered":"https:\/\/www.opey.org\/opeyit\/?page_id=643"},"modified":"2026-02-13T11:52:30","modified_gmt":"2026-02-13T11:52:30","slug":"risk-assessment-scorecard","status":"publish","type":"page","link":"https:\/\/www.opey.org\/opeyit\/?page_id=643","title":{"rendered":"Risk Assessment Scorecard"},"content":{"rendered":"\n\n<div id=\"wcf-sovereign-risk\">\n\n<style>\n#wcf-sovereign-risk { font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif; color: #2d3748; line-height: 1.6; background: #f7f8fc; }\n#wcf-sovereign-risk * { box-sizing: border-box; }\n@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }\n@keyframes slideIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }\n@keyframes countUp { from { opacity: 0; } to { opacity: 1; } }\n@keyframes riskPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.4); } 50% { box-shadow: 0 0 0 15px rgba(220, 38, 38, 0); } }\n\n#wcf-sovereign-risk .wcf-hero { background: linear-gradient(145deg, #0f172a 0%, #1e3a5f 40%, #7c2d12 100%); padding: 60px 20px; text-align: center; }\n#wcf-sovereign-risk .wcf-hero-inner { max-width: 1000px; margin: 0 auto; }\n#wcf-sovereign-risk .wcf-alert-icon { font-size: 56px; color: #dc2626; font-weight: 700; display: block; margin-bottom: 20px; }\n#wcf-sovereign-risk .wcf-label { color: #f59e0b; font-size: 11px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 12px; display: block; }\n#wcf-sovereign-risk .wcf-title { color: #fff; font-size: 44px; font-weight: 800; margin: 0 0 12px; line-height: 1.1; }\n#wcf-sovereign-risk .wcf-subtitle { color: rgba(255,255,255,0.9); font-size: 20px; margin: 0 0 16px; }\n#wcf-sovereign-risk .wcf-hero-desc { color: rgba(255,255,255,0.7); font-size: 15px; max-width: 700px; margin: 0 auto 24px; }\n#wcf-sovereign-risk .wcf-live-badge { display: inline-block; background: #dc2626; color: #fff; padding: 4px 12px; border-radius: 20px; font-size: 10px; font-weight: 700; text-transform: uppercase; margin-left: 10px; animation: pulse 2s infinite; }\n\n#wcf-sovereign-risk .wcf-manifesto { background: linear-gradient(135deg, #7c2d12, #991b1b); padding: 50px 20px; text-align: center; border-bottom: 4px solid #f59e0b; }\n#wcf-sovereign-risk .wcf-manifesto-inner { max-width: 900px; margin: 0 auto; }\n#wcf-sovereign-risk .wcf-manifesto-quote { font-size: 28px; font-weight: 700; color: #fff; line-height: 1.4; margin: 0 0 20px; font-style: italic; }\n#wcf-sovereign-risk .wcf-manifesto-text { font-size: 16px; color: rgba(255,255,255,0.8); margin: 0; }\n\n#wcf-sovereign-risk .wcf-stats-bar { background: #0f172a; padding: 30px 20px; border-bottom: 4px solid #dc2626; }\n#wcf-sovereign-risk .wcf-stats-inner { max-width: 1100px; margin: 0 auto; display: flex; justify-content: space-around; flex-wrap: wrap; gap: 24px; text-align: center; }\n#wcf-sovereign-risk .wcf-stat { flex: 1; min-width: 130px; }\n#wcf-sovereign-risk .wcf-stat-num { font-size: 36px; font-weight: 800; color: #ef4444; display: block; }\n#wcf-sovereign-risk .wcf-stat-label { font-size: 10px; color: rgba(255,255,255,0.6); text-transform: uppercase; letter-spacing: 1.5px; }\n\n#wcf-sovereign-risk .wcf-section { padding: 50px 20px; }\n#wcf-sovereign-risk .wcf-section-inner { max-width: 1100px; margin: 0 auto; }\n#wcf-sovereign-risk .wcf-section-title { text-align: center; font-size: 32px; font-weight: 800; color: #0f172a; margin: 0 0 12px; }\n#wcf-sovereign-risk .wcf-section-subtitle { text-align: center; font-size: 16px; color: #64748b; margin: 0 auto 40px; max-width: 750px; }\n\n\/* RISK CALCULATOR *\/\n#wcf-sovereign-risk .wcf-calculator { background: #fff; }\n#wcf-sovereign-risk .wcf-calc-container { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }\n#wcf-sovereign-risk .wcf-calc-form { background: linear-gradient(145deg, #f8fafc, #f1f5f9); padding: 32px; border-radius: 16px; border: 1px solid #e2e8f0; }\n#wcf-sovereign-risk .wcf-calc-title { font-size: 20px; font-weight: 700; color: #0f172a; margin: 0 0 24px; }\n#wcf-sovereign-risk .wcf-form-group { margin-bottom: 20px; }\n#wcf-sovereign-risk .wcf-form-label { display: block; font-size: 12px; font-weight: 600; color: #475569; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 8px; }\n#wcf-sovereign-risk .wcf-form-select, #wcf-sovereign-risk .wcf-form-input { width: 100%; padding: 12px 16px; font-size: 15px; border: 2px solid #e2e8f0; border-radius: 8px; background: #fff; color: #0f172a; transition: all 0.2s; }\n#wcf-sovereign-risk .wcf-form-select:focus, #wcf-sovereign-risk .wcf-form-input:focus { outline: none; border-color: #dc2626; }\n#wcf-sovereign-risk .wcf-checkbox-group { display: flex; flex-wrap: wrap; gap: 10px; }\n#wcf-sovereign-risk .wcf-checkbox-item { display: flex; align-items: center; gap: 8px; padding: 8px 14px; background: #fff; border: 2px solid #e2e8f0; border-radius: 8px; cursor: pointer; transition: all 0.2s; }\n#wcf-sovereign-risk .wcf-checkbox-item:hover { border-color: #dc2626; }\n#wcf-sovereign-risk .wcf-checkbox-item.selected { background: #dc2626; border-color: #dc2626; color: #fff; }\n#wcf-sovereign-risk .wcf-checkbox-item input { display: none; }\n#wcf-sovereign-risk .wcf-calc-btn { width: 100%; padding: 16px 32px; font-size: 16px; font-weight: 700; background: linear-gradient(135deg, #dc2626, #991b1b); color: #fff; border: none; border-radius: 8px; cursor: pointer; transition: all 0.2s; margin-top: 10px; }\n#wcf-sovereign-risk .wcf-calc-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(220, 38, 38, 0.3); }\n\n#wcf-sovereign-risk .wcf-results-panel { background: linear-gradient(145deg, #0f172a, #1e3a5f); padding: 32px; border-radius: 16px; color: #fff; }\n#wcf-sovereign-risk .wcf-score-display { text-align: center; margin-bottom: 30px; }\n#wcf-sovereign-risk .wcf-score-label { font-size: 12px; color: rgba(255,255,255,0.6); text-transform: uppercase; letter-spacing: 2px; margin-bottom: 10px; }\n#wcf-sovereign-risk .wcf-score-value { font-size: 72px; font-weight: 800; line-height: 1; }\n#wcf-sovereign-risk .wcf-score-value.critical { color: #ef4444; }\n#wcf-sovereign-risk .wcf-score-value.high { color: #f97316; }\n#wcf-sovereign-risk .wcf-score-value.moderate { color: #f59e0b; }\n#wcf-sovereign-risk .wcf-score-value.low { color: #22c55e; }\n#wcf-sovereign-risk .wcf-score-rating { font-size: 18px; font-weight: 700; margin-top: 10px; text-transform: uppercase; letter-spacing: 2px; }\n#wcf-sovereign-risk .wcf-risk-meter { height: 12px; background: rgba(255,255,255,0.1); border-radius: 6px; overflow: hidden; margin: 20px 0; }\n#wcf-sovereign-risk .wcf-risk-fill { height: 100%; border-radius: 6px; transition: width 1s ease-out; }\n#wcf-sovereign-risk .wcf-risk-breakdown { margin-top: 24px; }\n#wcf-sovereign-risk .wcf-risk-item { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.1); }\n#wcf-sovereign-risk .wcf-risk-item:last-child { border-bottom: none; }\n#wcf-sovereign-risk .wcf-risk-name { color: rgba(255,255,255,0.7); font-size: 14px; }\n#wcf-sovereign-risk .wcf-risk-value { font-weight: 700; font-size: 14px; }\n\n\/* PROVIDER ANALYSIS *\/\n#wcf-sovereign-risk .wcf-providers { background: #f1f5f9; }\n#wcf-sovereign-risk .wcf-provider-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 24px; }\n#wcf-sovereign-risk .wcf-provider-card { background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 4px 20px rgba(0,0,0,0.06); border: 1px solid #e2e8f0; transition: all 0.3s; }\n#wcf-sovereign-risk .wcf-provider-card:hover { box-shadow: 0 8px 30px rgba(0,0,0,0.1); transform: translateY(-2px); }\n#wcf-sovereign-risk .wcf-provider-header { padding: 20px 24px; display: flex; align-items: center; gap: 16px; border-bottom: 1px solid #f1f5f9; }\n#wcf-sovereign-risk .wcf-provider-logo { width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 800; color: #fff; }\n#wcf-sovereign-risk .wcf-provider-logo.aws { background: linear-gradient(135deg, #ff9900, #ec7211); }\n#wcf-sovereign-risk .wcf-provider-logo.azure { background: linear-gradient(135deg, #0078d4, #005a9e); }\n#wcf-sovereign-risk .wcf-provider-logo.gcp { background: linear-gradient(135deg, #4285f4, #3367d6); }\n#wcf-sovereign-risk .wcf-provider-logo.cloudflare { background: linear-gradient(135deg, #f38020, #e6730f); }\n#wcf-sovereign-risk .wcf-provider-logo.meta { background: linear-gradient(135deg, #1877f2, #0d65d9); }\n#wcf-sovereign-risk .wcf-provider-name { font-size: 18px; font-weight: 700; color: #0f172a; }\n#wcf-sovereign-risk .wcf-provider-risk { padding: 4px 10px; border-radius: 20px; font-size: 11px; font-weight: 700; text-transform: uppercase; }\n#wcf-sovereign-risk .wcf-provider-risk.critical { background: #fef2f2; color: #dc2626; }\n#wcf-sovereign-risk .wcf-provider-risk.high { background: #fff7ed; color: #ea580c; }\n#wcf-sovereign-risk .wcf-provider-risk.moderate { background: #fffbeb; color: #d97706; }\n#wcf-sovereign-risk .wcf-provider-body { padding: 24px; }\n#wcf-sovereign-risk .wcf-provider-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 20px; }\n#wcf-sovereign-risk .wcf-pstat { text-align: center; padding: 12px; background: #f8fafc; border-radius: 8px; }\n#wcf-sovereign-risk .wcf-pstat-value { font-size: 24px; font-weight: 800; color: #dc2626; display: block; }\n#wcf-sovereign-risk .wcf-pstat-label { font-size: 10px; color: #64748b; text-transform: uppercase; letter-spacing: 0.5px; }\n#wcf-sovereign-risk .wcf-provider-incidents { max-height: 150px; overflow-y: auto; }\n#wcf-sovereign-risk .wcf-mini-incident { padding: 10px 12px; background: #f8fafc; border-radius: 8px; margin-bottom: 8px; border-left: 3px solid #dc2626; }\n#wcf-sovereign-risk .wcf-mini-incident:last-child { margin-bottom: 0; }\n#wcf-sovereign-risk .wcf-mini-date { font-size: 11px; color: #64748b; margin-bottom: 4px; }\n#wcf-sovereign-risk .wcf-mini-title { font-size: 13px; font-weight: 600; color: #0f172a; }\n\n\/* TRANSPARENCY GAP *\/\n#wcf-sovereign-risk .wcf-transparency { background: #fff; }\n#wcf-sovereign-risk .wcf-gap-card { background: linear-gradient(145deg, #fef2f2, #fff); border: 2px solid #fecaca; border-radius: 16px; padding: 32px; margin-bottom: 24px; }\n#wcf-sovereign-risk .wcf-gap-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 24px; flex-wrap: wrap; gap: 16px; }\n#wcf-sovereign-risk .wcf-gap-incident { flex: 1; min-width: 250px; }\n#wcf-sovereign-risk .wcf-gap-date { font-size: 12px; color: #64748b; margin-bottom: 4px; }\n#wcf-sovereign-risk .wcf-gap-title { font-size: 20px; font-weight: 700; color: #0f172a; margin: 0; }\n#wcf-sovereign-risk .wcf-gap-provider { display: inline-block; padding: 4px 12px; border-radius: 6px; font-size: 11px; font-weight: 700; text-transform: uppercase; background: linear-gradient(135deg, #dc2626, #991b1b); color: #fff; margin-top: 8px; }\n#wcf-sovereign-risk .wcf-gap-comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }\n#wcf-sovereign-risk .wcf-gap-side { padding: 20px; border-radius: 12px; }\n#wcf-sovereign-risk .wcf-gap-side.official { background: #f0fdf4; border: 1px solid #bbf7d0; }\n#wcf-sovereign-risk .wcf-gap-side.reality { background: #fef2f2; border: 1px solid #fecaca; }\n#wcf-sovereign-risk .wcf-gap-side-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 12px; }\n#wcf-sovereign-risk .wcf-gap-side.official .wcf-gap-side-label { color: #16a34a; }\n#wcf-sovereign-risk .wcf-gap-side.reality .wcf-gap-side-label { color: #dc2626; }\n#wcf-sovereign-risk .wcf-gap-metric { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid rgba(0,0,0,0.05); }\n#wcf-sovereign-risk .wcf-gap-metric:last-child { border-bottom: none; }\n#wcf-sovereign-risk .wcf-gap-metric-name { font-size: 13px; color: #475569; }\n#wcf-sovereign-risk .wcf-gap-metric-value { font-size: 13px; font-weight: 700; color: #0f172a; }\n#wcf-sovereign-risk .wcf-gap-verdict { margin-top: 20px; padding: 16px; background: linear-gradient(135deg, #0f172a, #1e3a5f); border-radius: 8px; }\n#wcf-sovereign-risk .wcf-gap-verdict-text { color: #f59e0b; font-size: 14px; font-weight: 600; margin: 0; text-align: center; }\n\n\/* INDUSTRY IMPACT *\/\n#wcf-sovereign-risk .wcf-industries { background: linear-gradient(145deg, #0f172a, #1e3a5f); color: #fff; }\n#wcf-sovereign-risk .wcf-industries .wcf-section-title { color: #fff; }\n#wcf-sovereign-risk .wcf-industries .wcf-section-subtitle { color: rgba(255,255,255,0.7); }\n#wcf-sovereign-risk .wcf-industry-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }\n#wcf-sovereign-risk .wcf-industry-card { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: 16px; padding: 28px; transition: all 0.3s; }\n#wcf-sovereign-risk .wcf-industry-card:hover { background: rgba(255,255,255,0.1); transform: translateY(-4px); }\n#wcf-sovereign-risk .wcf-industry-icon { width: 56px; height: 56px; background: linear-gradient(135deg, #dc2626, #991b1b); border-radius: 14px; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; font-size: 24px; }\n#wcf-sovereign-risk .wcf-industry-name { font-size: 20px; font-weight: 700; color: #fff; margin: 0 0 12px; }\n#wcf-sovereign-risk .wcf-industry-risk { font-size: 14px; color: #f87171; font-weight: 600; margin-bottom: 16px; }\n#wcf-sovereign-risk .wcf-industry-scenarios { list-style: none; padding: 0; margin: 0; }\n#wcf-sovereign-risk .wcf-industry-scenarios li { padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,0.1); font-size: 13px; color: rgba(255,255,255,0.7); }\n#wcf-sovereign-risk .wcf-industry-scenarios li:last-child { border-bottom: none; }\n#wcf-sovereign-risk .wcf-industry-scenarios li::before { content: \"!\"; display: inline-block; width: 18px; height: 18px; background: rgba(220, 38, 38, 0.3); border-radius: 50%; text-align: center; line-height: 18px; font-size: 10px; font-weight: 700; color: #f87171; margin-right: 10px; }\n\n\/* SCORECARD *\/\n#wcf-sovereign-risk .wcf-scorecard { background: #f1f5f9; }\n#wcf-sovereign-risk .wcf-scorecard-container { background: #fff; border-radius: 16px; box-shadow: 0 4px 20px rgba(0,0,0,0.06); overflow: hidden; }\n#wcf-sovereign-risk .wcf-scorecard-header { background: linear-gradient(135deg, #0f172a, #1e3a5f); padding: 32px; text-align: center; }\n#wcf-sovereign-risk .wcf-scorecard-title { color: #fff; font-size: 24px; font-weight: 800; margin: 0 0 8px; }\n#wcf-sovereign-risk .wcf-scorecard-subtitle { color: rgba(255,255,255,0.7); font-size: 14px; margin: 0; }\n#wcf-sovereign-risk .wcf-scorecard-body { padding: 32px; }\n#wcf-sovereign-risk .wcf-checklist { list-style: none; padding: 0; margin: 0 0 24px; }\n#wcf-sovereign-risk .wcf-checklist-item { display: flex; align-items: flex-start; gap: 16px; padding: 16px 0; border-bottom: 1px solid #f1f5f9; }\n#wcf-sovereign-risk .wcf-checklist-item:last-child { border-bottom: none; }\n#wcf-sovereign-risk .wcf-check-box { width: 24px; height: 24px; border: 2px solid #e2e8f0; border-radius: 6px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; cursor: pointer; transition: all 0.2s; }\n#wcf-sovereign-risk .wcf-check-box:hover { border-color: #dc2626; }\n#wcf-sovereign-risk .wcf-check-box.checked { background: #22c55e; border-color: #22c55e; color: #fff; }\n#wcf-sovereign-risk .wcf-check-content { flex: 1; }\n#wcf-sovereign-risk .wcf-check-title { font-size: 15px; font-weight: 600; color: #0f172a; margin-bottom: 4px; }\n#wcf-sovereign-risk .wcf-check-desc { font-size: 13px; color: #64748b; }\n#wcf-sovereign-risk .wcf-scorecard-progress { margin-top: 24px; padding-top: 24px; border-top: 1px solid #f1f5f9; }\n#wcf-sovereign-risk .wcf-progress-label { display: flex; justify-content: space-between; margin-bottom: 8px; }\n#wcf-sovereign-risk .wcf-progress-text { font-size: 14px; font-weight: 600; color: #0f172a; }\n#wcf-sovereign-risk .wcf-progress-value { font-size: 14px; font-weight: 700; color: #dc2626; }\n#wcf-sovereign-risk .wcf-progress-bar { height: 12px; background: #f1f5f9; border-radius: 6px; overflow: hidden; }\n#wcf-sovereign-risk .wcf-progress-fill { height: 100%; background: linear-gradient(90deg, #dc2626, #22c55e); border-radius: 6px; transition: width 0.5s; }\n#wcf-sovereign-risk .wcf-download-btn { display: block; width: 100%; padding: 16px 32px; font-size: 16px; font-weight: 700; background: linear-gradient(135deg, #f59e0b, #d97706); color: #0f172a; border: none; border-radius: 8px; cursor: pointer; transition: all 0.2s; margin-top: 24px; text-align: center; text-decoration: none; }\n#wcf-sovereign-risk .wcf-download-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(245, 158, 11, 0.3); }\n\n\/* CTA *\/\n#wcf-sovereign-risk .wcf-cta { background: linear-gradient(135deg, #f59e0b, #d97706); padding: 60px 20px; text-align: center; }\n#wcf-sovereign-risk .wcf-cta-title { font-size: 32px; font-weight: 800; color: #0f172a; margin: 0 0 12px; }\n#wcf-sovereign-risk .wcf-cta-text { font-size: 17px; color: #0f172a; opacity: 0.8; margin: 0 0 28px; }\n#wcf-sovereign-risk .wcf-cta-buttons { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; }\n#wcf-sovereign-risk .wcf-btn { display: inline-block; padding: 16px 32px; font-size: 15px; font-weight: 700; border-radius: 8px; cursor: pointer; border: none; transition: all 0.2s; text-decoration: none; }\n#wcf-sovereign-risk .wcf-btn-dark { background: #0f172a; color: #fff; }\n#wcf-sovereign-risk .wcf-btn-dark:hover { background: #1e293b; transform: translateY(-2px); }\n#wcf-sovereign-risk .wcf-btn-outline { background: transparent; color: #0f172a; border: 2px solid #0f172a; }\n#wcf-sovereign-risk .wcf-btn-outline:hover { background: #0f172a; color: #fff; }\n\n#wcf-sovereign-risk .wcf-hidden { display: none; }\n\n@media (max-width: 768px) {\n    #wcf-sovereign-risk .wcf-title { font-size: 32px; }\n    #wcf-sovereign-risk .wcf-manifesto-quote { font-size: 20px; }\n    #wcf-sovereign-risk .wcf-stat-num { font-size: 28px; }\n    #wcf-sovereign-risk .wcf-calc-container { grid-template-columns: 1fr; }\n    #wcf-sovereign-risk .wcf-gap-comparison { grid-template-columns: 1fr; }\n    #wcf-sovereign-risk .wcf-provider-grid { grid-template-columns: 1fr; }\n    #wcf-sovereign-risk .wcf-industry-grid { grid-template-columns: 1fr; }\n    #wcf-sovereign-risk .wcf-score-value { font-size: 56px; }\n}\n<\/style>\n\n<!-- HERO -->\n<div class=\"wcf-hero\">\n    <div class=\"wcf-hero-inner\">\n        <span class=\"wcf-alert-icon\">[!]<\/span>\n        <span class=\"wcf-label\">Board-Level Intelligence<\/span>\n        <h1 class=\"wcf-title\">Sovereign Risk Assessment<\/h1>\n        <p class=\"wcf-subtitle\">Is Your Cloud Strategy a Fiduciary Liability?<\/p>\n        <p class=\"wcf-hero-desc\">Stop thinking about &#8220;uptime&#8221; and start thinking about &#8220;unmitigated risk.&#8221; This tool transforms outage data into board-ready risk intelligence.<\/p>\n        <p style=\"color:rgba(255,255,255,0.5);font-size:12px;font-style:italic;\">Powered by real outage data<span class=\"wcf-live-badge\">Live Analysis<\/span><\/p>\n    <\/div>\n<\/div>\n\n<!-- MANIFESTO -->\n<div class=\"wcf-manifesto\">\n    <div class=\"wcf-manifesto-inner\">\n        <p class=\"wcf-manifesto-quote\">&#8220;If you do not own your infrastructure, you do not own your business. You are a tenant in a digital feudal system.&#8221;<\/p>\n        <p class=\"wcf-manifesto-text\">When you rely 100% on a single provider, you are not just using a service &#8211; you are outsourcing your company&#8217;s survival to a third party you cannot control. That is not a technology decision. That is fiduciary negligence.<\/p>\n    <\/div>\n<\/div>\n\n<!-- STATS BAR -->\n<div class=\"wcf-stats-bar\">\n    <div class=\"wcf-stats-inner\" id=\"risk-stats-container\">\n        <div class=\"wcf-stat\"><span class=\"wcf-stat-num\" id=\"stat-incidents\">&#8212;<\/span><span class=\"wcf-stat-label\">Critical Incidents (2020-2026)<\/span><\/div>\n        <div class=\"wcf-stat\"><span class=\"wcf-stat-num\" id=\"stat-impact\">&#8212;<\/span><span class=\"wcf-stat-label\">Total Economic Impact<\/span><\/div>\n        <div class=\"wcf-stat\"><span class=\"wcf-stat-num\" id=\"stat-avg-duration\">&#8212;<\/span><span class=\"wcf-stat-label\">Avg Critical Downtime<\/span><\/div>\n        <div class=\"wcf-stat\"><span class=\"wcf-stat-num\" id=\"stat-frequency\">&#8212;<\/span><span class=\"wcf-stat-label\">Critical Events Per Month<\/span><\/div>\n    <\/div>\n<\/div>\n\n<!-- RISK CALCULATOR -->\n<div class=\"wcf-section wcf-calculator\">\n    <div class=\"wcf-section-inner\">\n        <h2 class=\"wcf-section-title\">Sovereignty Score Calculator<\/h2>\n        <p class=\"wcf-section-subtitle\">Calculate your organization&#8217;s cloud dependency risk based on real outage data. Present this to your board.<\/p>\n        <div class=\"wcf-calc-container\">\n            <div class=\"wcf-calc-form\">\n                <h3 class=\"wcf-calc-title\">Your Cloud Profile<\/h3>\n                <div class=\"wcf-form-group\">\n                    <label class=\"wcf-form-label\">Primary Cloud Provider<\/label>\n                    <select class=\"wcf-form-select\" id=\"calc-primary\">\n                        <option value=\"\">Select primary provider&#8230;<\/option>\n                        <option value=\"aws\">Amazon Web Services (AWS)<\/option>\n                        <option value=\"azure\">Microsoft Azure \/ 365<\/option>\n                        <option value=\"gcp\">Google Cloud Platform<\/option>\n                        <option value=\"multi\">Multi-Cloud (2+ providers)<\/option>\n                    <\/select>\n                <\/div>\n                <div class=\"wcf-form-group\">\n                    <label class=\"wcf-form-label\">Additional Dependencies (Select all that apply)<\/label>\n                    <div class=\"wcf-checkbox-group\" id=\"calc-dependencies\">\n                        <div class=\"wcf-checkbox-item\" data-value=\"cloudflare\"><input type=\"checkbox\">Cloudflare<\/div>\n                        <div class=\"wcf-checkbox-item\" data-value=\"crowdstrike\"><input type=\"checkbox\">CrowdStrike<\/div>\n                        <div class=\"wcf-checkbox-item\" data-value=\"salesforce\"><input type=\"checkbox\">Salesforce<\/div>\n                        <div class=\"wcf-checkbox-item\" data-value=\"meta\"><input type=\"checkbox\">Meta Login<\/div>\n                        <div class=\"wcf-checkbox-item\" data-value=\"github\"><input type=\"checkbox\">GitHub<\/div>\n                        <div class=\"wcf-checkbox-item\" data-value=\"verizon\"><input type=\"checkbox\">Verizon<\/div>\n                    <\/div>\n                <\/div>\n                <div class=\"wcf-form-group\">\n                    <label class=\"wcf-form-label\">Company Size (Employees)<\/label>\n                    <select class=\"wcf-form-select\" id=\"calc-size\">\n                        <option value=\"\">Select company size&#8230;<\/option>\n                        <option value=\"small\">1-100 employees<\/option>\n                        <option value=\"medium\">101-1,000 employees<\/option>\n                        <option value=\"large\">1,001-10,000 employees<\/option>\n                        <option value=\"enterprise\">10,000+ employees<\/option>\n                    <\/select>\n                <\/div>\n                <div class=\"wcf-form-group\">\n                    <label class=\"wcf-form-label\">Industry<\/label>\n                    <select class=\"wcf-form-select\" id=\"calc-industry\">\n                        <option value=\"\">Select industry&#8230;<\/option>\n                        <option value=\"healthcare\">Healthcare \/ Life Sciences<\/option>\n                        <option value=\"financial\">Financial Services<\/option>\n                        <option value=\"retail\">Retail \/ E-Commerce<\/option>\n                        <option value=\"logistics\">Logistics \/ Supply Chain<\/option>\n                        <option value=\"government\">Government \/ Public Sector<\/option>\n                        <option value=\"technology\">Technology \/ SaaS<\/option>\n                        <option value=\"other\">Other<\/option>\n                    <\/select>\n                <\/div>\n                <button class=\"wcf-calc-btn\" onclick=\"calculateRisk()\">Calculate Sovereignty Score<\/button>\n            <\/div>\n            <div class=\"wcf-results-panel\" id=\"results-panel\">\n                <div class=\"wcf-score-display\">\n                    <div class=\"wcf-score-label\">Your Sovereignty Score<\/div>\n                    <div class=\"wcf-score-value critical\" id=\"score-value\">&#8212;<\/div>\n                    <div class=\"wcf-score-rating\" id=\"score-rating\">Complete Assessment Above<\/div>\n                <\/div>\n                <div class=\"wcf-risk-meter\">\n                    <div class=\"wcf-risk-fill\" id=\"risk-fill\" style=\"width: 0%; background: linear-gradient(90deg, #22c55e, #f59e0b, #dc2626);\"><\/div>\n                <\/div>\n                <div class=\"wcf-risk-breakdown\" id=\"risk-breakdown\">\n                    <div class=\"wcf-risk-item\"><span class=\"wcf-risk-name\">Provider Concentration Risk<\/span><span class=\"wcf-risk-value\" id=\"risk-concentration\">&#8212;<\/span><\/div>\n                    <div class=\"wcf-risk-item\"><span class=\"wcf-risk-name\">Historical Outage Exposure<\/span><span class=\"wcf-risk-value\" id=\"risk-historical\">&#8212;<\/span><\/div>\n                    <div class=\"wcf-risk-item\"><span class=\"wcf-risk-name\">Estimated Annual Exposure<\/span><span class=\"wcf-risk-value\" id=\"risk-cost\">&#8212;<\/span><\/div>\n                    <div class=\"wcf-risk-item\"><span class=\"wcf-risk-name\">Dependency Chain Depth<\/span><span class=\"wcf-risk-value\" id=\"risk-chain\">&#8212;<\/span><\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- PROVIDER ANALYSIS -->\n<div class=\"wcf-section wcf-providers\">\n    <div class=\"wcf-section-inner\">\n        <h2 class=\"wcf-section-title\">Provider Risk Profiles<\/h2>\n        <p class=\"wcf-section-subtitle\">Real failure data from the past 6 years. These are not theoretical risks &#8211; they already happened.<\/p>\n        <div class=\"wcf-provider-grid\" id=\"provider-grid\"><\/div>\n    <\/div>\n<\/div>\n\n<!-- TRANSPARENCY GAP -->\n<div class=\"wcf-section wcf-transparency\">\n    <div class=\"wcf-section-inner\">\n        <h2 class=\"wcf-section-title\">The Transparency Gap<\/h2>\n        <p class=\"wcf-section-subtitle\">What vendors say vs. what actually happens. The receipts do not lie.<\/p>\n        <div id=\"transparency-container\"><\/div>\n    <\/div>\n<\/div>\n\n<!-- INDUSTRY IMPACT -->\n<div class=\"wcf-section wcf-industries\">\n    <div class=\"wcf-section-inner\">\n        <h2 class=\"wcf-section-title\">Collateral Damage by Industry<\/h2>\n        <p class=\"wcf-section-subtitle\">Cloud failures do not just affect tech companies. They break real businesses and endanger real lives.<\/p>\n        <div class=\"wcf-industry-grid\">\n            <div class=\"wcf-industry-card\">\n                <div class=\"wcf-industry-icon\">+<\/div>\n                <h3 class=\"wcf-industry-name\">Healthcare<\/h3>\n                <div class=\"wcf-industry-risk\">Life-Critical Risk<\/div>\n                <ul class=\"wcf-industry-scenarios\">\n                    <li>Patient records inaccessible during emergencies<\/li>\n                    <li>Connected medical devices lose connectivity<\/li>\n                    <li>Prescription systems fail at pharmacies<\/li>\n                    <li>Telehealth appointments dropped mid-session<\/li>\n                <\/ul>\n            <\/div>\n            <div class=\"wcf-industry-card\">\n                <div class=\"wcf-industry-icon\">$<\/div>\n                <h3 class=\"wcf-industry-name\">Financial Services<\/h3>\n                <div class=\"wcf-industry-risk\">Trading and Settlement Risk<\/div>\n                <ul class=\"wcf-industry-scenarios\">\n                    <li>Trading platforms freeze during volatility<\/li>\n                    <li>Payment processing halts nationwide<\/li>\n                    <li>ATM networks go dark<\/li>\n                    <li>Settlement systems miss deadlines<\/li>\n                <\/ul>\n            <\/div>\n            <div class=\"wcf-industry-card\">\n                <div class=\"wcf-industry-icon\">><\/div>\n                <h3 class=\"wcf-industry-name\">Logistics<\/h3>\n                <div class=\"wcf-industry-risk\">Supply Chain Collapse<\/div>\n                <ul class=\"wcf-industry-scenarios\">\n                    <li>Fleet tracking loses visibility<\/li>\n                    <li>Warehouse management systems fail<\/li>\n                    <li>Just-in-time delivery schedules break<\/li>\n                    <li>Cold chain monitoring goes blind<\/li>\n                <\/ul>\n            <\/div>\n            <div class=\"wcf-industry-card\">\n                <div class=\"wcf-industry-icon\">#<\/div>\n                <h3 class=\"wcf-industry-name\">Retail<\/h3>\n                <div class=\"wcf-industry-risk\">Revenue Loss Per Minute<\/div>\n                <ul class=\"wcf-industry-scenarios\">\n                    <li>E-commerce sites return errors<\/li>\n                    <li>POS systems fail in stores<\/li>\n                    <li>Inventory sync breaks across channels<\/li>\n                    <li>Customer data becomes inaccessible<\/li>\n                <\/ul>\n            <\/div>\n            <div class=\"wcf-industry-card\">\n                <div class=\"wcf-industry-icon\">@<\/div>\n                <h3 class=\"wcf-industry-name\">Physical Security<\/h3>\n                <div class=\"wcf-industry-risk\">Access Control Failure<\/div>\n                <ul class=\"wcf-industry-scenarios\">\n                    <li>Smart locks fail to authenticate<\/li>\n                    <li>Security cameras lose recording<\/li>\n                    <li>Badge access systems go offline<\/li>\n                    <li>Alarm systems cannot communicate<\/li>\n                <\/ul>\n            <\/div>\n            <div class=\"wcf-industry-card\">\n                <div class=\"wcf-industry-icon\">*<\/div>\n                <h3 class=\"wcf-industry-name\">Government<\/h3>\n                <div class=\"wcf-industry-risk\">Public Service Disruption<\/div>\n                <ul class=\"wcf-industry-scenarios\">\n                    <li>Emergency services dispatching fails<\/li>\n                    <li>Benefits systems become unavailable<\/li>\n                    <li>Citizen portals return errors<\/li>\n                    <li>Inter-agency communication breaks<\/li>\n                <\/ul>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- SOVEREIGNTY SCORECARD -->\n<div class=\"wcf-section wcf-scorecard\">\n    <div class=\"wcf-section-inner\">\n        <h2 class=\"wcf-section-title\">Sovereignty Readiness Checklist<\/h2>\n        <p class=\"wcf-section-subtitle\">Use this checklist to assess your organization. Present this to your board as evidence of due diligence.<\/p>\n        <div class=\"wcf-scorecard-container\">\n            <div class=\"wcf-scorecard-header\">\n                <h3 class=\"wcf-scorecard-title\">Sovereign Infrastructure Standard<\/h3>\n                <p class=\"wcf-scorecard-subtitle\">Based on principles from &#8220;When Clouds Fail&#8221; by Steve Oppenheim<\/p>\n            <\/div>\n            <div class=\"wcf-scorecard-body\">\n                <ul class=\"wcf-checklist\" id=\"sovereignty-checklist\">\n                    <li class=\"wcf-checklist-item\">\n                        <div class=\"wcf-check-box\" onclick=\"toggleCheck(this)\"><\/div>\n                        <div class=\"wcf-check-content\">\n                            <div class=\"wcf-check-title\">Multi-Provider Identity<\/div>\n                            <div class=\"wcf-check-desc\">Authentication does not depend on a single cloud provider. Emergency admin access exists outside primary auth.<\/div>\n                        <\/div>\n                    <\/li>\n                    <li class=\"wcf-checklist-item\">\n                        <div class=\"wcf-check-box\" onclick=\"toggleCheck(this)\"><\/div>\n                        <div class=\"wcf-check-content\">\n                            <div class=\"wcf-check-title\">Data Portability<\/div>\n                            <div class=\"wcf-check-desc\">Critical data can be exported and restored to alternative infrastructure within 24 hours.<\/div>\n                        <\/div>\n                    <\/li>\n                    <li class=\"wcf-checklist-item\">\n                        <div class=\"wcf-check-box\" onclick=\"toggleCheck(this)\"><\/div>\n                        <div class=\"wcf-check-content\">\n                            <div class=\"wcf-check-title\">Multi-Region Deployment<\/div>\n                            <div class=\"wcf-check-desc\">Workloads are distributed across multiple geographic regions with automatic failover.<\/div>\n                        <\/div>\n                    <\/li>\n                    <li class=\"wcf-checklist-item\">\n                        <div class=\"wcf-check-box\" onclick=\"toggleCheck(this)\"><\/div>\n                        <div class=\"wcf-check-content\">\n                            <div class=\"wcf-check-title\">External Monitoring<\/div>\n                            <div class=\"wcf-check-desc\">Monitoring and alerting infrastructure is hosted separately from primary systems.<\/div>\n                        <\/div>\n                    <\/li>\n                    <li class=\"wcf-checklist-item\">\n                        <div class=\"wcf-check-box\" onclick=\"toggleCheck(this)\"><\/div>\n                        <div class=\"wcf-check-content\">\n                            <div class=\"wcf-check-title\">Vendor Diversity<\/div>\n                            <div class=\"wcf-check-desc\">No single vendor represents more than 70% of critical infrastructure spend or dependency.<\/div>\n                        <\/div>\n                    <\/li>\n                    <li class=\"wcf-checklist-item\">\n                        <div class=\"wcf-check-box\" onclick=\"toggleCheck(this)\"><\/div>\n                        <div class=\"wcf-check-content\">\n                            <div class=\"wcf-check-title\">Communication Fallback<\/div>\n                            <div class=\"wcf-check-desc\">Alternative communication channels exist that do not depend on primary cloud provider.<\/div>\n                        <\/div>\n                    <\/li>\n                    <li class=\"wcf-checklist-item\">\n                        <div class=\"wcf-check-box\" onclick=\"toggleCheck(this)\"><\/div>\n                        <div class=\"wcf-check-content\">\n                            <div class=\"wcf-check-title\">N-Tier Dependency Audit<\/div>\n                            <div class=\"wcf-check-desc\">Third-party SaaS dependencies have been audited for their underlying cloud providers.<\/div>\n                        <\/div>\n                    <\/li>\n                    <li class=\"wcf-checklist-item\">\n                        <div class=\"wcf-check-box\" onclick=\"toggleCheck(this)\"><\/div>\n                        <div class=\"wcf-check-content\">\n                            <div class=\"wcf-check-title\">Tested Recovery Plan<\/div>\n                            <div class=\"wcf-check-desc\">Disaster recovery has been tested within the last 6 months with documented results.<\/div>\n                        <\/div>\n                    <\/li>\n                <\/ul>\n                <div class=\"wcf-scorecard-progress\">\n                    <div class=\"wcf-progress-label\">\n                        <span class=\"wcf-progress-text\">Sovereignty Readiness<\/span>\n                        <span class=\"wcf-progress-value\" id=\"checklist-progress\">0 \/ 8<\/span>\n                    <\/div>\n                    <div class=\"wcf-progress-bar\">\n                        <div class=\"wcf-progress-fill\" id=\"checklist-fill\" style=\"width: 0%;\"><\/div>\n                    <\/div>\n                <\/div>\n                <a href=\"#\" class=\"wcf-download-btn\" onclick=\"downloadScorecard(); return false;\">Download Board-Ready Report (PDF)<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- CTA -->\n<div class=\"wcf-cta\">\n    <h2 class=\"wcf-cta-title\">Stop Being a Digital Tenant<\/h2>\n    <p class=\"wcf-cta-text\">Get the frameworks, templates, and strategies to transform from cloud-dependent to sovereign-ready.<\/p>\n    <div class=\"wcf-cta-buttons\">\n        <a href=\"https:\/\/www.amazon.com\/dp\/B0GHP5RV68\" class=\"wcf-btn wcf-btn-dark\">Get the Book<\/a>\n        <a href=\"https:\/\/www.opey.org\/opeyit\/?page_id=327#wcf-downloads-section\" class=\"wcf-btn wcf-btn-dark\">Free Templates (44)<\/a>\n        <a href=\"https:\/\/www.opey.org\/opeyit\/?page_id=14\" class=\"wcf-btn wcf-btn-outline\">Advisory Services<\/a>\n    <\/div>\n<\/div>\n\n<\/div>\n\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jspdf\/2.5.1\/jspdf.umd.min.js\"><\/script>\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jspdf-autotable\/3.8.1\/jspdf.plugin.autotable.min.js\"><\/script>\n\n<script>\n(function() {\n    var SHEET_ID = '11SvFM_W9LB661CrcOVMrOiY0coSV1xIQrKCrOZJnqKE';\n    var incidentData = [];\n\n    var FALLBACK = [\n        { date: \"Jan 23, 2026\", year: \"2026\", providers: [\"xAI\", \"Grok\"], title: \"Grok AI Inference Cluster Outage\", severity: \"moderate\", scope: \"US Regional\", duration: \"2h 36m\", costestimate: \"$2.2M - $5.5M\", userreports: \"8,500+\", description: \"Weight update caused auto-scaling failures.\", sovereigntytext: \"Regional compute failures paralyze automated decision-making.\" },\n        { date: \"Jan 22, 2026\", year: \"2026\", providers: [\"Microsoft\", \"Azure\"], title: \"Microsoft 365 and Azure Infrastructure Failure\", severity: \"critical\", scope: \"Global\", duration: \"6h 12m\", costestimate: \"$1.1B - $1.6B\", userreports: \"16,000+\", description: \"Centralized control plane failed to process traffic.\", sovereigntytext: \"Reveals systemic fragility in centralized control planes.\" },\n        { date: \"Jan 22, 2026\", year: \"2026\", providers: [\"Cloudflare\"], title: \"Cloudflare IPv6 BGP Route Leak\", severity: \"major\", scope: \"Americas\", duration: \"25m\", costestimate: \"$80M - $120M\", description: \"Automated routing policy error leaked IPv6 prefixes.\", sovereigntytext: \"One router configuration can destabilize global flow.\" },\n        { date: \"Jan 14, 2026\", year: \"2026\", providers: [\"Verizon\"], title: \"Verizon Nationwide Wireless Collapse\", severity: \"critical\", scope: \"United States\", duration: \"9h 30m\", costestimate: \"$650M - $900M\", userreports: \"180,000+\", description: \"Core network software update caused signaling storm.\", sovereigntytext: \"When your carrier fails, your mobile workforce goes dark.\" },\n        { date: \"Jan 8, 2026\", year: \"2026\", providers: [\"Meta\", \"Facebook\"], title: \"Meta Global Infrastructure Blackout\", severity: \"critical\", scope: \"Global\", duration: \"5h 30m\", costestimate: \"$1.4B - $2.1B\", userreports: \"2,000,000+\", description: \"Routing failures made Meta invisible to the internet.\", sovereigntytext: \"Relying on social providers for identity is a sovereignty failure.\" },\n        { date: \"Jan 8, 2026\", year: \"2026\", providers: [\"Google Cloud\"], title: \"Google Cloud Global Hardware Anomaly\", severity: \"critical\", scope: \"Multi-Region\", duration: \"4h 15m\", costestimate: \"$750M - $950M\", userreports: \"65,000+\", description: \"Hardware power anomaly broke multi-region resilience.\", sovereigntytext: \"Audit N-tier dependencies.\" },\n        { date: \"Nov 18, 2025\", year: \"2025\", providers: [\"Cloudflare\"], title: \"Cloudflare Bot Management Failure\", severity: \"critical\", scope: \"Global\", duration: \"3h\", costestimate: \"$250M - $300M\", description: \"Bot management file overflow took down major sites.\", sovereigntytext: \"When your security provider goes down, you are both unprotected AND offline.\" },\n        { date: \"Oct 29, 2025\", year: \"2025\", providers: [\"Azure\"], title: \"Azure Global Front Door Outage\", severity: \"critical\", scope: \"Global\", duration: \"8h 24m\", costestimate: \"$600M - $900M\", description: \"Edge nodes refused incoming connections.\", sovereigntytext: \"When your entry point fails, everything behind it becomes unreachable.\" },\n        { date: \"Oct 20, 2025\", year: \"2025\", providers: [\"AWS\"], title: \"AWS US-EAST-1 DynamoDB DNS Cascade\", severity: \"critical\", scope: \"Global\", duration: \"15h\", costestimate: \"$1.5B - $2.5B\", userreports: \"4,000,000+\", description: \"Largest AWS outage. Race condition in DynamoDB DNS.\", sovereigntytext: \"US-EAST-1 hosts AWS global control plane.\" },\n        { date: \"Jun 12, 2025\", year: \"2025\", providers: [\"Google Cloud\"], title: \"Google Service Control Crash Loop\", severity: \"critical\", scope: \"Global\", duration: \"7h\", costestimate: \"$700M - $1B\", description: \"Null-pointer bug in Service Control crashed 54 products.\", sovereigntytext: \"Service Control is foundational. When it fails, the ecosystem collapses.\" },\n        { date: \"Jul 19, 2024\", year: \"2024\", providers: [\"CrowdStrike\", \"Microsoft\"], title: \"CrowdStrike Falcon - Largest IT Outage in History\", severity: \"critical\", scope: \"Global\", duration: \"Days\", costestimate: \"$5.4B+\", devicesaffected: \"8.5M Windows\", description: \"Faulty update caused BSOD on 8.5 million devices.\", sovereigntytext: \"Your security vendor update pipeline is critical infrastructure.\" },\n        { date: \"Jul 18, 2024\", year: \"2024\", providers: [\"Azure\"], title: \"Azure Central US Storage Incident\", severity: \"major\", scope: \"Central US\", duration: \"15h\", costestimate: \"$200M - $400M\", description: \"Storage incident blocked backend access.\", sovereigntytext: \"Compounding failures multiply impact.\" },\n        { date: \"Jun 21, 2022\", year: \"2022\", providers: [\"Cloudflare\"], title: \"Cloudflare BGP Configuration Error\", severity: \"critical\", scope: \"Global\", duration: \"1.5h\", costestimate: \"$250M - $300M\", description: \"19 data centers caused BGP prefix reordering.\", sovereigntytext: \"A handful of data centers handle disproportionate traffic.\" },\n        { date: \"Dec 7, 2021\", year: \"2021\", providers: [\"AWS\"], title: \"AWS US-EAST-1 Network Congestion\", severity: \"critical\", scope: \"Global\", duration: \"7h\", costestimate: \"$500M - $1B\", description: \"Automated scaling overwhelmed networking devices.\", sovereigntytext: \"When monitoring runs on infrastructure it monitors, you are blind.\" },\n        { date: \"Oct 4, 2021\", year: \"2021\", providers: [\"Meta\", \"Facebook\"], title: \"Facebook Global BGP Disaster\", severity: \"critical\", scope: \"Global\", duration: \"6h\", costestimate: \"$100M+\", description: \"Maintenance withdrew BGP routes.\", sovereigntytext: \"When you withdraw BGP routes, you cease to exist.\" },\n        { date: \"Dec 14, 2020\", year: \"2020\", providers: [\"Google Cloud\"], title: \"Google Authentication Quota Exhaustion\", severity: \"critical\", scope: \"Global\", duration: \"50m\", costestimate: \"$200M - $400M\", description: \"Quota system triggered storage reduction.\", sovereigntytext: \"Quota system changes have delayed effects.\" },\n        { date: \"Nov 25, 2020\", year: \"2020\", providers: [\"AWS\"], title: \"AWS Kinesis Thread Exhaustion\", severity: \"critical\", scope: \"US-EAST-1\", duration: \"8h\", costestimate: \"$300M - $500M\", description: \"Adding capacity exceeded OS thread limit.\", sovereigntytext: \"Scaling up can be as dangerous as scaling down.\" }\n    ];\n\n    var providerRiskProfiles = {\n        'aws': { name: 'Amazon Web Services', risk: 'critical', color: '#ff9900', incidents: 0, totalDowntime: 0, totalCost: 0 },\n        'azure': { name: 'Microsoft Azure\/365', risk: 'critical', color: '#0078d4', incidents: 0, totalDowntime: 0, totalCost: 0 },\n        'gcp': { name: 'Google Cloud', risk: 'high', color: '#4285f4', incidents: 0, totalDowntime: 0, totalCost: 0 },\n        'cloudflare': { name: 'Cloudflare', risk: 'high', color: '#f38020', incidents: 0, totalDowntime: 0, totalCost: 0 },\n        'meta': { name: 'Meta\/Facebook', risk: 'critical', color: '#1877f2', incidents: 0, totalDowntime: 0, totalCost: 0 }\n    };\n\n    function loadData() {\n        var url = 'https:\/\/docs.google.com\/spreadsheets\/d\/' + SHEET_ID + '\/gviz\/tq?tqx=out:json&gid=0&headers=1';\n        \n        fetch(url)\n            .then(function(r) { return r.ok ? r.text() : Promise.reject('HTTP ' + r.status); })\n            .then(function(text) {\n                var start = text.indexOf('{');\n                var end = text.lastIndexOf('}');\n                if (start === -1) throw new Error('No JSON');\n                var json = JSON.parse(text.substring(start, end + 1));\n                var headers = json.table.cols.map(function(c) { return (c.label || c.id || '').trim(); });\n                if (headers.every(function(h) { return \/^[A-Za-z]$\/.test(h); })) {\n                    headers = json.table.rows[0].c.map(function(c) { return c ? String(c.v || '').trim() : ''; });\n                    json.table.rows.shift();\n                }\n                incidentData = json.table.rows.map(function(row) {\n                    if (!row || !row.c) return null;\n                    var obj = {};\n                    row.c.forEach(function(cell, i) {\n                        if (headers[i]) {\n                            var val = cell ? (cell.f || (cell.v != null ? String(cell.v) : '')) : '';\n                            obj[headers[i]] = val.trim();\n                        }\n                    });\n                    obj.providers = obj.providers ? obj.providers.split(',').map(function(p) { return p.trim(); }) : [];\n                    return obj;\n                }).filter(function(o) { return o && o.date && o.title && o.severity; });\n                if (incidentData.length === 0) throw new Error('No data');\n                renderAll();\n            })\n            .catch(function() {\n                incidentData = FALLBACK;\n                renderAll();\n            });\n    }\n\n    function getField(obj, fieldName) {\n        if (obj[fieldName] && String(obj[fieldName]).trim()) return String(obj[fieldName]);\n        var lower = fieldName.toLowerCase();\n        for (var key in obj) {\n            if (key.toLowerCase() === lower && obj[key]) return String(obj[key]);\n        }\n        return '';\n    }\n\n    function parseDuration(str) {\n        if (!str) return 0;\n        var hours = 0;\n        var hMatch = str.match(\/(\\d+\\.?\\d*)\\s*h\/i);\n        var mMatch = str.match(\/(\\d+)\\s*m\/i);\n        if (hMatch) hours += parseFloat(hMatch[1]);\n        if (mMatch) hours += parseInt(mMatch[1]) \/ 60;\n        if (!hMatch && !mMatch) {\n            var num = parseFloat(str);\n            if (!isNaN(num)) hours = num;\n        }\n        return hours;\n    }\n\n    function parseCost(str) {\n        if (!str) return 0;\n        var m = str.match(\/([\\d.]+)\\s*([BMK])?\/gi);\n        if (m && m.length > 0) {\n            var last = m[m.length - 1];\n            var nm = last.match(\/([\\d.]+)\\s*([BMK])?\/i);\n            if (nm) {\n                var n = parseFloat(nm[1]);\n                var s = (nm[2] || '').toUpperCase();\n                if (s === 'B') return n * 1000000000;\n                if (s === 'M') return n * 1000000;\n                if (s === 'K') return n * 1000;\n                return n;\n            }\n        }\n        return 0;\n    }\n\n    function formatCost(n) {\n        if (n >= 1000000000) return '$' + (n \/ 1000000000).toFixed(1) + 'B';\n        if (n >= 1000000) return '$' + (n \/ 1000000).toFixed(0) + 'M';\n        if (n >= 1000) return '$' + (n \/ 1000).toFixed(0) + 'K';\n        return '$' + n;\n    }\n\n    function renderAll() {\n        renderStats();\n        renderProviders();\n        renderTransparency();\n        setupCalculator();\n    }\n\n    function renderStats() {\n        var criticalIncidents = incidentData.filter(function(i) { return i.severity === 'critical'; });\n        var totalCost = 0;\n        var totalDuration = 0;\n        incidentData.forEach(function(i) {\n            totalCost += parseCost(getField(i, 'costestimate'));\n            totalDuration += parseDuration(getField(i, 'duration'));\n        });\n        var avgDuration = criticalIncidents.length > 0 ? totalDuration \/ criticalIncidents.length : 0;\n        var monthsSpan = 72;\n        var frequency = (criticalIncidents.length \/ monthsSpan).toFixed(1);\n\n        document.getElementById('stat-incidents').textContent = criticalIncidents.length + '+';\n        document.getElementById('stat-impact').textContent = formatCost(totalCost) + '+';\n        document.getElementById('stat-avg-duration').textContent = avgDuration.toFixed(1) + 'h';\n        document.getElementById('stat-frequency').textContent = frequency;\n    }\n\n    function renderProviders() {\n        var profiles = JSON.parse(JSON.stringify(providerRiskProfiles));\n        \n        incidentData.forEach(function(inc) {\n            var providers = inc.providers || [];\n            var cost = parseCost(getField(inc, 'costestimate'));\n            var duration = parseDuration(getField(inc, 'duration'));\n            \n            providers.forEach(function(p) {\n                var key = p.toLowerCase().replace(\/\\s+\/g, '');\n                if (key.indexOf('aws') >= 0 || key.indexOf('amazon') >= 0) key = 'aws';\n                else if (key.indexOf('azure') >= 0 || key.indexOf('microsoft') >= 0) key = 'azure';\n                else if (key.indexOf('google') >= 0 || key.indexOf('gcp') >= 0) key = 'gcp';\n                else if (key.indexOf('cloudflare') >= 0) key = 'cloudflare';\n                else if (key.indexOf('meta') >= 0 || key.indexOf('facebook') >= 0) key = 'meta';\n                \n                if (profiles[key]) {\n                    profiles[key].incidents++;\n                    profiles[key].totalCost += cost \/ providers.length;\n                    profiles[key].totalDowntime += duration;\n                    if (!profiles[key].recentIncidents) profiles[key].recentIncidents = [];\n                    profiles[key].recentIncidents.push({ date: inc.date, title: inc.title });\n                }\n            });\n        });\n\n        var grid = document.getElementById('provider-grid');\n        var html = '';\n        \n        ['aws', 'azure', 'gcp', 'cloudflare', 'meta'].forEach(function(key) {\n            var p = profiles[key];\n            if (p.incidents > 0) {\n                var recent = (p.recentIncidents || []).slice(0, 3);\n                html += '<div class=\"wcf-provider-card\">' +\n                    '<div class=\"wcf-provider-header\">' +\n                    '<div class=\"wcf-provider-logo ' + key + '\">' + key.charAt(0).toUpperCase() + '<\/div>' +\n                    '<div style=\"flex:1\"><div class=\"wcf-provider-name\">' + p.name + '<\/div><\/div>' +\n                    '<span class=\"wcf-provider-risk ' + p.risk + '\">' + p.risk + ' Risk<\/span>' +\n                    '<\/div>' +\n                    '<div class=\"wcf-provider-body\">' +\n                    '<div class=\"wcf-provider-stats\">' +\n                    '<div class=\"wcf-pstat\"><span class=\"wcf-pstat-value\">' + p.incidents + '<\/span><span class=\"wcf-pstat-label\">Incidents<\/span><\/div>' +\n                    '<div class=\"wcf-pstat\"><span class=\"wcf-pstat-value\">' + p.totalDowntime.toFixed(0) + 'h<\/span><span class=\"wcf-pstat-label\">Total Downtime<\/span><\/div>' +\n                    '<div class=\"wcf-pstat\"><span class=\"wcf-pstat-value\">' + formatCost(p.totalCost) + '<\/span><span class=\"wcf-pstat-label\">Est. Impact<\/span><\/div>' +\n                    '<div class=\"wcf-pstat\"><span class=\"wcf-pstat-value\">' + (p.totalDowntime \/ p.incidents).toFixed(1) + 'h<\/span><span class=\"wcf-pstat-label\">Avg Duration<\/span><\/div>' +\n                    '<\/div>' +\n                    '<div class=\"wcf-provider-incidents\">';\n                \n                recent.forEach(function(r) {\n                    html += '<div class=\"wcf-mini-incident\"><div class=\"wcf-mini-date\">' + r.date + '<\/div><div class=\"wcf-mini-title\">' + r.title + '<\/div><\/div>';\n                });\n                \n                html += '<\/div><\/div><\/div>';\n            }\n        });\n        \n        grid.innerHTML = html;\n    }\n\n    function renderTransparency() {\n        var container = document.getElementById('transparency-container');\n        var criticalIncidents = incidentData.filter(function(i) { return i.severity === 'critical'; }).slice(0, 3);\n        var html = '';\n        \n        criticalIncidents.forEach(function(inc) {\n            var providers = (inc.providers || []).join(', ');\n            var cost = getField(inc, 'costestimate') || 'Not disclosed';\n            var duration = getField(inc, 'duration') || 'Hours';\n            var users = getField(inc, 'userreports') || 'Thousands';\n            \n            html += '<div class=\"wcf-gap-card\">' +\n                '<div class=\"wcf-gap-header\">' +\n                '<div class=\"wcf-gap-incident\">' +\n                '<div class=\"wcf-gap-date\">' + inc.date + '<\/div>' +\n                '<h3 class=\"wcf-gap-title\">' + inc.title + '<\/h3>' +\n                '<span class=\"wcf-gap-provider\">' + providers + '<\/span>' +\n                '<\/div>' +\n                '<\/div>' +\n                '<div class=\"wcf-gap-comparison\">' +\n                '<div class=\"wcf-gap-side official\">' +\n                '<div class=\"wcf-gap-side-label\">What They Said<\/div>' +\n                '<div class=\"wcf-gap-metric\"><span class=\"wcf-gap-metric-name\">Status Page<\/span><span class=\"wcf-gap-metric-value\">Investigating<\/span><\/div>' +\n                '<div class=\"wcf-gap-metric\"><span class=\"wcf-gap-metric-name\">Initial Response<\/span><span class=\"wcf-gap-metric-value\">30-60 min delay<\/span><\/div>' +\n                '<div class=\"wcf-gap-metric\"><span class=\"wcf-gap-metric-name\">Impact Disclosed<\/span><span class=\"wcf-gap-metric-value\">Partial\/Limited<\/span><\/div>' +\n                '<div class=\"wcf-gap-metric\"><span class=\"wcf-gap-metric-name\">Cost Disclosure<\/span><span class=\"wcf-gap-metric-value\">None<\/span><\/div>' +\n                '<\/div>' +\n                '<div class=\"wcf-gap-side reality\">' +\n                '<div class=\"wcf-gap-side-label\">What Actually Happened<\/div>' +\n                '<div class=\"wcf-gap-metric\"><span class=\"wcf-gap-metric-name\">Real Duration<\/span><span class=\"wcf-gap-metric-value\">' + duration + '<\/span><\/div>' +\n                '<div class=\"wcf-gap-metric\"><span class=\"wcf-gap-metric-name\">User Reports<\/span><span class=\"wcf-gap-metric-value\">' + users + '<\/span><\/div>' +\n                '<div class=\"wcf-gap-metric\"><span class=\"wcf-gap-metric-name\">Actual Impact<\/span><span class=\"wcf-gap-metric-value\">Global\/Critical<\/span><\/div>' +\n                '<div class=\"wcf-gap-metric\"><span class=\"wcf-gap-metric-name\">Est. Cost<\/span><span class=\"wcf-gap-metric-value\">' + cost + '<\/span><\/div>' +\n                '<\/div>' +\n                '<\/div>' +\n                '<div class=\"wcf-gap-verdict\"><p class=\"wcf-gap-verdict-text\">' + (getField(inc, 'sovereigntytext') || 'Your vendor is not telling you the whole story.') + '<\/p><\/div>' +\n                '<\/div>';\n        });\n        \n        container.innerHTML = html;\n    }\n\n    function setupCalculator() {\n        var checkboxes = document.querySelectorAll('.wcf-checkbox-item');\n        checkboxes.forEach(function(cb) {\n            cb.addEventListener('click', function() {\n                this.classList.toggle('selected');\n            });\n        });\n    }\n\n    window.calculateRisk = function() {\n        var primary = document.getElementById('calc-primary').value;\n        var size = document.getElementById('calc-size').value;\n        var industry = document.getElementById('calc-industry').value;\n        \n        if (!primary || !size || !industry) {\n            alert('Please complete all fields to calculate your risk score.');\n            return;\n        }\n        \n        var selectedDeps = document.querySelectorAll('.wcf-checkbox-item.selected');\n        var depCount = selectedDeps.length;\n        \n        var baseRisk = 0;\n        if (primary === 'aws') baseRisk = 75;\n        else if (primary === 'azure') baseRisk = 80;\n        else if (primary === 'gcp') baseRisk = 70;\n        else if (primary === 'multi') baseRisk = 45;\n        \n        baseRisk += depCount * 5;\n        \n        if (size === 'enterprise') baseRisk += 10;\n        else if (size === 'large') baseRisk += 5;\n        \n        if (industry === 'healthcare' || industry === 'financial') baseRisk += 15;\n        else if (industry === 'government') baseRisk += 10;\n        else if (industry === 'logistics' || industry === 'retail') baseRisk += 5;\n        \n        var score = Math.min(100, Math.max(0, baseRisk));\n        var rating, ratingClass;\n        \n        if (score >= 80) { rating = 'Critical Risk'; ratingClass = 'critical'; }\n        else if (score >= 60) { rating = 'High Risk'; ratingClass = 'high'; }\n        else if (score >= 40) { rating = 'Moderate Risk'; ratingClass = 'moderate'; }\n        else { rating = 'Lower Risk'; ratingClass = 'low'; }\n        \n        document.getElementById('score-value').textContent = score;\n        document.getElementById('score-value').className = 'wcf-score-value ' + ratingClass;\n        document.getElementById('score-rating').textContent = rating;\n        document.getElementById('risk-fill').style.width = score + '%';\n        \n        var costMultiplier = { small: 11000, medium: 50000, large: 200000, enterprise: 500000 };\n        var baseCostPerMin = costMultiplier[size] || 50000;\n        var avgDowntimeMin = 240;\n        var annualExposure = baseCostPerMin * avgDowntimeMin * 2.5;\n        \n        document.getElementById('risk-concentration').textContent = (primary === 'multi' ? 'Distributed' : 'Single Provider');\n        document.getElementById('risk-historical').textContent = score >= 70 ? 'High Exposure' : (score >= 50 ? 'Moderate' : 'Lower');\n        document.getElementById('risk-cost').textContent = formatCost(annualExposure) + '\/year';\n        document.getElementById('risk-chain').textContent = (depCount + 1) + ' providers';\n    };\n\n    window.toggleCheck = function(el) {\n        el.classList.toggle('checked');\n        if (el.classList.contains('checked')) {\n            el.innerHTML = '&#10003;';\n        } else {\n            el.innerHTML = '';\n        }\n        updateChecklistProgress();\n    };\n\n    function updateChecklistProgress() {\n        var checked = document.querySelectorAll('.wcf-check-box.checked').length;\n        var total = document.querySelectorAll('.wcf-check-box').length;\n        document.getElementById('checklist-progress').textContent = checked + ' \/ ' + total;\n        document.getElementById('checklist-fill').style.width = (checked \/ total * 100) + '%';\n    }\n\n    window.downloadScorecard = function() {\n        if (typeof window.jspdf === 'undefined') {\n            alert('PDF library not loaded. Please try again.');\n            return;\n        }\n        \n        var jsPDF = window.jspdf.jsPDF;\n        var doc = new jsPDF('p', 'mm', 'a4');\n        \n        doc.setFillColor(15, 23, 42);\n        doc.rect(0, 0, 210, 50, 'F');\n        \n        doc.setFontSize(24);\n        doc.setTextColor(255, 255, 255);\n        doc.text('Sovereign Risk Assessment', 20, 25);\n        \n        doc.setFontSize(12);\n        doc.setTextColor(200, 200, 200);\n        doc.text('Generated: ' + new Date().toLocaleDateString(), 20, 35);\n        doc.text('Source: When Clouds Fail by Steve Oppenheim', 20, 42);\n        \n        doc.setTextColor(0, 0, 0);\n        doc.setFontSize(16);\n        doc.text('Sovereignty Readiness Checklist', 20, 65);\n        \n        var items = [\n            'Multi-Provider Identity',\n            'Data Portability',\n            'Multi-Region Deployment',\n            'External Monitoring',\n            'Vendor Diversity',\n            'Communication Fallback',\n            'N-Tier Dependency Audit',\n            'Tested Recovery Plan'\n        ];\n        \n        var checkboxes = document.querySelectorAll('.wcf-check-box');\n        var y = 80;\n        \n        doc.setFontSize(11);\n        items.forEach(function(item, i) {\n            var isChecked = checkboxes[i] && checkboxes[i].classList.contains('checked');\n            doc.setFillColor(isChecked ? 34 : 220, isChecked ? 197 : 220, isChecked ? 94 : 220);\n            doc.rect(20, y - 4, 5, 5, 'F');\n            doc.text(item, 30, y);\n            y += 10;\n        });\n        \n        var checked = document.querySelectorAll('.wcf-check-box.checked').length;\n        y += 10;\n        doc.setFontSize(14);\n        doc.text('Readiness Score: ' + checked + ' \/ 8 (' + Math.round(checked \/ 8 * 100) + '%)', 20, y);\n        \n        y += 20;\n        doc.setFontSize(10);\n        doc.setTextColor(100, 100, 100);\n        doc.text('This assessment is based on the Sovereign Infrastructure Standard from', 20, y);\n        doc.text('\"When Clouds Fail\" by Steve Oppenheim. Learn more at www.opey.org', 20, y + 5);\n        \n        doc.save('sovereign-risk-assessment-' + new Date().toISOString().split('T')[0] + '.pdf');\n    };\n\n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', loadData);\n    } else {\n        loadData();\n    }\n})();\n<\/script>\n\n\n\n\n\n<p><\/p>\n\n\n\n<div id=\"elemID031021\" style=\"line-height:16px;text-align:center;z-index:100000;\"><a title=\"wix guests ip\" href=\"https:\/\/www.tracemyip.org\/pv1-3-36447-2\"><img decoding=\"async\" src=\"\/\/s3.tracemyip.org\/vLg\/1217\/4684NR-IPIB\/57003\/9\/njsUrl\/\" alt=\"Wix guests ip\" referrerpolicy=\"no-referrer-when-downgrade\" style=\"border:0px;\"><\/a><div><a href=\"https:\/\/www.tracemyip.org\/pv1-3-36447-2\">ip traffic<\/a><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>[!] Board-Level Intelligence Sovereign Risk Assessment Is Your Cloud Strategy a Fiduciary Liability? Stop thinking about &#8220;uptime&#8221; and start thinking about &#8220;unmitigated risk.&#8221; This tool transforms outage data into board-ready risk intelligence. Powered by real outage dataLive Analysis &#8220;If you do not own your infrastructure, you do not own your business. You are a tenant [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-643","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.opey.org\/opeyit\/index.php?rest_route=\/wp\/v2\/pages\/643","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.opey.org\/opeyit\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.opey.org\/opeyit\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.opey.org\/opeyit\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.opey.org\/opeyit\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=643"}],"version-history":[{"count":3,"href":"https:\/\/www.opey.org\/opeyit\/index.php?rest_route=\/wp\/v2\/pages\/643\/revisions"}],"predecessor-version":[{"id":684,"href":"https:\/\/www.opey.org\/opeyit\/index.php?rest_route=\/wp\/v2\/pages\/643\/revisions\/684"}],"wp:attachment":[{"href":"https:\/\/www.opey.org\/opeyit\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=643"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}