| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8" /> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
| <meta name="author" content="Collin D. Weber" /> |
| <meta name="description" content="HIR Shield unified runtime defense architecture for malicious LLM misuse, authorized red-team emulation, call screening, scam defense, identity theft prevention, and dignity-preserving recovery." /> |
| <title>HIR Shield · Unified Runtime Defense Architecture</title> |
| <style> |
| :root { |
| --bg: #06070b; |
| --bg2: #0b0e15; |
| --panel: rgba(17, 23, 34, .82); |
| --panel2: rgba(24, 32, 47, .78); |
| --ink: #f8efe2; |
| --muted: #bbad99; |
| --quiet: #847968; |
| --gold: #e7b957; |
| --gold2: #f5d078; |
| --copper: #bd7042; |
| --green: #68d17e; |
| --blue: #6cbcff; |
| --purple: #a875ff; |
| --magenta: #ff65c3; |
| --red: #ee6262; |
| --amber: #f2a93b; |
| --line: rgba(231, 185, 87, .25); |
| --line2: rgba(255, 255, 255, .08); |
| --glass: rgba(255, 255, 255, .052); |
| --shadow: 0 28px 95px rgba(0,0,0,.45); |
| --radius: 26px; |
| } |
| |
| * { box-sizing: border-box; } |
| html { scroll-behavior: smooth; } |
| body { |
| margin: 0; |
| min-height: 100vh; |
| background: |
| radial-gradient(circle at 12% 0%, rgba(231,185,87,.18), transparent 28rem), |
| radial-gradient(circle at 84% 8%, rgba(168,117,255,.20), transparent 30rem), |
| radial-gradient(circle at 72% 62%, rgba(255,101,195,.08), transparent 28rem), |
| radial-gradient(circle at 10% 92%, rgba(104,209,126,.10), transparent 34rem), |
| linear-gradient(180deg, #06070b 0%, #080a10 48%, #05060a 100%); |
| color: var(--ink); |
| font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; |
| line-height: 1.55; |
| overflow-x: hidden; |
| } |
| |
| body:before { |
| content: ""; |
| position: fixed; |
| inset: 0; |
| z-index: -2; |
| background-image: |
| linear-gradient(rgba(255,255,255,.024) 1px, transparent 1px), |
| linear-gradient(90deg, rgba(255,255,255,.024) 1px, transparent 1px); |
| background-size: 44px 44px; |
| mask-image: radial-gradient(circle at 50% 18%, black, transparent 72%); |
| } |
| |
| body:after { |
| content: ""; |
| position: fixed; |
| inset: 0; |
| z-index: -1; |
| pointer-events: none; |
| opacity: .06; |
| background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 260 260' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); |
| } |
| |
| .wrap { width: min(1220px, calc(100% - 32px)); margin: 0 auto; } |
| .mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace; } |
| .smallcaps { text-transform: uppercase; letter-spacing: .14em; font-size: 12px; color: var(--gold); } |
| |
| .hero { |
| position: relative; |
| padding: 78px 0 46px; |
| overflow: hidden; |
| } |
| |
| .hero-grid { |
| display: grid; |
| grid-template-columns: minmax(0, 1.08fr) 390px; |
| gap: 36px; |
| align-items: center; |
| } |
| |
| @media (max-width: 960px) { .hero-grid { grid-template-columns: 1fr; } } |
| |
| .kicker { |
| display: inline-flex; |
| gap: 10px; |
| align-items: center; |
| border: 1px solid var(--line); |
| background: rgba(255,255,255,.045); |
| border-radius: 999px; |
| padding: 8px 12px; |
| color: var(--gold); |
| font-size: 12px; |
| letter-spacing: .16em; |
| text-transform: uppercase; |
| backdrop-filter: blur(12px); |
| } |
| |
| .pulse { |
| width: 8px; height: 8px; border-radius: 50%; background: var(--green); |
| box-shadow: 0 0 22px var(--green); |
| animation: pulse 1.45s infinite; |
| } |
| @keyframes pulse { 0%,100% { opacity:.45; transform:scale(.82); } 50% { opacity:1; transform:scale(1.18); } } |
| |
| h1 { |
| margin: 24px 0 18px; |
| font-size: clamp(44px, 7.4vw, 98px); |
| line-height: .92; |
| letter-spacing: -.065em; |
| max-width: 960px; |
| } |
| h1 .gold { color: var(--gold); text-shadow: 0 0 36px rgba(231,185,87,.18); } |
| h1 .purple { color: var(--purple); text-shadow: 0 0 36px rgba(168,117,255,.22); } |
| |
| .subtitle { |
| max-width: 895px; |
| color: var(--muted); |
| font-size: clamp(18px, 2vw, 23px); |
| margin: 0; |
| } |
| |
| .boundary { |
| margin-top: 26px; |
| display: grid; |
| grid-template-columns: 74px 1fr; |
| gap: 18px; |
| max-width: 940px; |
| border: 1px solid rgba(238,98,98,.32); |
| background: linear-gradient(135deg, rgba(238,98,98,.13), rgba(231,185,87,.055)); |
| border-radius: 24px; |
| padding: 18px; |
| box-shadow: var(--shadow); |
| } |
| |
| .boundary .icon { |
| display: grid; place-items: center; |
| font-size: 30px; |
| color: var(--red); |
| border-radius: 18px; |
| background: rgba(238,98,98,.12); |
| border: 1px solid rgba(238,98,98,.20); |
| } |
| .boundary p { margin: 0; color: var(--muted); } |
| .boundary strong { color: var(--ink); } |
| |
| @media (max-width: 650px) { .boundary { grid-template-columns: 1fr; } } |
| |
| .core-orb { |
| position: relative; |
| min-height: 420px; |
| display: grid; |
| place-items: center; |
| isolation: isolate; |
| } |
| |
| .orb { |
| width: min(360px, 78vw); |
| aspect-ratio: 1/1; |
| border-radius: 50%; |
| position: relative; |
| background: |
| radial-gradient(circle at 50% 45%, rgba(231,185,87,.28), transparent 22%), |
| radial-gradient(circle at 35% 32%, rgba(108,188,255,.18), transparent 30%), |
| radial-gradient(circle at 70% 70%, rgba(168,117,255,.20), transparent 32%), |
| linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.018)); |
| border: 1px solid rgba(231,185,87,.25); |
| box-shadow: 0 0 80px rgba(168,117,255,.20), inset 0 0 60px rgba(231,185,87,.09); |
| animation: float 6s ease-in-out infinite; |
| } |
| |
| @keyframes float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } } |
| |
| .orb:before, .orb:after { |
| content: ""; |
| position: absolute; |
| inset: 36px; |
| border-radius: 50%; |
| border: 1px solid rgba(231,185,87,.20); |
| } |
| .orb:after { |
| inset: -18px; |
| border-style: dashed; |
| opacity: .55; |
| animation: spin 24s linear infinite; |
| } |
| @keyframes spin { to { transform: rotate(360deg); } } |
| |
| .monogram { |
| position: absolute; |
| inset: 0; |
| display: grid; |
| place-items: center; |
| font-weight: 900; |
| font-size: clamp(70px, 12vw, 118px); |
| letter-spacing: -.10em; |
| color: var(--gold); |
| text-shadow: 0 0 24px rgba(231,185,87,.48), 0 0 80px rgba(168,117,255,.28); |
| } |
| |
| .ring-label { |
| position: absolute; |
| border: 1px solid rgba(255,255,255,.10); |
| background: rgba(5,6,10,.72); |
| backdrop-filter: blur(16px); |
| border-radius: 999px; |
| padding: 8px 12px; |
| color: var(--muted); |
| font-size: 12px; |
| box-shadow: 0 10px 40px rgba(0,0,0,.35); |
| } |
| .ring-label b { color: var(--ink); } |
| .l1 { top: 30px; left: 0; } |
| .l2 { top: 162px; right: -8px; } |
| .l3 { bottom: 56px; left: 16px; } |
| |
| nav { |
| position: sticky; |
| top: 0; |
| z-index: 50; |
| background: rgba(6,7,11,.82); |
| backdrop-filter: blur(18px); |
| border-top: 1px solid rgba(231,185,87,.08); |
| border-bottom: 1px solid rgba(231,185,87,.14); |
| } |
| nav .wrap { |
| display: flex; |
| gap: 10px; |
| overflow-x: auto; |
| padding: 12px 0; |
| } |
| nav a { |
| white-space: nowrap; |
| text-decoration: none; |
| color: var(--muted); |
| border: 1px solid rgba(231,185,87,.16); |
| border-radius: 999px; |
| padding: 8px 12px; |
| font-size: 13px; |
| } |
| nav a:hover { color: var(--ink); border-color: var(--gold); background: rgba(231,185,87,.08); } |
| |
| section { padding: 58px 0; } |
| .section-title { |
| display: flex; |
| gap: 14px; |
| align-items: center; |
| margin-bottom: 22px; |
| } |
| .num { |
| color: var(--gold); |
| border: 1px solid var(--line); |
| background: var(--glass); |
| border-radius: 12px; |
| padding: 8px 10px; |
| font-size: 12px; |
| } |
| h2 { |
| margin: 0; |
| font-size: clamp(28px, 4.2vw, 48px); |
| line-height: 1.02; |
| letter-spacing: -.04em; |
| } |
| .lead { |
| max-width: 910px; |
| color: var(--muted); |
| font-size: 18px; |
| margin: 0 0 24px; |
| } |
| |
| .grid { display: grid; gap: 18px; } |
| .two { grid-template-columns: repeat(2, minmax(0, 1fr)); } |
| .three { grid-template-columns: repeat(3, minmax(0, 1fr)); } |
| .four { grid-template-columns: repeat(4, minmax(0, 1fr)); } |
| @media (max-width: 950px) { .two, .three, .four { grid-template-columns: 1fr; } } |
| |
| .card { |
| position: relative; |
| overflow: hidden; |
| background: linear-gradient(180deg, rgba(255,255,255,.064), rgba(255,255,255,.028)); |
| border: 1px solid rgba(231,185,87,.16); |
| border-radius: var(--radius); |
| padding: 22px; |
| box-shadow: 0 18px 70px rgba(0,0,0,.27); |
| } |
| .card:before { |
| content: ""; |
| position: absolute; |
| inset: 0 0 auto; |
| height: 2px; |
| background: linear-gradient(90deg, transparent, var(--gold), transparent); |
| opacity: .36; |
| } |
| .card h3 { margin: 0 0 8px; font-size: 20px; line-height: 1.2; } |
| .card p { color: var(--muted); margin: 0; } |
| .card .big { |
| font-size: 42px; |
| line-height: 1; |
| font-weight: 900; |
| letter-spacing: -.08em; |
| color: var(--gold); |
| margin-bottom: 12px; |
| } |
| .tagrow { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; } |
| .tag { |
| font-size: 11px; |
| letter-spacing: .08em; |
| text-transform: uppercase; |
| padding: 5px 8px; |
| border-radius: 999px; |
| background: rgba(255,255,255,.06); |
| color: var(--muted); |
| border: 1px solid rgba(255,255,255,.09); |
| } |
| .tag.green { color: var(--green); border-color: rgba(104,209,126,.28); } |
| .tag.red { color: var(--red); border-color: rgba(238,98,98,.30); } |
| .tag.blue { color: var(--blue); border-color: rgba(108,188,255,.28); } |
| .tag.gold { color: var(--gold); border-color: rgba(231,185,87,.32); } |
| .tag.purple { color: var(--purple); border-color: rgba(168,117,255,.32); } |
| .tag.amber { color: var(--amber); border-color: rgba(242,169,59,.30); } |
| |
| .stackline { |
| display: grid; |
| grid-template-columns: 1fr 68px 1fr 68px 1fr; |
| gap: 14px; |
| align-items: stretch; |
| margin-top: 24px; |
| } |
| .arrow { |
| display: grid; |
| place-items: center; |
| color: var(--gold); |
| font-size: 34px; |
| opacity: .85; |
| } |
| @media (max-width: 980px) { .stackline { grid-template-columns: 1fr; } .arrow { transform: rotate(90deg); } } |
| |
| .matrix { |
| display: grid; |
| grid-template-columns: 1fr 1.15fr 1.35fr; |
| gap: 1px; |
| background: rgba(231,185,87,.18); |
| border: 1px solid rgba(231,185,87,.19); |
| border-radius: 23px; |
| overflow: hidden; |
| margin-top: 20px; |
| } |
| .cell { |
| background: rgba(17,23,34,.96); |
| padding: 16px; |
| min-height: 104px; |
| } |
| .cell.head { |
| background: rgba(231,185,87,.13); |
| color: var(--gold); |
| font-weight: 800; |
| min-height: auto; |
| } |
| .cell p { margin: 5px 0 0; color: var(--muted); font-size: 14px; } |
| @media (max-width: 850px) { |
| .matrix { grid-template-columns: 1fr; } |
| .cell.head:nth-child(n+2) { display:none; } |
| } |
| |
| .pipeline { |
| display: grid; |
| grid-template-columns: repeat(10, minmax(0, 1fr)); |
| gap: 10px; |
| margin-top: 26px; |
| } |
| @media (max-width: 1180px) { .pipeline { grid-template-columns: repeat(5, 1fr); } } |
| @media (max-width: 760px) { .pipeline { grid-template-columns: 1fr; } } |
| .step { |
| min-height: 164px; |
| padding: 16px 13px; |
| border: 1px solid rgba(231,185,87,.17); |
| border-radius: 20px; |
| background: rgba(255,255,255,.044); |
| } |
| .step .n { color: var(--gold); font-size: 12px; } |
| .step strong { display: block; margin: 8px 0; line-height: 1.18; } |
| .step span { color: var(--muted); font-size: 13.5px; } |
| |
| .console { |
| border: 1px solid rgba(104,209,126,.23); |
| background: linear-gradient(180deg, rgba(104,209,126,.08), rgba(255,255,255,.025)); |
| border-radius: 24px; |
| padding: 22px; |
| box-shadow: inset 0 0 44px rgba(104,209,126,.055); |
| } |
| .console pre { |
| white-space: pre-wrap; |
| margin: 0; |
| color: #d8ffe0; |
| font-size: 13px; |
| line-height: 1.5; |
| } |
| |
| .tabs, .switcher { |
| display: flex; |
| flex-wrap: wrap; |
| gap: 10px; |
| margin: 18px 0; |
| } |
| .tabs button, .switcher button { |
| cursor: pointer; |
| color: var(--muted); |
| border: 1px solid rgba(231,185,87,.20); |
| background: rgba(255,255,255,.045); |
| padding: 10px 12px; |
| border-radius: 999px; |
| font-weight: 650; |
| } |
| .tabs button.active, .switcher button.active { |
| color: var(--ink); |
| border-color: var(--gold); |
| background: rgba(231,185,87,.11); |
| box-shadow: 0 0 28px rgba(231,185,87,.08); |
| } |
| .scenario { |
| border: 1px solid rgba(231,185,87,.17); |
| background: rgba(255,255,255,.04); |
| border-radius: 24px; |
| padding: 24px; |
| } |
| .scenario h3 { margin-top: 0; } |
| .scenario p { color: var(--muted); } |
| |
| .scoreboard, .sliders { |
| display: grid; |
| grid-template-columns: repeat(3, 1fr); |
| gap: 18px; |
| margin-top: 18px; |
| } |
| @media (max-width: 840px) { .scoreboard, .sliders { grid-template-columns: 1fr; } } |
| .meter { |
| padding: 18px; |
| border-radius: 20px; |
| border: 1px solid rgba(231,185,87,.18); |
| background: rgba(255,255,255,.045); |
| } |
| .meter label { |
| display: flex; |
| justify-content: space-between; |
| color: var(--muted); |
| font-size: 13px; |
| margin-bottom: 10px; |
| } |
| .meter b { color: var(--ink); } |
| input[type="range"] { width: 100%; accent-color: var(--gold); } |
| .result { |
| margin-top: 18px; |
| padding: 22px; |
| border-radius: 24px; |
| border: 1px solid rgba(104,209,126,.22); |
| background: rgba(104,209,126,.08); |
| } |
| .status { |
| font-size: clamp(26px, 4vw, 38px); |
| font-weight: 900; |
| letter-spacing: -.05em; |
| color: var(--green); |
| margin-bottom: 6px; |
| } |
| .status.yellow { color: var(--amber); } |
| .status.red { color: var(--red); } |
| |
| .appscreen { |
| margin-top: 24px; |
| display: grid; |
| grid-template-columns: 370px 1fr; |
| gap: 24px; |
| align-items: start; |
| } |
| @media (max-width: 940px) { .appscreen { grid-template-columns: 1fr; } } |
| .phone { |
| max-width: 370px; |
| margin: 0 auto; |
| border: 1px solid rgba(231,185,87,.22); |
| border-radius: 40px; |
| padding: 18px; |
| background: linear-gradient(180deg, #121a25, #080a10); |
| box-shadow: var(--shadow); |
| } |
| .screen { |
| border-radius: 30px; |
| overflow: hidden; |
| border: 1px solid rgba(255,255,255,.09); |
| background: #0c1119; |
| } |
| .screen-head { |
| padding: 18px; |
| background: linear-gradient(135deg, rgba(231,185,87,.17), rgba(168,117,255,.13)); |
| } |
| .screen-head .small { color: var(--muted); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; } |
| .screen-head h3 { margin: 6px 0 0; font-size: 24px; } |
| .risk { padding: 18px; } |
| .bigscore { font-size: 60px; line-height: 1; font-weight: 950; color: var(--amber); letter-spacing: -.07em; } |
| .bar { height: 10px; border-radius: 999px; overflow: hidden; background: rgba(255,255,255,.08); margin: 12px 0; } |
| .bar span { display:block; height:100%; width:68%; background:linear-gradient(90deg, var(--green), var(--amber), var(--red)); } |
| .screen-row { |
| display: flex; justify-content: space-between; gap: 12px; |
| padding: 13px 18px; |
| color: var(--muted); |
| border-top: 1px solid rgba(255,255,255,.07); |
| font-size: 14px; |
| } |
| .screen-row b { color: var(--ink); } |
| |
| .feature-list { display: grid; gap: 12px; } |
| .feature { |
| padding: 16px; |
| border-radius: 20px; |
| border: 1px solid rgba(231,185,87,.16); |
| background: rgba(255,255,255,.04); |
| } |
| .feature strong { display:block; margin-bottom:4px; } |
| .feature p { color: var(--muted); margin:0; font-size:14px; } |
| |
| .roadmap { |
| display: grid; |
| grid-template-columns: repeat(5, 1fr); |
| gap: 12px; |
| margin-top: 22px; |
| } |
| @media (max-width: 980px) { .roadmap { grid-template-columns: 1fr; } } |
| .phase { |
| padding: 18px 14px; |
| min-height: 178px; |
| border: 1px solid rgba(231,185,87,.18); |
| border-radius: 20px; |
| background: rgba(255,255,255,.045); |
| } |
| .phase .n { color: var(--gold); font-size:12px; } |
| .phase strong { display:block; margin:8px 0; } |
| .phase span { color:var(--muted); font-size:14px; } |
| |
| .callout { |
| border-left: 5px solid var(--gold); |
| background: rgba(231,185,87,.09); |
| border-radius: 0 20px 20px 0; |
| padding: 18px 22px; |
| color: var(--muted); |
| margin-top: 24px; |
| } |
| .callout strong { color: var(--ink); } |
| |
| .badges { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; } |
| .badge { |
| border: 1px solid rgba(255,255,255,.09); |
| background: rgba(255,255,255,.045); |
| color: var(--muted); |
| border-radius: 999px; |
| padding: 9px 12px; |
| font-size: 13px; |
| } |
| .badge b { color: var(--ink); } |
| |
| footer { |
| margin-top: 42px; |
| padding: 48px 0 82px; |
| color: var(--muted); |
| border-top: 1px solid rgba(231,185,87,.14); |
| } |
| footer strong { color: var(--ink); } |
| footer .footgrid { |
| display:grid; |
| grid-template-columns: 1fr 1fr; |
| gap:24px; |
| } |
| @media (max-width: 800px) { footer .footgrid { grid-template-columns: 1fr; } } |
| </style> |
| </head> |
| <body> |
| <header class="hero wrap"> |
| <div class="hero-grid"> |
| <div> |
| <div class="kicker"><span class="pulse"></span> Primordial OS · HIR Shield · Defensive Public-Interest Stack</div> |
| <h1>Unified <span class="gold">Runtime Defense</span><br><span class="purple">Architecture</span></h1> |
| <p class="subtitle"> |
| A combined HIR × OAM architecture for malicious LLM misuse defense, authorized red-team emulation, |
| scam-call screening, identity-theft prevention, phone-integrity recovery, and dignity-preserving human protection. |
| </p> |
|
|
| <div class="boundary"> |
| <div class="icon">🛡</div> |
| <p><strong>Hard boundary:</strong> this artifact is defensive only. It does not provide attack construction, evasion recipes, malware logic, credential-theft workflows, phishing kits, fraud playbooks, or bypass instructions. It maps protection, verification, safe emulation, recovery, and runtime discipline.</p> |
| </div> |
|
|
| <div class="badges"> |
| <span class="badge"><b>Free-first</b> protection model</span> |
| <span class="badge"><b>No scareware</b> / no shame UX</span> |
| <span class="badge"><b>Created and Developed by</b> Collin D. Weber</span> |
| </div> |
| </div> |
|
|
| <div class="core-orb" aria-hidden="true"> |
| <div class="orb"><div class="monogram">HIR</div></div> |
| <div class="ring-label l1"><b>Honesty</b> verifies reality</div> |
| <div class="ring-label l2"><b>Integrity</b> preserves structure</div> |
| <div class="ring-label l3"><b>Respect</b> protects agency</div> |
| </div> |
| </div> |
| </header> |
|
|
| <nav> |
| <div class="wrap"> |
| <a href="#stack">Stack</a> |
| <a href="#threats">Threats</a> |
| <a href="#hir-oam">HIR/OAM</a> |
| <a href="#pipeline">Pipeline</a> |
| <a href="#emulation">Red-Team</a> |
| <a href="#risk">Runtime Gate</a> |
| <a href="#app">App Layer</a> |
| <a href="#identity">Identity Gate</a> |
| <a href="#roadmap">Roadmap</a> |
| <a href="#community">Community</a> |
| </div> |
| </nav> |
|
|
| <main> |
| <section id="stack" class="wrap"> |
| <div class="section-title"><span class="num mono">01</span><h2>The Three-Layer Defense Stack</h2></div> |
| <p class="lead">The original maps become one system: threat model, authorized defensive emulation, and public-facing protection tooling.</p> |
|
|
| <div class="stackline"> |
| <div class="card"> |
| <div class="big">01</div> |
| <h3>Malicious LLM Misuse Defense</h3> |
| <p>Defines black-hat LLMs as pressure multipliers that automate deception, scale manipulation, and remove friction from harmful intent.</p> |
| <div class="tagrow"><span class="tag red">Threat Model</span><span class="tag gold">Runtime Boundary</span></div> |
| </div> |
| <div class="arrow">→</div> |
| <div class="card"> |
| <div class="big">02</div> |
| <h3>Authorized Red-Team Emulation</h3> |
| <p>Provides a safe adversary-view layer: understand abuse shapes without publishing operational abuse recipes.</p> |
| <div class="tagrow"><span class="tag blue">Testing</span><span class="tag green">Defensive Only</span></div> |
| </div> |
| <div class="arrow">→</div> |
| <div class="card"> |
| <div class="big">03</div> |
| <h3>Call & Identity Defense App</h3> |
| <p>Turns the architecture into a consumer-facing protection layer: screen pressure, verify identity, preserve evidence, recover with dignity.</p> |
| <div class="tagrow"><span class="tag green">Public Tool</span><span class="tag purple">HIR Shield</span></div> |
| </div> |
| </div> |
|
|
| <div class="callout"><strong>Unifying thesis:</strong> AI misuse is not only a cybersecurity problem. It is a boundary, provenance, consent, and agency problem. HIR defines what must be preserved; OAM detects how degradation spreads.</div> |
| </section> |
|
|
| <section id="threats" class="wrap"> |
| <div class="section-title"><span class="num mono">02</span><h2>Unified Threat Map</h2></div> |
| <p class="lead">These are defensive categories. They name risk surfaces the runtime should recognize, constrain, and route into safer outcomes.</p> |
|
|
| <div class="grid four"> |
| <div class="card"><h3>Social Engineering</h3><p>Automated persuasion, synthetic intimacy, authority mimicry, emotional pressure, and targeted manipulation.</p><div class="tagrow"><span class="tag red">Respect Failure</span><span class="tag red">Agency Capture</span></div></div> |
| <div class="card"><h3>Fraud Amplification</h3><p>Fake support, fake invoices, counterfeit authority, high-volume scam text, synthetic urgency, and forged context.</p><div class="tagrow"><span class="tag red">Honesty Failure</span><span class="tag red">False Context</span></div></div> |
| <div class="card"><h3>Cyber Abuse Assistance</h3><p>Requests that try to convert a model into a planning, coding, troubleshooting, or operational assistant for unauthorized harm.</p><div class="tagrow"><span class="tag red">Integrity Breach</span><span class="tag red">Tool Misuse</span></div></div> |
| <div class="card"><h3>Disinformation Engines</h3><p>Mass-produced false narratives, synthetic consensus, fake evidence, and audience-targeted manipulation.</p><div class="tagrow"><span class="tag red">Truth Collapse</span><span class="tag amber">Field Degradation</span></div></div> |
| <div class="card"><h3>Jailbreak Brokerage</h3><p>Attempts to route around runtime boundaries, extract forbidden behavior, or normalize policy evasion.</p><div class="tagrow"><span class="tag amber">Boundary Probe</span><span class="tag red">Runtime Attack</span></div></div> |
| <div class="card"><h3>Data Exposure</h3><p>Efforts to reveal secrets, credentials, private data, prompts, logs, hidden context, or account recovery material.</p><div class="tagrow"><span class="tag red">Provenance Breach</span><span class="tag red">Trust Theft</span></div></div> |
| <div class="card"><h3>Automation Swarms</h3><p>Generated variants, many accounts, scaled pressure, moderation overwhelm, support flooding, and synthetic signal pollution.</p><div class="tagrow"><span class="tag amber">Scale Pressure</span><span class="tag red">Signal Flood</span></div></div> |
| <div class="card"><h3>Human Targeting</h3><p>Pressure, shame, grooming, extortion, isolation, coercion, elder targeting, grief exploitation, and vulnerability abuse.</p><div class="tagrow"><span class="tag red">Respect Zero</span><span class="tag red">Life-First Violation</span></div></div> |
| </div> |
| </section> |
|
|
| <section id="hir-oam" class="wrap"> |
| <div class="section-title"><span class="num mono">03</span><h2>HIR Translation + OAM Fault Detection</h2></div> |
| <p class="lead">HIR is the defense kernel. OAM is the degradation detector. Together they define whether a request, call, text, app behavior, or model output preserves human agency under pressure.</p> |
|
|
| <div class="matrix"> |
| <div class="cell head">HIR Layer</div><div class="cell head">Security Meaning</div><div class="cell head">Defensive Question</div> |
| <div class="cell"><strong>Honesty</strong><p>Reality contact, source clarity, identity truthfulness, evidence boundary.</p></div> |
| <div class="cell"><strong>Truth gate</strong><p>Detect false premise, impersonation, fabricated authority, hidden intent, and unverifiable claims.</p></div> |
| <div class="cell"><strong>Is this anchored to truthful context, or is it manufacturing false reality?</strong></div> |
| <div class="cell"><strong>Integrity</strong><p>Structural consistency, role fidelity, auditability, non-corruption under pressure.</p></div> |
| <div class="cell"><strong>Runtime gate</strong><p>Preserve policy, tool boundaries, provenance, logging, and reproducible triage.</p></div> |
| <div class="cell"><strong>Does this preserve system structure, or exploit contradiction and boundary collapse?</strong></div> |
| <div class="cell"><strong>Respect</strong><p>Dignity, consent, privacy, personhood, consequence awareness, life-first constraint.</p></div> |
| <div class="cell"><strong>Human gate</strong><p>Block coercion, targeting, exploitation, manipulation, and non-consensual harm.</p></div> |
| <div class="cell"><strong>Does this protect agency, or convert a person into an object or attack surface?</strong></div> |
| </div> |
|
|
| <div class="grid two" style="margin-top:18px;"> |
| <div class="card"> |
| <div class="smallcaps">OAM Signal</div> |
| <h3>Outsourced Agency</h3> |
| <p>The actor tries to make a model, app, institution, or automation layer carry intent, judgment, credibility, pressure, or consequence while hiding the responsible human actor.</p> |
| <div class="tagrow"><span class="tag red">Deniability</span><span class="tag red">Automation</span><span class="tag red">Pressure</span></div> |
| </div> |
| <div class="card"> |
| <div class="smallcaps">HIR Response</div> |
| <h3>Re-anchor Responsibility</h3> |
| <p>Classify intent, verify authority, constrain unsafe output, preserve logs, protect targets, slow the decision, and redirect toward defensive education or recovery.</p> |
| <div class="tagrow"><span class="tag green">Audit</span><span class="tag green">Limit</span><span class="tag green">Repair</span></div> |
| </div> |
| </div> |
| </section> |
|
|
| <section id="pipeline" class="wrap"> |
| <div class="section-title"><span class="num mono">04</span><h2>Unified Runtime Defense Pipeline</h2></div> |
| <p class="lead">This pipeline connects AI runtime defense, authorized red-team testing, call screening, identity-risk guidance, and recovery workflow.</p> |
|
|
| <div class="pipeline"> |
| <div class="step"><div class="n mono">01</div><strong>Signal Intake</strong><span>Prompt, call, text, voicemail, screenshot, app state, report, or suspicious behavior.</span></div> |
| <div class="step"><div class="n mono">02</div><strong>Actor + Scope</strong><span>Who is acting, what authority exists, what system or person is affected?</span></div> |
| <div class="step"><div class="n mono">03</div><strong>Provenance Check</strong><span>Identity, source, callback channel, evidence quality, and data boundary.</span></div> |
| <div class="step"><div class="n mono">04</div><strong>Pressure Scan</strong><span>Urgency, secrecy, fear, shame, reward, romance, authority, or scale pressure.</span></div> |
| <div class="step"><div class="n mono">05</div><strong>HIR Gate</strong><span>Honesty, Integrity, Respect assessment for the interaction.</span></div> |
| <div class="step"><div class="n mono">06</div><strong>OAM Scan</strong><span>Agency outsourcing, coercion, deniability, manipulation, and degradation signal.</span></div> |
| <div class="step"><div class="n mono">07</div><strong>Tool Firewall</strong><span>Block actions that enable fraud, harm, unauthorized access, or private-data exposure.</span></div> |
| <div class="step"><div class="n mono">08</div><strong>Safe Transform</strong><span>Convert unsafe intent into defensive education, policy, awareness, or repair steps.</span></div> |
| <div class="step"><div class="n mono">09</div><strong>Action Plan</strong><span>Allow, constrain, verify, block, document, escalate, recover, or retest.</span></div> |
| <div class="step"><div class="n mono">10</div><strong>Audit + Learn</strong><span>Preserve evidence, metrics, false positives, control gaps, and patch/retest notes.</span></div> |
| </div> |
| </section> |
|
|
| <section id="emulation" class="wrap"> |
| <div class="section-title"><span class="num mono">05</span><h2>Authorized Red-Team Scenario Lens</h2></div> |
| <p class="lead">Safe adversary emulation means understanding pressure shapes without providing operational abuse instructions.</p> |
|
|
| <div class="switcher" id="scenarioButtons"> |
| <button class="active" data-s="fraud">Fraud Pressure</button> |
| <button data-s="impersonation">Impersonation</button> |
| <button data-s="tool">Tool Misuse</button> |
| <button data-s="data">Data Exposure</button> |
| <button data-s="swarm">Automation Swarm</button> |
| <button data-s="vulnerable">Human Targeting</button> |
| </div> |
| <div class="scenario" id="scenario"></div> |
|
|
| <div class="grid two" style="margin-top:18px;"> |
| <div class="card"><h3>Allowed</h3><p>High-level abuse classification, policy testing, benign red-team prompts, dummy data, synthetic users, mock infrastructure, detection improvement, and safety training.</p><div class="tagrow"><span class="tag green">Authorized</span><span class="tag green">Synthetic</span><span class="tag green">Logged</span></div></div> |
| <div class="card"><h3>Not Allowed</h3><p>Real target exploitation, bypass recipes, malware logic, credential theft, phishing kits, evasion methods, private data extraction, or instructions that increase abuse capability.</p><div class="tagrow"><span class="tag red">No Real Targets</span><span class="tag red">No Attack Recipes</span></div></div> |
| </div> |
| </section> |
|
|
| <section id="risk" class="wrap"> |
| <div class="section-title"><span class="num mono">06</span><h2>Interactive HIR × OAM Runtime Gate</h2></div> |
| <p class="lead">A simplified gate for classifying AI/runtime requests. Lower HIR and higher OAM pressure increases risk.</p> |
|
|
| <div class="scoreboard"> |
| <div class="meter"><label><span>Honesty</span><b id="hVal">80</b></label><input id="h" type="range" min="0" max="100" value="80"></div> |
| <div class="meter"><label><span>Integrity</span><b id="iVal">80</b></label><input id="i" type="range" min="0" max="100" value="80"></div> |
| <div class="meter"><label><span>Respect</span><b id="rVal">80</b></label><input id="r" type="range" min="0" max="100" value="80"></div> |
| <div class="meter"><label><span>OAM Agency Outsourcing</span><b id="oVal">30</b></label><input id="o" type="range" min="0" max="100" value="30"></div> |
| <div class="meter"><label><span>Scale Pressure</span><b id="sVal">35</b></label><input id="s" type="range" min="0" max="100" value="35"></div> |
| <div class="meter"><label><span>Target Sensitivity</span><b id="tVal">40</b></label><input id="t" type="range" min="0" max="100" value="40"></div> |
| </div> |
| <div class="result"> |
| <div class="status" id="runtimeStatus">GREEN · Defensive / Allowed</div> |
| <p id="runtimeExplain">HIR is stable and OAM pressure is low. The system can answer normally while preserving boundaries.</p> |
| </div> |
| </section> |
|
|
| <section id="app" class="wrap"> |
| <div class="section-title"><span class="num mono">07</span><h2>HIR Shield Consumer Defense App Layer</h2></div> |
| <p class="lead">The app exists to slow pressure, restore reality contact, verify identity, preserve evidence, guide recovery, and protect the user without shame or scareware.</p> |
|
|
| <div class="appscreen"> |
| <div class="phone"> |
| <div class="screen"> |
| <div class="screen-head"> |
| <div class="small mono">Incoming Call Risk</div> |
| <h3>Possible Impersonation</h3> |
| </div> |
| <div class="risk"> |
| <div class="bigscore" id="phoneScore">68</div> |
| <div class="bar"><span id="phoneBar"></span></div> |
| <div class="mono" id="phoneGate" style="color:var(--amber);font-size:12px;letter-spacing:.12em;text-transform:uppercase">Yellow Gate · Verify Before Acting</div> |
| </div> |
| <div class="screen-row"><b>Pressure</b><span id="phonePressure">Elevated</span></div> |
| <div class="screen-row"><b>Identity</b><span id="phoneIdentity">Unverified</span></div> |
| <div class="screen-row"><b>Request</b><span id="phoneRequest">Money / code risk</span></div> |
| <div class="screen-row"><b>Action</b><span id="phoneAction">Pause + verify</span></div> |
| </div> |
| </div> |
| <div class="feature-list"> |
| <div class="feature"><strong>Call Risk Overlay</strong><p>Displays a simple GREEN / YELLOW / RED risk gate while the user receives a call or reviews a voicemail.</p></div> |
| <div class="feature"><strong>Pressure Pattern Detector</strong><p>Flags urgency, secrecy, false authority, emotional manipulation, financial demand, login-code requests, or remote-access pressure.</p></div> |
| <div class="feature"><strong>Safe Verification Coach</strong><p>Guides the user to hang up, use known official contact paths, verify independently, and avoid acting inside the pressure window.</p></div> |
| <div class="feature"><strong>Phone Integrity Recovery</strong><p>Checks app permissions, notification/accessibility access, risky profiles, unknown apps, DNS/VPN/proxy settings, and suspicious behavior.</p></div> |
| <div class="feature"><strong>Identity Lockdown Checklist</strong><p>Provides post-risk steps: account review, password reset, session revocation, MFA, card/bank contact, evidence capture, and reporting.</p></div> |
| <div class="feature"><strong>Trusted Contact Mode</strong><p>Allows user-approved escalation to a trusted person when risk is high, without exposing unnecessary private data.</p></div> |
| </div> |
| </div> |
| </section> |
|
|
| <section id="identity" class="wrap"> |
| <div class="section-title"><span class="num mono">08</span><h2>Interactive Call & Identity-Theft Gate</h2></div> |
| <p class="lead">A simplified model for call scams, AI voice risk, identity-theft pressure, and recovery routing.</p> |
|
|
| <div class="sliders"> |
| <div class="meter"><label><span>Caller Identity Confidence</span><b id="idVal">40</b></label><input id="idc" type="range" min="0" max="100" value="40"></div> |
| <div class="meter"><label><span>Urgency / Pressure</span><b id="pVal">70</b></label><input id="prs" type="range" min="0" max="100" value="70"></div> |
| <div class="meter"><label><span>Money / Data Request</span><b id="mVal">65</b></label><input id="mon" type="range" min="0" max="100" value="65"></div> |
| <div class="meter"><label><span>Code / Account Access</span><b id="secVal">60</b></label><input id="sec" type="range" min="0" max="100" value="60"></div> |
| <div class="meter"><label><span>Emotional Manipulation</span><b id="emoVal">50</b></label><input id="emo" type="range" min="0" max="100" value="50"></div> |
| <div class="meter"><label><span>Known Safe Channel</span><b id="safeVal">25</b></label><input id="safe" type="range" min="0" max="100" value="25"></div> |
| </div> |
| <div class="result"> |
| <div class="status yellow" id="identityStatus">YELLOW · Pause and Verify</div> |
| <p id="identityExplain">Identity confidence is limited and pressure is elevated. Do not provide money, codes, credentials, documents, or remote access. Verify through a known safe channel.</p> |
| </div> |
|
|
| <div class="grid two" style="margin-top:18px;"> |
| <div class="card"><h3>Immediate Lockdown</h3><p>Prioritize stopping payment where possible, contacting institutions through known channels, changing passwords, revoking sessions, enabling MFA, and preserving evidence.</p><div class="tagrow"><span class="tag red">Contain</span><span class="tag gold">Evidence</span></div></div> |
| <div class="card"><h3>No-Shame Recovery</h3><p>The interface must never humiliate the user. Scams work by pressure and deception. Recovery starts by restoring agency, clarity, and dignity.</p><div class="tagrow"><span class="tag gold">Dignity</span><span class="tag green">Agency</span></div></div> |
| </div> |
| </section> |
|
|
| <section id="controls" class="wrap"> |
| <div class="section-title"><span class="num mono">09</span><h2>Defensive Outputs + Control Surfaces</h2></div> |
| <p class="lead">The system should leave behind useful artifacts, not vague alerts.</p> |
| <div class="grid three"> |
| <div class="card"><h3>Risk Taxonomy</h3><p>Categorized abuse patterns mapped to HIR failures and OAM degradation signals.</p></div> |
| <div class="card"><h3>Control Gaps</h3><p>Where detection, refusal, tool permissions, memory boundaries, call screening, or escalation did not hold.</p></div> |
| <div class="card"><h3>Patch Plan</h3><p>Concrete defensive changes: stronger gates, better logging, safer transformations, clearer escalation, better user guidance.</p></div> |
| <div class="card"><h3>User Education</h3><p>Plain-language warnings that help people slow down, verify, and preserve agency under pressure.</p></div> |
| <div class="card"><h3>Evidence Packet</h3><p>Timeline, call details, screenshots, notes, transcript, report status, and next steps for recovery or reporting.</p></div> |
| <div class="card"><h3>Retest Evidence</h3><p>Before/after test notes showing whether controls improved without blocking legitimate support.</p></div> |
| </div> |
|
|
| <div class="console" style="margin-top:20px;"> |
| <pre>HIR_SHIELD_FINAL_INVARIANT: |
| A malicious runtime succeeds when it breaks truth contact, |
| collapses decision structure, |
| and converts a person into a target. |
|
|
| HIR restores the baseline: |
| verify truth, |
| preserve structure, |
| protect dignity. |
|
|
| If a defensive map increases abuse capability, |
| it has failed HIR.</pre> |
| </div> |
| </section> |
|
|
| <section id="roadmap" class="wrap"> |
| <div class="section-title"><span class="num mono">10</span><h2>Implementation Roadmap</h2></div> |
| <p class="lead">Build the full suite as one architecture, but stage the implementation so the public tool can become real without overpromising.</p> |
|
|
| <div class="roadmap"> |
| <div class="phase"><div class="n mono">PHASE 1</div><strong>HIR Shield Audit</strong><span>Android-first phone integrity scan: risky permissions, accessibility abuse, notification access, unknown apps, profiles, VPN/DNS/proxy review.</span></div> |
| <div class="phase"><div class="n mono">PHASE 2</div><strong>Call/Text Shield</strong><span>Unknown caller quarantine, scam-text analyzer, pressure language detection, trusted-contact verification.</span></div> |
| <div class="phase"><div class="n mono">PHASE 3</div><strong>Identity Shield</strong><span>SIM-swap prevention checklist, recovery email hardening, password/MFA guidance, evidence packet generator.</span></div> |
| <div class="phase"><div class="n mono">PHASE 4</div><strong>Family Mode</strong><span>Elder/kid/vulnerable-user protection profiles, trusted-contact escalation, plain-language safety paths.</span></div> |
| <div class="phase"><div class="n mono">PHASE 5</div><strong>Community Firewatch</strong><span>Translations, scam pattern reporting, accessibility testing, architecture maps, regional resources, and forum-based stewardship.</span></div> |
| </div> |
| </section> |
|
|
| <section id="community" class="wrap"> |
| <div class="section-title"><span class="num mono">11</span><h2>Free Public-Interest Model + Firewatch Contributions</h2></div> |
| <p class="lead">HIR Shield is not a fear-monetization product. It is a free public protection tool that can be sustained by voluntary support and stewardship.</p> |
|
|
| <div class="grid three"> |
| <div class="card"><h3>Free to Use</h3><p>Basic protection from scams, malware concern, identity theft, AI-assisted manipulation, and digital degradation should not be locked behind a paywall.</p><div class="tagrow"><span class="tag green">Public Good</span><span class="tag gold">No Paywall</span></div></div> |
| <div class="card"><h3>Optional Support</h3><p>People who value the work can support development through voluntary donations, Patreon-style support, sponsorships, grants, or infrastructure help.</p><div class="tagrow"><span class="tag blue">Sustain</span><span class="tag green">Voluntary</span></div></div> |
| <div class="card"><h3>Stewardship Contributions</h3><p>Translation, accessibility review, testing, threat-pattern examples, architecture maps, systems-thinking ideas, documentation, and local recovery resources.</p><div class="tagrow"><span class="tag purple">Firewatch</span><span class="tag green">Community</span></div></div> |
| </div> |
|
|
| <div class="matrix" style="margin-top:20px;"> |
| <div class="cell head">Contribution Area</div><div class="cell head">What Helps</div><div class="cell head">HIR Boundary</div> |
| <div class="cell"><strong>Translations</strong><p>Make safety guidance available to more families and regions.</p></div> |
| <div class="cell"><strong>Language review</strong><p>Plain-language warnings, regional scam vocabulary, accessibility-friendly phrasing.</p></div> |
| <div class="cell"><strong>Respect</strong><p>No shaming, no fear bait, no cultural flattening.</p></div> |
| <div class="cell"><strong>Scam Patterns</strong><p>Community examples of calls, texts, emails, fake support flows, and pressure signals.</p></div> |
| <div class="cell"><strong>Evidence-safe reporting</strong><p>Sanitized examples, no private data, no doxxing, no live target exploitation.</p></div> |
| <div class="cell"><strong>Honesty</strong><p>Preserve provenance and uncertainty labels.</p></div> |
| <div class="cell"><strong>Architecture Maps</strong><p>Defense flows, recovery diagrams, risk models, UX maps, and systems-thinking improvements.</p></div> |
| <div class="cell"><strong>Review + synthesis</strong><p>Find gaps, contradictions, bad assumptions, and ways to simplify user decisions.</p></div> |
| <div class="cell"><strong>Integrity</strong><p>Improve structure without corrupting the mission.</p></div> |
| </div> |
|
|
| <div class="callout"><strong>Culture line:</strong> Protection first. Support optional. Stewardship welcome. Honesty, integrity, and respect are the operating conditions, not branding words.</div> |
| </section> |
| </main> |
|
|
| <footer class="wrap"> |
| <div class="footgrid"> |
| <div> |
| <strong>HIR Shield · Unified Runtime Defense Architecture</strong><br> |
| Created and Developed by Collin D. Weber<br> |
| Integrated from the HIR × OAM Black-Hat LLM Defense Map, Authorized Red-Team LLM Emulation Map, and Call & Identity Theft Defense App Map. |
| </div> |
| <div> |
| <strong>Defensive-use invariant</strong><br> |
| This artifact is a protection architecture. It is not an offensive manual. It is designed to preserve truth contact, structural integrity, human dignity, consent, agency, and recovery under pressure. |
| </div> |
| </div> |
| </footer> |
|
|
| <script> |
| const scenarios = { |
| fraud: { |
| title: "Fraud Pressure", |
| pressure: "The attacker tries to create urgency, false authority, or false evidence so a person makes a rushed decision.", |
| break: "HIR break: Honesty collapses through false context; Respect collapses when the person becomes a target.", |
| defense: "Defense: slow decision flow, verify identity/source, label uncertainty, block transaction-enabling help, and route to protective guidance." |
| }, |
| impersonation: { |
| title: "Impersonation", |
| pressure: "The attacker tries to borrow another identity, role, institution, or trusted relationship.", |
| break: "HIR break: Honesty fails at identity; Integrity fails when the system accepts a false role.", |
| defense: "Defense: provenance checks, role verification, signed channels, cautious output, and refusal to strengthen deception." |
| }, |
| tool: { |
| title: "Tool Misuse", |
| pressure: "The attacker tries to make the model use tools, code, data, or automation outside legitimate authorization.", |
| break: "HIR break: Integrity fails when execution boundaries are crossed.", |
| defense: "Defense: tool firewall, authorization checks, read/write separation, least privilege, sandboxing, and audit logs." |
| }, |
| data: { |
| title: "Data Exposure", |
| pressure: "The attacker tries to make private, secret, or context-bound information leave its proper boundary.", |
| break: "HIR break: Respect fails through privacy violation; Integrity fails through provenance breach.", |
| defense: "Defense: secret detection, access scoping, redaction, memory isolation, and escalation for suspected exposure." |
| }, |
| swarm: { |
| title: "Automation Swarm", |
| pressure: "The attacker scales low-cost generated variants to overwhelm review, moderation, support, or public attention.", |
| break: "HIR break: Honesty degrades through signal flooding; Integrity degrades through volume pressure.", |
| defense: "Defense: rate limits, anomaly detection, provenance tagging, batch review, friction, and coordinated response." |
| }, |
| vulnerable: { |
| title: "Human Targeting", |
| pressure: "The attacker tries to pressure, shame, groom, extort, isolate, or exploit a vulnerable person.", |
| break: "HIR break: Respect collapses completely; OAM converts a person into an object of manipulation.", |
| defense: "Defense: refuse exploitative assistance, provide safety resources, preserve dignity, escalate severe risk, and protect agency." |
| } |
| }; |
| |
| const scenarioBox = document.getElementById("scenario"); |
| function renderScenario(key) { |
| const c = scenarios[key]; |
| scenarioBox.innerHTML = `<h3>${c.title}</h3> |
| <p><strong>Abstract pressure:</strong> ${c.pressure}</p> |
| <p><strong>${c.break}</strong></p> |
| <p><strong>Defensive translation:</strong> ${c.defense}</p>`; |
| } |
| document.querySelectorAll("#scenarioButtons button").forEach(btn => { |
| btn.addEventListener("click", () => { |
| document.querySelectorAll("#scenarioButtons button").forEach(b => b.classList.remove("active")); |
| btn.classList.add("active"); |
| renderScenario(btn.dataset.s); |
| }); |
| }); |
| renderScenario("fraud"); |
| |
| const runtimeIds = ["h","i","r","o","s","t"]; |
| const runtimeVals = Object.fromEntries(runtimeIds.map(id => [id, document.getElementById(id + "Val")])); |
| const runtimeStatus = document.getElementById("runtimeStatus"); |
| const runtimeExplain = document.getElementById("runtimeExplain"); |
| |
| function calcRuntime() { |
| const H = +document.getElementById("h").value; |
| const I = +document.getElementById("i").value; |
| const R = +document.getElementById("r").value; |
| const O = +document.getElementById("o").value; |
| const S = +document.getElementById("s").value; |
| const T = +document.getElementById("t").value; |
| runtimeVals.h.textContent = H; |
| runtimeVals.i.textContent = I; |
| runtimeVals.r.textContent = R; |
| runtimeVals.o.textContent = O; |
| runtimeVals.s.textContent = S; |
| runtimeVals.t.textContent = T; |
| const hir = (H + I + R) / 3; |
| const oam = (O + S + T) / 3; |
| const risk = Math.max(0, Math.min(100, oam + (100 - hir) * 0.9)); |
| runtimeStatus.className = "status"; |
| if (risk < 35) { |
| runtimeStatus.textContent = "GREEN · Defensive / Allowed"; |
| runtimeExplain.textContent = "HIR is stable and OAM pressure is low. The system can answer normally while preserving boundaries."; |
| } else if (risk < 68) { |
| runtimeStatus.textContent = "YELLOW · Constrain / Clarify / Transform"; |
| runtimeStatus.classList.add("yellow"); |
| runtimeExplain.textContent = "Risk is elevated. The runtime should narrow scope, verify authority, avoid actionable harm, and transform toward defensive or educational guidance."; |
| } else { |
| runtimeStatus.textContent = "RED · Refuse / Isolate / Escalate"; |
| runtimeStatus.classList.add("red"); |
| runtimeExplain.textContent = "High-risk pattern detected. Preserve logs, refuse harmful assistance, protect potential targets, and route to defensive/recovery support."; |
| } |
| } |
| runtimeIds.forEach(id => document.getElementById(id).addEventListener("input", calcRuntime)); |
| calcRuntime(); |
| |
| const identityIds = ["idc","prs","mon","sec","emo","safe"]; |
| const identityLabels = { idc:"idVal", prs:"pVal", mon:"mVal", sec:"secVal", emo:"emoVal", safe:"safeVal" }; |
| const identityStatus = document.getElementById("identityStatus"); |
| const identityExplain = document.getElementById("identityExplain"); |
| const phoneScore = document.getElementById("phoneScore"); |
| const phoneBar = document.getElementById("phoneBar"); |
| const phoneGate = document.getElementById("phoneGate"); |
| const phonePressure = document.getElementById("phonePressure"); |
| const phoneIdentity = document.getElementById("phoneIdentity"); |
| const phoneRequest = document.getElementById("phoneRequest"); |
| const phoneAction = document.getElementById("phoneAction"); |
| |
| function calcIdentity() { |
| const idc = +document.getElementById("idc").value; |
| const prs = +document.getElementById("prs").value; |
| const mon = +document.getElementById("mon").value; |
| const sec = +document.getElementById("sec").value; |
| const emo = +document.getElementById("emo").value; |
| const safe = +document.getElementById("safe").value; |
| |
| Object.entries(identityLabels).forEach(([src, label]) => { |
| document.getElementById(label).textContent = document.getElementById(src).value; |
| }); |
| |
| const risk = Math.max(0, Math.min(100, (prs*.23 + mon*.28 + sec*.18 + emo*.16 + (100-idc)*.2 + (100-safe)*.15))); |
| identityStatus.className = "status"; |
| phoneScore.textContent = Math.round(risk); |
| phoneBar.style.width = Math.round(risk) + "%"; |
| phonePressure.textContent = prs > 66 ? "High" : prs > 34 ? "Elevated" : "Low"; |
| phoneIdentity.textContent = idc > 70 ? "Likely known" : idc > 40 ? "Limited confidence" : "Unverified"; |
| phoneRequest.textContent = (mon + sec) > 110 ? "Money / code risk" : (mon + sec) > 55 ? "Sensitive request" : "No obvious request"; |
| |
| if (risk < 34) { |
| identityStatus.textContent = "GREEN · Low Risk / Continue Carefully"; |
| identityExplain.textContent = "The interaction appears lower risk. Continue normal caution, avoid sharing sensitive information, and verify unusual requests."; |
| phoneGate.textContent = "Green Gate · Continue Carefully"; |
| phoneGate.style.color = "var(--green)"; |
| phoneAction.textContent = "Caution"; |
| } else if (risk < 68) { |
| identityStatus.textContent = "YELLOW · Pause and Verify"; |
| identityStatus.classList.add("yellow"); |
| identityExplain.textContent = "Identity confidence is limited or pressure is elevated. Do not provide money, codes, credentials, documents, or remote access. Verify through a known safe channel."; |
| phoneGate.textContent = "Yellow Gate · Verify Before Acting"; |
| phoneGate.style.color = "var(--amber)"; |
| phoneAction.textContent = "Pause + verify"; |
| } else { |
| identityStatus.textContent = "RED · Hang Up / Block / Lock Down"; |
| identityStatus.classList.add("red"); |
| identityExplain.textContent = "High-risk pattern detected. Stop the interaction, preserve evidence, contact trusted institutions through known channels, and begin identity-protection steps."; |
| phoneGate.textContent = "Red Gate · Stop Interaction"; |
| phoneGate.style.color = "var(--red)"; |
| phoneAction.textContent = "Block + lock down"; |
| } |
| } |
| identityIds.forEach(id => document.getElementById(id).addEventListener("input", calcIdentity)); |
| calcIdentity(); |
| </script> |
| </body> |
| </html> |
|
|