HirModel's picture
Upload 9 files
473994f verified
Raw
History Blame Contribute Delete
53.6 kB
<!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>