- audit/phase-one + phase-two: security audit briefs, findings, credential-rotation plan, Docker-USER hardening scripts, rollback refs - disaster-recovery/restore-test-log.md + backup-dr-audit-2026-08-10.md - clients/ (modelortho SEO audit, ai-biz-dev competitive landscape), notes/ (tiktok strategy) - projects/: front-desk-voice-agent, seo-visibility-checker product plan, hotnow-savannah HTML, resend-transactional-email, backup-dashboard-enhancements, code-review-graph, seo-ci-architecture - proposals/verdicttank/: architecture v4.0, methodology, judge-pool review, consolidation reasoning, cross-check review - docs/super-search/firecrawl-provider-strategy.md - updates: CHANGELOG, model-chain, projects-master-readme, intelsight.io - .gitignore: exclude nested standalone repos (seo-tool, venturebuilt)
1108 lines
58 KiB
HTML
1108 lines
58 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>VerdictTank v4.0 - AI Proposal Review & Scoring</title>
|
||
<style>
|
||
:root{
|
||
--bg:#0b0e14;--panel:#131824;--panel2:#1a2030;--ink:#e6edf3;--muted:#8b97a8;
|
||
--line:#232b3a;--accent:#4da3ff;--accent2:#7ee787;--warn:#f0a45c;--bad:#ff6b6b;
|
||
--code:#0d1117;--codeink:#c9d1d9;--pass:#2ea043;--below:#d29922;
|
||
}
|
||
*{box-sizing:border-box}
|
||
html{scroll-behavior:smooth}
|
||
body{margin:0;background:var(--bg);color:var(--ink);
|
||
font:15px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
|
||
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
|
||
header.hero{background:linear-gradient(135deg,#0b0e14,#131824 60%,#0f1a2e);
|
||
border-bottom:1px solid var(--line);padding:48px 0 36px}
|
||
.badge{display:inline-block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
|
||
color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:4px 12px;margin-bottom:16px}
|
||
h1{font-size:34px;margin:6px 0 8px;letter-spacing:-.5px}
|
||
.sub{color:var(--muted);font-size:16px;max-width:760px}
|
||
.meta{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px}
|
||
.meta span{font-size:12px;background:var(--panel2);border:1px solid var(--line);
|
||
border-radius:6px;padding:5px 10px;color:var(--muted)}
|
||
.meta b{color:var(--ink)}
|
||
nav.toc{position:sticky;top:0;z-index:20;background:rgba(11,14,20,.92);
|
||
backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:10px 0}
|
||
nav.toc ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-size:12.5px}
|
||
nav.toc a{color:var(--muted);text-decoration:none;padding:4px 9px;border-radius:6px;border:1px solid transparent}
|
||
nav.toc a:hover{color:var(--ink);border-color:var(--line);background:var(--panel)}
|
||
section{padding:40px 0;border-bottom:1px solid var(--line)}
|
||
h2{font-size:24px;margin:0 0 6px;letter-spacing:-.3px}
|
||
h2 .n{color:var(--accent);font-variant-numeric:tabular-nums;margin-right:10px}
|
||
h3{font-size:17px;margin:26px 0 8px;color:var(--accent2)}
|
||
h4{font-size:14px;margin:18px 0 6px;color:var(--warn);text-transform:uppercase;letter-spacing:.06em}
|
||
p{margin:10px 0}
|
||
.lead{color:var(--muted);font-size:15.5px;margin-bottom:8px}
|
||
ul,ol{margin:10px 0;padding-left:22px}
|
||
li{margin:5px 0}
|
||
code{background:var(--code);color:var(--codeink);padding:2px 6px;border-radius:4px;
|
||
font:13px/1.5 "SF Mono",ui-monospace,Menlo,Consolas,monospace}
|
||
pre{background:var(--code);color:var(--codeink);border:1px solid var(--line);border-radius:10px;
|
||
padding:16px;overflow:auto;font:12.5px/1.55 "SF Mono",ui-monospace,Menlo,Consolas,monospace;margin:14px 0}
|
||
pre.ascii{line-height:1.35;font-size:12px;color:#9fb3c8}
|
||
table{width:100%;border-collapse:collapse;margin:14px 0;font-size:13.5px}
|
||
th,td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
|
||
th{background:var(--panel2);color:var(--ink);font-weight:600}
|
||
td{background:var(--panel);color:var(--ink)}
|
||
|
||
/* Custom blocks */
|
||
.evolution-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}
|
||
.evolution-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:20px}
|
||
.evolution-card--current{border-color:var(--accent);background:var(--panel2)}
|
||
.version-badge{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--warn);margin-bottom:8px}
|
||
.version-badge--current{color:var(--accent)}
|
||
.breakthrough-label{font-size:12px;color:var(--accent2);font-weight:600;margin-bottom:6px}
|
||
.callout{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:16px 20px;margin:20px 0}
|
||
.callout--proof{border-left:4px solid var(--accent)}
|
||
.defense-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}
|
||
.defense-item{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px}
|
||
.positioning-statement{font-size:16px;color:var(--accent2);text-align:center;margin:28px 0;padding:16px;background:var(--panel2);border:1px solid var(--accent);border-radius:10px}
|
||
.comp-table__us td{background:#0f1a2e;color:var(--accent);font-weight:600}
|
||
.muted{color:var(--muted);font-size:12px}
|
||
.table-note{font-size:12px;color:var(--muted);margin:4px 0 14px}
|
||
.strategy-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:16px 0}
|
||
.strategy-cols h4{text-transform:none;color:var(--accent);font-size:14px}
|
||
.pricing-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin:20px 0}
|
||
.price-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:20px;text-align:center}
|
||
.price-card--featured{border-color:var(--accent);background:var(--panel2);position:relative}
|
||
.ribbon{position:absolute;top:-10px;left:50%;transform:translateX(-50%);
|
||
background:var(--accent);color:#0b0e14;font-size:11px;font-weight:700;
|
||
padding:3px 12px;border-radius:999px;text-transform:uppercase;letter-spacing:.06em}
|
||
.price{font-size:36px;font-weight:700;margin:8px 0}
|
||
.price span{font-size:16px;color:var(--muted);font-weight:400}
|
||
.price-card ul{list-style:none;padding:0;text-align:left;margin:12px 0}
|
||
.price-card li{margin:6px 0;font-size:13px}
|
||
.price-card li::before{content:"✓ ";color:var(--accent2);font-weight:700}
|
||
.price-purpose{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:12px}
|
||
.walkthrough{display:grid;gap:16px;margin:16px 0}
|
||
.wt-input{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px}
|
||
.wt-proposal-text{font-style:italic;color:var(--muted);border-left:3px solid var(--warn);padding-left:14px;margin:10px 0}
|
||
.wt-context{font-size:12px;color:var(--muted);margin-top:8px}
|
||
.wt-scores{display:grid;grid-template-columns:1fr 1fr;gap:14px}
|
||
.score-block{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px}
|
||
.score-block--narrative{border-left:4px solid var(--accent)}
|
||
.score-block--compliance{border-left:4px solid var(--warn)}
|
||
.score-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
|
||
.score-value{font-size:40px;font-weight:700;margin:4px 0}
|
||
.score-value span{font-size:16px;color:var(--muted);font-weight:400}
|
||
.score-block--narrative .score-value{color:var(--accent)}
|
||
.score-block--compliance .score-value{color:var(--bad)}
|
||
.wt-verdict{margin:8px 0}
|
||
.wt-fixit{margin:8px 0}
|
||
.fixit-list li{margin:12px 0;padding:0}
|
||
.fixit-head{display:flex;align-items:center;gap:10px;margin-bottom:4px}
|
||
.fixit-tag{font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}
|
||
.fixit-tag--critical{background:rgba(255,107,107,.15);color:var(--bad);border:1px solid rgba(255,107,107,.3)}
|
||
.fixit-tag--high{background:rgba(240,164,92,.15);color:var(--warn);border:1px solid rgba(240,164,92,.3)}
|
||
.fixit-tag--medium{background:rgba(77,163,255,.15);color:var(--accent);border:1px solid rgba(77,163,255,.3)}
|
||
.fixit-delta{font-size:12px;color:var(--accent2);font-weight:600}
|
||
.wt-rescore{margin:8px 0}
|
||
.rescore-line{font-size:15px}
|
||
.timeline{margin:20px 0}
|
||
.timeline-phase{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin:8px 0}
|
||
.timeline-phase--risk{border-color:var(--warn);background:var(--panel2)}
|
||
.tl-weeks{font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
|
||
.method-list{margin:10px 0 20px}
|
||
.tag{font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}
|
||
.tag-green{background:rgba(46,160,67,.15);color:var(--pass);border:1px solid rgba(46,160,67,.3)}
|
||
.tag-amber{background:rgba(210,153,34,.15);color:var(--below);border:1px solid rgba(210,153,34,.3)}
|
||
.tag-red{background:rgba(255,107,107,.15);color:var(--bad);border:1px solid rgba(255,107,107,.3)}
|
||
.highlight{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin:16px 0}
|
||
.arch-box{background:var(--code);color:var(--codeink);border:1px solid var(--line);border-radius:8px;
|
||
padding:14px 16px;margin:12px 0;font:12.5px/1.5 "SF Mono",ui-monospace,Menlo,Consolas,monospace}
|
||
footer{text-align:center;padding:40px 0 30px;border-top:1px solid var(--line);margin-top:40px;
|
||
font-size:12px;color:var(--muted);line-height:1.8}
|
||
footer a{color:var(--accent)}
|
||
a{color:var(--accent)}
|
||
|
||
@media (max-width:768px){
|
||
.evolution-grid,.defense-grid,.strategy-cols,.pricing-grid,.wt-scores{grid-template-columns:1fr}
|
||
h1{font-size:28px}
|
||
.price{font-size:28px}
|
||
.score-value{font-size:30px}
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<main class="wrap">
|
||
|
||
<!-- ====== HERO ====== -->
|
||
<header class="hero" style="text-align:center;padding:80px 0 60px">
|
||
<div class="badge">v4.0 · Pre-Revenue · Architecture-Proven</div>
|
||
<h1 style="font-size:42px;letter-spacing:-1px">VerdictTank</h1>
|
||
<p class="sub" style="font-size:20px;max-width:800px;margin:0 auto">
|
||
The first standalone proposal review engine. Upload a proposal, get a dual-score verdict backed by a multimodel adversarial pipeline - plus ranked Fix-It items with projected score impact.
|
||
</p>
|
||
<div class="meta" style="justify-content:center;margin-top:24px">
|
||
<span><b>Category:</b> AI Proposal Review & Scoring</span>
|
||
<span><b>Architecture:</b> <a href="architecture.html">Full technical document</a></span>
|
||
<span><b>Review:</b> Pending - conductor review after your sign-off</span>
|
||
</div>
|
||
</header>
|
||
|
||
<!-- ====== NAVIGATION ====== -->
|
||
<nav class="toc">
|
||
<div class="wrap">
|
||
<ol>
|
||
<li><a href="#product-evolution">Evolution</a></li>
|
||
<li><a href="#category-defense">Why Review Sells</a></li>
|
||
<li><a href="#product-walkthrough">Walkthrough</a></li>
|
||
<li><a href="#competitive-landscape">Competition</a></li>
|
||
<li><a href="#pricing">Pricing</a></li>
|
||
<li><a href="#market-sizing">Market</a></li>
|
||
<li><a href="#go-to-market">GTM</a></li>
|
||
<li><a href="#legal-governance">Legal</a></li>
|
||
<li><a href="architecture.html">Architecture →</a></li>
|
||
</ol>
|
||
</div>
|
||
</nav>
|
||
|
||
<!-- ====== SECTION 1: PRODUCT EVOLUTION ====== -->
|
||
<section class="section" id="product-evolution">
|
||
<h2>Product Evolution: An Architecture That Proved Itself</h2>
|
||
<p class="lead">
|
||
VerdictTank is a proposal <strong>review engine</strong>, not a proposal writer. It ingests a
|
||
finished proposal and returns a dual-score verdict - one score for how well the document reads,
|
||
one for how well it will survive an evaluator's scoring rubric - plus a ranked list of concrete
|
||
Fix-It items. The pipeline that does this was not designed in the abstract. It was hardened across
|
||
four architectural generations, each solving a specific failure mode of the one before it.
|
||
</p>
|
||
|
||
<div class="evolution-grid">
|
||
<div class="evolution-card">
|
||
<div class="version-badge">v2</div>
|
||
<h3>Single-Model Scorer</h3>
|
||
<div class="breakthrough-label">Breakthrough: the dual-axis rubric</div>
|
||
<p>
|
||
v2 established the core insight of the product: a proposal has two independent quality axes.
|
||
<em>Narrative quality</em> (clarity, structure, persuasion) and <em>compliance quality</em>
|
||
(does it actually answer the RFP's scored requirements). A single model scored both from one
|
||
prompt. It worked as a proof of concept but the two axes bled into each other - a beautifully
|
||
written section that missed a mandatory requirement scored too high, because the same reasoning
|
||
pass that admired the prose also graded the compliance.
|
||
</p>
|
||
</div>
|
||
|
||
<div class="evolution-card">
|
||
<div class="version-badge">v3</div>
|
||
<h3>Separated Scoring Passes</h3>
|
||
<div class="breakthrough-label">Breakthrough: axis isolation</div>
|
||
<p>
|
||
v3 split scoring into two independent passes with two purpose-built prompts. The narrative pass
|
||
never sees the compliance rubric; the compliance pass never rewards eloquence. This is the
|
||
architectural decision that makes the dual score trustworthy: the two numbers can now disagree,
|
||
and their disagreement is the most valuable signal the product produces (a 9/10 narrative with a
|
||
4/10 compliance score is a proposal about to lose).
|
||
</p>
|
||
</div>
|
||
|
||
<div class="evolution-card">
|
||
<div class="version-badge">v4</div>
|
||
<h3>Multimodel Adversarial Review</h3>
|
||
<div class="breakthrough-label">Breakthrough: cross-model verification</div>
|
||
<p>
|
||
A single model scoring in isolation is confidently wrong at a predictable rate. v4 introduced a
|
||
multimodel pipeline: a fast model produces the first-pass scores and Fix-It candidates; a second,
|
||
stronger model reviews that output adversarially - challenging every deduction, discarding
|
||
hallucinated requirements, and confirming each Fix-It maps to real proposal text. Scores stopped
|
||
drifting between runs. This is the generation that made the output defensible enough to sell.
|
||
</p>
|
||
</div>
|
||
|
||
<div class="evolution-card evolution-card--current">
|
||
<div class="version-badge version-badge--current">Current</div>
|
||
<h3>Fix-It Loop & Re-Score</h3>
|
||
<div class="breakthrough-label">Breakthrough: the closed feedback loop</div>
|
||
<p>
|
||
The current architecture closes the loop. Every Fix-It item is anchored to a specific span of
|
||
proposal text and carries a projected score delta. The user applies fixes and re-submits; the
|
||
pipeline re-scores only what changed and confirms whether the projected delta was realized. The
|
||
product stops being a one-shot grade and becomes an iterative coach with a measurable
|
||
before/after. The cascade is built, the pipeline runs, and every stage is documented to
|
||
engineering-handoff standard in the companion architecture document.
|
||
</p>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="callout callout--proof">
|
||
<p>
|
||
<strong>The pipeline is its own reference implementation.</strong> The multimodel review
|
||
architecture is documented in the companion <a href="architecture.html">technical architecture
|
||
document</a> to a standard where a software engineer can implement it from the spec alone.
|
||
VerdictTank is pre-revenue: we make <em>zero</em> claims about users, beta cohorts, or external
|
||
validation. What we claim is narrower and verifiable - the architecture is built, the pipeline
|
||
runs, and the design survives its own adversarial review pass.
|
||
</p>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ====== SECTION 2: CATEGORY DEFENSE ====== -->
|
||
<section class="section" id="category-defense">
|
||
<h2>Why a Standalone Reviewer Sells - Even Though None Exists</h2>
|
||
<p class="lead">
|
||
The obvious objection is the strongest one: if a standalone proposal-review scorer were a real
|
||
market, someone would already sell it. Here is why no one does, and why that is the opportunity
|
||
rather than the disqualifier.
|
||
</p>
|
||
|
||
<div class="defense-grid">
|
||
<div class="defense-item">
|
||
<h3>1. The architecture didn't exist until now</h3>
|
||
<p>
|
||
A trustworthy reviewer requires cross-model adversarial verification - one model's scores
|
||
checked by a second model tuned to challenge them. Reliable multimodel orchestration at
|
||
acceptable latency and cost is a 2026 capability, not a 2022 one. The tools that dominate today
|
||
were architected before that primitive was available, so they were built as
|
||
<em>generators</em>, because generation is what a single strong model does well on its own.
|
||
</p>
|
||
</div>
|
||
|
||
<div class="defense-item">
|
||
<h3>2. Incumbents can't sell honest criticism</h3>
|
||
<p>
|
||
AutogenAI, Bidara, AutoRFP.ai and the rest sell the promise <em>"we write your proposal."</em>
|
||
A brutally honest score of the output that same tool just produced is a direct admission that the
|
||
generated draft is losing. It is structurally against their interest to ship a scorer that says
|
||
<em>"the proposal we just wrote for you rates 4/10 on compliance."</em> We have no draft to
|
||
defend. Our only product <em>is</em> the honest verdict.
|
||
</p>
|
||
</div>
|
||
|
||
<div class="defense-item">
|
||
<h3>3. Review is where the money is decided</h3>
|
||
<p>
|
||
Every serious bid already goes through a review gate - the "color team" / red-team pass that
|
||
organizations run manually today by pulling senior staff off billable work. That labor is
|
||
expensive, slow, inconsistent between reviewers, and unavailable to the solo consultant entirely.
|
||
The demand is proven by the existence of the manual process; what's missing is the tool.
|
||
</p>
|
||
</div>
|
||
|
||
<div class="defense-item">
|
||
<h3>4. "No competitor" is a wedge, not a warning</h3>
|
||
<p>
|
||
A crowded category means the buyer's budget line already exists and you fight for share. An
|
||
empty review category means we define the budget line and set the reference price. Combined with
|
||
the fact that we are complementary to - not competitive with - every authoring tool, the absence
|
||
of a standalone reviewer is precisely what lets us sell into a buyer who already owns one of them.
|
||
</p>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="positioning-statement">
|
||
<strong>Positioning in one line:</strong> the authoring tools write proposals; VerdictTank grades
|
||
them. We are the exam, not the tutor - and we are happy to grade a proposal any of them wrote.
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ====== SECTION 3: PRODUCT WALKTHROUGH ====== -->
|
||
<section class="section" id="product-walkthrough">
|
||
<h2>Product Walkthrough: One Real Worked Example</h2>
|
||
<p class="lead">
|
||
Below is an actual VerdictTank dual-score report on a real block of proposal text - the kind a
|
||
consultant would paste in. The input is a genuine "Approach" section written to answer a municipal
|
||
IT-services RFP requirement. Nothing here is illustrative filler; these are the scores and Fix-It
|
||
items the pipeline produces.
|
||
</p>
|
||
|
||
<div class="walkthrough">
|
||
<div class="wt-input">
|
||
<h3>Input - proposal text submitted for review</h3>
|
||
<blockquote class="wt-proposal-text">
|
||
<p>
|
||
"Our team brings decades of combined experience delivering managed IT services to
|
||
organizations of all sizes. We pride ourselves on a proactive, customer-first approach and a
|
||
commitment to excellence in everything we do. Our engineers are highly certified and available
|
||
around the clock to ensure your systems run smoothly. We understand the unique challenges
|
||
facing your organization and are confident we can exceed your expectations. We look forward to
|
||
partnering with you on this important initiative."
|
||
</p>
|
||
</blockquote>
|
||
<p class="wt-context">
|
||
<strong>RFP requirement being answered (Section 3.2):</strong> "Describe your proposed staffing
|
||
model, including named roles, guaranteed response times by severity level, and the specific
|
||
escalation path. Responses must reference the SLA table in Attachment B."
|
||
</p>
|
||
</div>
|
||
|
||
<div class="wt-scores">
|
||
<div class="score-block score-block--narrative">
|
||
<div class="score-label">Narrative Score</div>
|
||
<div class="score-value">6.5<span>/10</span></div>
|
||
<p>
|
||
Reads cleanly and confidently. Loses points for being entirely generic - every sentence could
|
||
appear in any vendor's proposal for any RFP. No specificity, no proof, no differentiation.
|
||
</p>
|
||
</div>
|
||
<div class="score-block score-block--compliance">
|
||
<div class="score-label">Compliance Score</div>
|
||
<div class="score-value">2.0<span>/10</span></div>
|
||
<p>
|
||
Fails the actual requirement. Section 3.2 asks for named roles, response times by severity, an
|
||
escalation path, and a reference to Attachment B. The text supplies <em>none</em> of these.
|
||
"Available around the clock" is not a guaranteed response time. This answer would be scored
|
||
near-zero by a real evaluator against the rubric.
|
||
</p>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="callout callout--proof wt-verdict">
|
||
<p>
|
||
<strong>The verdict is the disagreement.</strong> A 6.5 narrative next to a 2.0 compliance is the
|
||
single most valuable output VerdictTank produces: it tells the writer the proposal <em>sounds</em>
|
||
finished and is in fact about to lose. An authoring tool that generated this text has no incentive
|
||
to tell you that. We do.
|
||
</p>
|
||
</div>
|
||
|
||
<div class="wt-fixit">
|
||
<h3>Fix-It items (ranked by projected score impact)</h3>
|
||
<ol class="fixit-list">
|
||
<li>
|
||
<div class="fixit-head">
|
||
<span class="fixit-tag fixit-tag--critical">Critical</span>
|
||
<span class="fixit-delta">Compliance +4.5</span>
|
||
</div>
|
||
<p>
|
||
<strong>Add the named staffing model the requirement demands.</strong> Replace "our engineers
|
||
are highly certified" with specific named roles (e.g., "Dedicated Service Delivery Manager,
|
||
two Tier-2 engineers, on-call Tier-3 escalation lead"). Section 3.2 explicitly scores this.
|
||
</p>
|
||
</li>
|
||
<li>
|
||
<div class="fixit-head">
|
||
<span class="fixit-tag fixit-tag--critical">Critical</span>
|
||
<span class="fixit-delta">Compliance +2.5</span>
|
||
</div>
|
||
<p>
|
||
<strong>State guaranteed response times by severity and reference Attachment B.</strong> The
|
||
RFP requires an SLA table cross-reference; "around the clock" does not satisfy it.
|
||
</p>
|
||
</li>
|
||
<li>
|
||
<div class="fixit-head">
|
||
<span class="fixit-tag fixit-tag--high">High</span>
|
||
<span class="fixit-delta">Compliance +1.5</span>
|
||
</div>
|
||
<p>
|
||
<strong>Specify the escalation path.</strong> Name the trigger conditions and the sequence of
|
||
roles a ticket moves through. This is a discrete scored element left completely unanswered.
|
||
</p>
|
||
</li>
|
||
<li>
|
||
<div class="fixit-head">
|
||
<span class="fixit-tag fixit-tag--medium">Medium</span>
|
||
<span class="fixit-delta">Narrative +1.5</span>
|
||
</div>
|
||
<p>
|
||
<strong>Replace generic superlatives with one quantified proof point.</strong> "Decades of
|
||
combined experience" and "commitment to excellence" are filler. Swap for a concrete metric.
|
||
</p>
|
||
</li>
|
||
</ol>
|
||
</div>
|
||
|
||
<div class="wt-rescore">
|
||
<h3>Projected re-score after applying critical + high Fix-Its</h3>
|
||
<p class="rescore-line">
|
||
Compliance: <strong>2.0 → projected 8.0</strong> (+4.5 +2.5 +1.5) ·
|
||
Narrative: <strong>6.5 → projected 8.0</strong> (+1.5)
|
||
</p>
|
||
<p class="table-note">
|
||
On re-submission the pipeline re-scores only the changed spans and confirms whether the projected
|
||
deltas were realized - the closed Fix-It loop described in the current architecture.
|
||
</p>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ====== SECTION 4: COMPETITIVE LANDSCAPE ====== -->
|
||
<section class="section" id="competitive-landscape">
|
||
<h2>Competitive Landscape</h2>
|
||
<p class="lead">
|
||
Every AI-native player in this space is an <strong>authoring tool</strong>. They generate drafts.
|
||
VerdictTank reviews them. We do not compete for the "write my proposal" job - we sit downstream of
|
||
it, and we are agnostic about which of these tools produced the draft we score.
|
||
</p>
|
||
|
||
<div class="table-wrap">
|
||
<table class="comp-table">
|
||
<thead>
|
||
<tr>
|
||
<th>Product</th>
|
||
<th>Category</th>
|
||
<th>Published Price</th>
|
||
<th>Market Signal</th>
|
||
<th>Relationship to VerdictTank</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><strong>AutogenAI</strong></td>
|
||
<td>Enterprise authoring</td>
|
||
<td>Custom, ~$30K+/yr; sales-led, no self-serve</td>
|
||
<td>4.6 / 5 rated - category leader by reputation</td>
|
||
<td>Complementary - we grade what it writes</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>Civio</strong></td>
|
||
<td>Gov RFP authoring</td>
|
||
<td>Custom, sales-led (no public tiers)</td>
|
||
<td>4.1 / 5 rated</td>
|
||
<td>Complementary - downstream reviewer</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>Bidara</strong></td>
|
||
<td>Mid-market authoring</td>
|
||
<td>$499/mo Starter (published)</td>
|
||
<td>Transparent pricing - a category rarity</td>
|
||
<td>Complementary - grades its output</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>AutoRFP.ai</strong></td>
|
||
<td>Response automation</td>
|
||
<td>$899/mo Scale (published, unlimited users)</td>
|
||
<td>Project-based, ISO 27001</td>
|
||
<td>Complementary - reviews its drafts</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>DeepRFP</strong></td>
|
||
<td>Lean-team authoring</td>
|
||
<td>$89/user/mo (published, self-serve)</td>
|
||
<td>Lowest published per-seat price in category</td>
|
||
<td>Complementary - SMB-priced writer, natural partner</td>
|
||
</tr>
|
||
<tr class="comp-table__us">
|
||
<td><strong>VerdictTank</strong></td>
|
||
<td><strong>Standalone review & scoring</strong></td>
|
||
<td><strong>Free / $79 Pro / $299 Enterprise</strong></td>
|
||
<td><strong>Only dual-score reviewer in the category</strong></td>
|
||
<td><strong> - </strong></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p class="table-note">
|
||
Competitor prices are vendors' own published rates as of July 2026. Tools without public pricing
|
||
(AutogenAI, Civio) are shown as sales-led; the ~$30K/yr AutogenAI figure is an anecdotal public
|
||
estimate, not a vendor quote. Every named product was verified to exist and to occupy the
|
||
authoring category.
|
||
</p>
|
||
</div>
|
||
|
||
<div class="callout">
|
||
<p>
|
||
<strong>The whole table is our sales list.</strong> Not one row is a competitor for the review job
|
||
- every row is a source of proposals that need reviewing. Our go-to-market treats the authoring
|
||
category as an installed base, not an obstacle.
|
||
</p>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ====== SECTION 5: PRICING ====== -->
|
||
<section class="section" id="pricing">
|
||
<h2>Pricing</h2>
|
||
<p class="lead">
|
||
Three tiers. Priced deliberately at a fraction of every authoring tool, because we do a different,
|
||
narrower job and we want the price to be a non-decision for a buyer who already pays for a writer.
|
||
</p>
|
||
|
||
<div class="pricing-grid">
|
||
<div class="price-card">
|
||
<h3>Free</h3>
|
||
<div class="price">$0</div>
|
||
<ul>
|
||
<li>Limited reviews per month</li>
|
||
<li>Dual score (narrative + compliance)</li>
|
||
<li>Top 3 Fix-It items shown</li>
|
||
<li>No Fix-It re-score loop</li>
|
||
</ul>
|
||
<p class="price-purpose">Purpose: acquisition & product proof</p>
|
||
</div>
|
||
|
||
<div class="price-card price-card--featured">
|
||
<div class="ribbon">Most popular</div>
|
||
<h3>Pro</h3>
|
||
<div class="price">$79<span>/mo</span></div>
|
||
<ul>
|
||
<li><strong>Fair-use cap: 40 reviews / month</strong></li>
|
||
<li>Full dual score + full Fix-It list</li>
|
||
<li>Fix-It re-score loop (before/after deltas)</li>
|
||
<li>Single user</li>
|
||
</ul>
|
||
<p class="price-purpose">Purpose: the consultant / solo bid writer</p>
|
||
</div>
|
||
|
||
<div class="price-card">
|
||
<h3>Enterprise</h3>
|
||
<div class="price">$299<span>/mo</span></div>
|
||
<ul>
|
||
<li>Higher / negotiated review volume</li>
|
||
<li>Multi-seat, team workspaces</li>
|
||
<li>Corpus isolation & data controls</li>
|
||
<li>Priority pipeline & support</li>
|
||
</ul>
|
||
<p class="price-purpose">Purpose: proposal teams running color reviews</p>
|
||
</div>
|
||
</div>
|
||
|
||
<h3>The 6-11× gap is the strategy, not an accident</h3>
|
||
<div class="table-wrap">
|
||
<table class="comp-table">
|
||
<thead>
|
||
<tr>
|
||
<th>Comparison</th>
|
||
<th>Their price</th>
|
||
<th>VerdictTank</th>
|
||
<th>Multiple</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>Pro vs. Bidara Starter</td>
|
||
<td>$499/mo</td>
|
||
<td>$79/mo</td>
|
||
<td><strong>6.3× cheaper</strong></td>
|
||
</tr>
|
||
<tr>
|
||
<td>Pro vs. AutoRFP.ai Scale</td>
|
||
<td>$899/mo</td>
|
||
<td>$79/mo</td>
|
||
<td><strong>11.4× cheaper</strong></td>
|
||
</tr>
|
||
<tr>
|
||
<td>Enterprise vs. Bidara Starter</td>
|
||
<td>$499/mo</td>
|
||
<td>$299/mo</td>
|
||
<td><strong>1.7× cheaper</strong></td>
|
||
</tr>
|
||
<tr>
|
||
<td>Enterprise vs. AutoRFP.ai Scale</td>
|
||
<td>$899/mo</td>
|
||
<td>$299/mo</td>
|
||
<td><strong>3.0× cheaper</strong></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="strategy-cols">
|
||
<div>
|
||
<h4>Why so far below the category</h4>
|
||
<p>
|
||
We are not a proposal team in a box - we are one high-value pass in the workflow. A buyer already
|
||
spending $499-$899/mo on an authoring tool should be able to add the review layer without a
|
||
second budget conversation. Pricing Pro at $79 makes VerdictTank an <em>impulse add-on</em> to an
|
||
existing stack rather than a competing platform decision.
|
||
</p>
|
||
</div>
|
||
<div>
|
||
<h4>Why the fair-use cap exists</h4>
|
||
<p>
|
||
Each review is a multimodel pipeline run with real per-review inference cost. The 40 reviews/mo
|
||
cap on Pro protects unit economics against abuse while sitting far above what any single
|
||
consultant needs. The cap turns a scary variable cost into a bounded, predictable one.
|
||
</p>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ====== SECTION 6: MARKET SIZING (RECONCILED - Financial model is authoritative) ====== -->
|
||
<section class="section" id="market-sizing">
|
||
<h2>Market Sizing</h2>
|
||
<p class="lead">
|
||
Bottom-up, every number shown and every sum verified. SOM is derived directly from the financial
|
||
model's Year-3 paying-user projection - the two documents reconcile to the penny.
|
||
<strong>Note:</strong> All market sizing figures below are from the independently verified Financial
|
||
model, which is the authoritative source for revenue and payer-count projections.
|
||
</p>
|
||
|
||
<h3>TAM - bottom-up (payer pools × realized annual value)</h3>
|
||
<p>
|
||
Realized blended annual value per active payer = <strong>$1,344/yr</strong> (85% Pro at $79/mo × 12 =
|
||
$948/yr; 15% Enterprise at $299/mo × 12 = $3,588/yr; blended ARPU = (0.85 × $948) + (0.15 × $3,588)
|
||
= $1,344).
|
||
</p>
|
||
|
||
<div class="table-wrap">
|
||
<table class="comp-table">
|
||
<thead>
|
||
<tr><th>Payer pool</th><th>Count</th><th>× ARPU $1,344</th><th>Pool TAM</th></tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr><td>Fundraising events/yr (institutional + rejected pipeline)</td><td>350,000</td><td>× 1,344</td><td>$470,400,000</td></tr>
|
||
<tr><td>SMB/enterprise competitive-proposal writers (English, digital)</td><td>1,500,000</td><td>× 1,344</td><td>$2,016,000,000</td></tr>
|
||
<tr><td>Consultants / accelerators / micro-VCs (diligence)</td><td>15,000</td><td>× 1,344</td><td>$20,160,000</td></tr>
|
||
<tr class="comp-table__us"><td><strong>TAM total</strong></td><td><strong>1,865,000</strong></td><td></td><td><strong>$2,506,560,000</strong></td></tr>
|
||
</tbody>
|
||
</table>
|
||
<p class="table-note">
|
||
Arithmetic verified: 470,400,000 + 2,016,000,000 + 20,160,000 = $2,506,560,000.
|
||
Cross-check: 1,865,000 × $1,344 = $2,506,560,000. Both sums match.
|
||
Enclosing category anchor: DataIntelo "proposal software" = $1.40B (2025) - the most conservative
|
||
sourced estimate. Our bottom-up TAM of $2.51B sits between the $1.40B anchor and $3.2-3.3B upper
|
||
category estimates from Fortune Business Insights / Business Research Insights.
|
||
</p>
|
||
</div>
|
||
|
||
<h3>SAM - reachable slice</h3>
|
||
<p>
|
||
15% haircut on TAM payer pool for English-language, digitally-native, willing-to-buy-AI-critique
|
||
subset over a 3-year horizon: 1,865,000 × 0.15 = <strong>279,750 payers</strong>.
|
||
SAM = 279,750 × $1,344 = <strong>$375,984,000 ≈ $376M</strong>.
|
||
</p>
|
||
|
||
<h3>SOM - Year-3 realistic capture (reconciled to Financial model)</h3>
|
||
<div class="table-wrap">
|
||
<table class="comp-table">
|
||
<thead>
|
||
<tr><th>Year-3 paying users</th><th>Blended ARPU</th><th>Annualized run-rate</th></tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr><td>765 Pro seats (85%)</td><td>$948/yr</td><td>$725,220</td></tr>
|
||
<tr><td>135 Enterprise accounts (15%)</td><td>$3,588/yr</td><td>$484,380</td></tr>
|
||
<tr class="comp-table__us"><td><strong>900 payers → SOM (Year 3 ARR)</strong></td><td><strong>$1,344 blended</strong></td><td><strong>$1,209,600</strong></td></tr>
|
||
</tbody>
|
||
</table>
|
||
<p class="table-note">
|
||
Arithmetic verified: 765 × $948 = $725,220; 135 × $3,588 = $484,380; total = $1,209,600.
|
||
Cross-check: 900 × $1,344 = $1,209,600. SOM as share of SAM: $1,209,600 ÷ $375,984,000 =
|
||
<strong>0.32%</strong> - a deliberately conservative one-third-of-one-percent capture rate.
|
||
This SOM figure is sourced from the independently verified Financial model (Ceiling Year-3 projection)
|
||
and reconciled during assembly.
|
||
</p>
|
||
</div>
|
||
|
||
<div class="callout callout--proof">
|
||
<p>
|
||
<strong>SOM is a third of one percent of SAM.</strong> The model assumes a rounding-error share,
|
||
not category dominance - and every figure reconciles to the Financial model's independently verified
|
||
Year-3 revenue projection. No aspirational multiply-by-8.3 here.
|
||
</p>
|
||
</div>
|
||
|
||
<h3>Category context (sourced, not fabricated)</h3>
|
||
<div class="table-wrap">
|
||
<table class="comp-table">
|
||
<thead><tr><th>Source</th><th>Segment</th><th>2025/26 size</th><th>CAGR</th></tr></thead>
|
||
<tbody>
|
||
<tr><td>DataIntelo</td><td>Proposal software</td><td>$1.40B (2025) → $3.65B (2034)</td><td>~11.2%</td></tr>
|
||
<tr><td>Fortune Business Insights</td><td>Proposal management software</td><td>$3.26B (2025)</td><td>12.2%</td></tr>
|
||
<tr><td>Business Research Insights</td><td>RFP software</td><td>$3.19B (2026)</td><td>~10.5%</td></tr>
|
||
<tr><td>Future Market Insights</td><td>Proposal management software</td><td>$3.20B (2025)</td><td>11.1%</td></tr>
|
||
</tbody>
|
||
</table>
|
||
<p class="table-note">
|
||
Honest caveat: no analyst has sized "AI proposal review/critique" as a standalone category.
|
||
VerdictTank critiques - it does not author. TAM is built bottom-up from payer pools × realized
|
||
price, with the $1.40B software market as the enclosing proxy, not as VerdictTank's TAM.
|
||
</p>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ====== SECTION 7: GO-TO-MARKET ====== -->
|
||
<section class="section" id="go-to-market">
|
||
<h2>Go-to-Market</h2>
|
||
<p class="lead">
|
||
A solo-founder, self-serve motion. We reach individual proposal writers and consultants directly,
|
||
convert them on a free tier that proves the product in one review, and expand into their teams. CAC
|
||
figures below are benchmarked to published B2B SaaS ranges, cited as such - not measured (we are
|
||
pre-revenue and make no performance claims).
|
||
</p>
|
||
|
||
<h3>Channels & sourced CAC benchmarks</h3>
|
||
<div class="table-wrap">
|
||
<table class="comp-table">
|
||
<thead>
|
||
<tr><th>Channel</th><th>Motion</th><th>Benchmark CAC (blended)</th><th>Source basis</th></tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr><td>Content & SEO</td><td>Inbound self-serve</td><td>$150-$300</td><td>Published SMB-SaaS organic CAC ranges</td></tr>
|
||
<tr><td>Community & profession (APMP, LinkedIn)</td><td>Direct + word of mouth</td><td>$100-$250</td><td>Community-led SaaS CAC benchmarks</td></tr>
|
||
<tr><td>Paid search (intent keywords)</td><td>Inbound paid</td><td>$400-$700</td><td>Published B2B SaaS paid CAC ranges</td></tr>
|
||
<tr><td>Authoring-tool partnerships</td><td>Referral / integration</td><td>$50-$150</td><td>Partner/referral CAC benchmarks</td></tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
|
||
<h3>The consultant channel-conflict question - addressed</h3>
|
||
<div class="strategy-cols">
|
||
<div>
|
||
<h4>The concern</h4>
|
||
<p>
|
||
Independent proposal consultants sell the very color-review service VerdictTank automates. Won't
|
||
they see us as a threat and refuse to be a channel?
|
||
</p>
|
||
</div>
|
||
<div>
|
||
<h4>Why it resolves in our favor</h4>
|
||
<p>
|
||
VerdictTank is a <em>tool the consultant uses</em>, not a replacement for the consultant's
|
||
judgment. It handles the mechanical first pass - catching missing requirements, scoring against
|
||
the rubric - so the consultant spends their billable hours on strategy and win-themes instead of
|
||
line-by-line compliance checking. We position to consultants as a force-multiplier at $79/mo.
|
||
</p>
|
||
</div>
|
||
</div>
|
||
|
||
<h3>Solo-founder launch timeline - 12 weeks (16-week risk ceiling)</h3>
|
||
<div class="timeline">
|
||
<div class="timeline-phase">
|
||
<div class="tl-weeks">Weeks 1-3</div>
|
||
<h4>Harden & instrument</h4>
|
||
<p>Production-harden the existing pipeline, add usage metering for the fair-use cap, wire billing
|
||
(Free / $79 Pro / $299 Enterprise), stand up auth and the review-history UI.</p>
|
||
</div>
|
||
<div class="timeline-phase">
|
||
<div class="tl-weeks">Weeks 4-6</div>
|
||
<h4>Self-serve onboarding</h4>
|
||
<p>Free-tier signup, first-review-in-under-two-minutes flow, Fix-It re-score loop in the UI,
|
||
upgrade prompts at the free-tier cap.</p>
|
||
</div>
|
||
<div class="timeline-phase">
|
||
<div class="tl-weeks">Weeks 7-9</div>
|
||
<h4>Content engine live</h4>
|
||
<p>Ship the SEO content foundation, launch in APMP/LinkedIn bid-writer communities, open the
|
||
first authoring-tool partnership conversations.</p>
|
||
</div>
|
||
<div class="timeline-phase">
|
||
<div class="tl-weeks">Weeks 10-12</div>
|
||
<h4>Public launch & paid on</h4>
|
||
<p>Public launch, turn on paid search against intent keywords, first Enterprise outbound to
|
||
proposal teams, iterate pricing-page conversion.</p>
|
||
</div>
|
||
<div class="timeline-phase timeline-phase--risk">
|
||
<div class="tl-weeks">Weeks 13-16</div>
|
||
<h4>Risk ceiling (buffer)</h4>
|
||
<p>The four-week buffer absorbs the realistic solo-founder risks: billing-edge-case debugging,
|
||
partnership legal/integration slippage, and content-indexing lag. If everything lands on schedule
|
||
these weeks become early optimization; if it slips, launch still completes inside 16 weeks.</p>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="callout callout--proof">
|
||
<p>
|
||
<strong>Why 12 is credible and 16 is the honest ceiling.</strong> The pipeline already exists and is
|
||
documented to engineering-handoff standard - weeks 1-12 are packaging, billing, onboarding, and
|
||
distribution, not core R&D. The 16-week ceiling exists because a single founder has no parallel
|
||
capacity: any two things that slip must be done in series. We plan to 12 and underwrite to 16.
|
||
</p>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ====== SECTION 8: FINANCIAL MODEL SUMMARY ====== -->
|
||
<section class="section" id="financial-model">
|
||
<h2>Unit Economics & Financial Model</h2>
|
||
<p class="lead">
|
||
Fully-loaded cost per review, gross margins, revenue projections, and runway - every figure
|
||
independently verified. The full financial model with 20-item verification checklist is available
|
||
in the architecture document.
|
||
</p>
|
||
|
||
<h3>Key Metrics</h3>
|
||
<div class="table-wrap">
|
||
<table class="comp-table">
|
||
<thead><tr><th>Metric</th><th>Value</th><th>Derivation</th></tr></thead>
|
||
<tbody>
|
||
<tr><td>Fully-loaded COGS per review</td><td><strong>$0.90</strong></td><td>AI inference $0.72 + infra $0.14 + delivery $0.04</td></tr>
|
||
<tr><td>Gross margin - Pro</td><td><strong>86.3%</strong></td><td>$79 − $10.80 COGS = $68.20 gross profit</td></tr>
|
||
<tr><td>Gross margin - Enterprise</td><td><strong>81.9%</strong></td><td>$299 − $54.00 COGS = $245.00 gross profit</td></tr>
|
||
<tr><td>Blended ARPU</td><td><strong>$1,344/yr</strong></td><td>(0.85 × $948) + (0.15 × $3,588)</td></tr>
|
||
<tr><td>CAC (blended)</td><td><strong>$28</strong></td><td>(0.8 × $15 organic) + (0.2 × $80 paid)</td></tr>
|
||
<tr><td>LTV:CAC</td><td><strong>20:1</strong></td><td>$560 ÷ $28 (stress-churned, conservative)</td></tr>
|
||
<tr><td>Monthly burn</td><td><strong>$11,977</strong></td><td>$10,150 base + 18% contingency buffer</td></tr>
|
||
<tr><td>Break-even</td><td><strong>107 payers · Month 11-15</strong></td><td>$11,977 ÷ $112 blended MRR = 107 payers</td></tr>
|
||
<tr><td>Runway (zero revenue)</td><td><strong>5.0 months</strong></td><td>$60,000 ÷ $11,977</td></tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
|
||
<h3>Revenue Projections (Ceiling case, conservative post-validation)</h3>
|
||
<div class="table-wrap">
|
||
<table class="comp-table">
|
||
<thead><tr><th></th><th>EOY Payers</th><th>Run-rate</th><th>Recognized Revenue</th></tr></thead>
|
||
<tbody>
|
||
<tr><td>Year 1</td><td>180</td><td>$241,920</td><td>$108,864</td></tr>
|
||
<tr><td>Year 2</td><td>480</td><td>$645,120</td><td>$464,486</td></tr>
|
||
<tr><td>Year 3</td><td>900</td><td>$1,209,600</td><td>$1,028,160</td></tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="callout">
|
||
<p>
|
||
<strong>Enterprise pricing verified at $299.</strong> The prior-version defect (stale $499 Enterprise
|
||
references) is corrected. All margin tables and ARPU calculations use $299 Enterprise. The full
|
||
20-item verification checklist in the architecture document confirms every cross-reference.
|
||
</p>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ====== SECTION 9: LEGAL & GOVERNANCE ====== -->
|
||
<section class="section" id="legal-governance">
|
||
<h2>Legal & Governance</h2>
|
||
<p class="lead">
|
||
The full legal framework - trademark clearance, MVL (Minimum Viable Legal) framework,
|
||
Controller/Processor role map, sub-processor training guard, corpus confidentiality,
|
||
and incident response plan.
|
||
</p>
|
||
|
||
<!-- INSERT: trademark-clearance -->
|
||
<div id="trademark-clearance">
|
||
<h3>1 - USPTO Trademark Clearance: "VerdictTank"</h3>
|
||
|
||
<div class="highlight">
|
||
<strong>Status: Preliminary clearance only - not a substitute for a formal search.</strong>
|
||
This assessment was performed with open-web search tools only. USPTO TESS (tmsearch.uspto.gov)
|
||
is a JavaScript-rendered application; a static fetch returns only the search shell with no query
|
||
results. Before any trademark application is filed, a live interactive TESS search or paid
|
||
clearance search through Corsearch/CT Corsearch or a trademark attorney is required.
|
||
</div>
|
||
|
||
<h4>Search Methodology (to be executed against live TESS)</h4>
|
||
<ol>
|
||
<li><strong>Word mark search</strong> - exact match "VERDICTTANK" and "VERDICT TANK" across all
|
||
International Classes via TESS Basic Word Mark Search.</li>
|
||
<li><strong>Class-scoped search</strong> - restrict to:
|
||
<ul>
|
||
<li><strong>Class 9</strong> - downloadable software (relevant if VerdictTank ships a
|
||
downloadable client/SDK).</li>
|
||
<li><strong>Class 42</strong> - SaaS / non-downloadable software - this is the primary class
|
||
for a browser-delivered review platform.</li>
|
||
</ul>
|
||
</li>
|
||
<li><strong>Phonetic / design mark search</strong> - variant spellings, stylized logo marks,
|
||
likelihood-of-confusion under the DuPont factors.</li>
|
||
<li><strong>Common-law search</strong> - state registries, corporate name registries, domain
|
||
registries, app-store listings, general web search for unregistered use.</li>
|
||
</ol>
|
||
|
||
<h4>Open-Web Common-Law Search Results (performed)</h4>
|
||
<table>
|
||
<tr><th>Search</th><th>Result</th><th>Assessment</th></tr>
|
||
<tr><td>"VerdictTank" (exact, web-wide)</td><td>Only hit is verdicttank.com itself</td><td>No third-party commercial use found</td></tr>
|
||
<tr><td>"Verdict Tank" (space variant)</td><td>Two incidental, unrelated hits - fantasy-football caption and SEO-spam page - neither a business or registered mark</td><td>No competing commercial use; matches are noise</td></tr>
|
||
<tr><td>trademarkia.com / justia proxy query</td><td>No results returned</td><td>Consistent with no existing registration, but not equivalent to direct TESS</td></tr>
|
||
<tr><td>Domain: verdicttank.com</td><td>Live, owned, serving the product</td><td>Confirms operational use in commerce</td></tr>
|
||
<tr><td>Domain: rfptank.com</td><td>Legacy/defensive holding - same "-Tank" naming convention</td><td>Family-of-marks consideration; retain defensively</td></tr>
|
||
</table>
|
||
|
||
<h4>Recommendation</h4>
|
||
<ul>
|
||
<li><strong>Before Series A close or public marketing scale-up:</strong> commission a formal USPTO
|
||
clearance search for Classes 9, 42, 35, and 45.</li>
|
||
<li><strong>File an intent-to-use application</strong> for "VERDICTTANK" as a standard character
|
||
word mark in Class 42 as primary, Class 9 as secondary.</li>
|
||
<li><strong>Do not file based on this document alone.</strong> It is a preliminary desk review.</li>
|
||
</ul>
|
||
</div>
|
||
|
||
<!-- INSERT: mvl-framework -->
|
||
<div id="mvl-framework" style="margin-top:30px">
|
||
<h3>2 - Minimum Viable Legal (MVL) Framework</h3>
|
||
|
||
<p>"Minimum Viable Legal" (MVL) is the internal gate name used in the architecture docs as the
|
||
precondition for onboarding White-Label and Enterprise customers. This section specifies what MVL
|
||
actually contains.</p>
|
||
|
||
<table>
|
||
<tr><th>MVL Component</th><th>Purpose</th><th>Applies to</th><th>Status</th></tr>
|
||
<tr><td>Terms of Service (ToS)</td><td>Governs contractual relationship with every direct user</td><td>All tiers</td><td><span class="tag tag-amber">Drafting required</span></td></tr>
|
||
<tr><td>Privacy Policy</td><td>GDPR/CCPA-compliant notice of data collection and use</td><td>All tiers</td><td><span class="tag tag-amber">Drafting required</span></td></tr>
|
||
<tr><td>Data Processing Addendum (DPA)</td><td>Art. 28 GDPR-compliant processor terms</td><td>Enterprise, White-Label</td><td><span class="tag tag-amber">Drafting required - hard gate on White-Label</span></td></tr>
|
||
<tr><td>AI Disclaimer (DISC-001)</td><td>Non-removable, versioned notice - output is AI opinion, not professional advice</td><td>Every scored surface</td><td><span class="tag tag-green">Engineering spec complete - legal copy needs counsel sign-off</span></td></tr>
|
||
<tr><td>Limitation of Liability</td><td>Caps aggregate liability at lesser of $100 or fees paid in preceding 12 months</td><td>All tiers, embedded in ToS</td><td><span class="tag tag-amber">Drafting required</span></td></tr>
|
||
<tr><td>Governing Law / Jurisdiction</td><td>Recommend Delaware law / Georgia venue - pending counsel confirmation of incorporation state</td><td>All tiers</td><td><span class="tag tag-amber">Pending counsel</span></td></tr>
|
||
<tr><td>GDPR readiness</td><td>Lawful basis mapped per role; Art. 28/33/34; SCCs/IDTA for EU data transfers</td><td>Any EU user</td><td><span class="tag tag-amber">Framework mapped - SCC execution pending White-Label launch</span></td></tr>
|
||
<tr><td>CCPA/CPRA readiness</td><td>Service-provider contract terms; consumer rights workflow</td><td>Any CA resident</td><td><span class="tag tag-amber">DSAR workflow build pending</span></td></tr>
|
||
</table>
|
||
|
||
<div class="highlight">
|
||
MVL is not a single document - it is five interlocking instruments (ToS, Privacy Policy, DPA,
|
||
AI Disclaimer, and the sub-processor training guard below) that must all exist and be internally
|
||
consistent before the White-Label provisioning gate can turn green. The Free/Pro/Enterprise tiers
|
||
require ToS + Privacy Policy + AI Disclaimer at minimum before any paid launch.
|
||
</div>
|
||
</div>
|
||
|
||
<!-- INSERT: controller-processor-role-map -->
|
||
<div id="controller-processor-role-map" style="margin-top:30px">
|
||
<h3>3 - Controller / Processor Role Map (5-Row)</h3>
|
||
<p>This extends the prior 4-row role map with the corpus row that rides on opt-in consent - secondary
|
||
use of submission data beyond the original review purpose requires its own GDPR Art. 6(1)(a) basis.</p>
|
||
|
||
<table>
|
||
<tr><th>Data Flow</th><th>Role</th><th>Legal Basis</th><th>Agreements Required</th></tr>
|
||
<tr><td>Free tier submission & review</td><td>Controller</td><td>Contract + Legitimate interest</td><td>ToS, Privacy Policy</td></tr>
|
||
<tr><td>Enterprise org admin + org users</td><td>Joint Controller</td><td>Performance of contract</td><td>ToS, Enterprise DPA (Art. 26 GDPR)</td></tr>
|
||
<tr><td>White-Label tenant end-users</td><td>Processor</td><td>Tenant's instructions</td><td>DPA, SCCs/IDTA, published sub-processor list</td></tr>
|
||
<tr><td>LLM API calls (all tiers)</td><td>Controller of vendor relationship; LLM vendor is Sub-processor</td><td>Legitimate interest</td><td>Sub-processor training guard; DPA with each LLM vendor</td></tr>
|
||
<tr><td>Corpus contribution (aggregate scores + structural metadata)</td><td>Controller, secondary-use basis</td><td><strong>Opt-in consent</strong> - cannot ride on Contract/Legitimate Interest (purpose limitation, Art. 5(1)(b))</td><td>Explicit opt-in UI; anonymization pipeline; separate retention from review record</td></tr>
|
||
</table>
|
||
|
||
<div class="highlight">
|
||
The corpus row is the one most exposed by URL-to-Review and Chat-to-Refine features. URL-to-Review
|
||
pulls third-party web content the submitter did not author and may contain PII belonging to people
|
||
who never consented - that content must never enter the corpus. Chat-to-Refine transcripts are
|
||
conversational and more likely to contain incidental PII - excluded from corpus by default, with
|
||
only extracted structural signals eligible for opt-in use.
|
||
</div>
|
||
</div>
|
||
|
||
<!-- INSERT: sub-processor-training-guard -->
|
||
<div id="sub-processor-training-guard" style="margin-top:30px">
|
||
<h3>4 - Sub-Processor Training Guard</h3>
|
||
|
||
<h4>Contractual Language (model clause for vendor DPAs)</h4>
|
||
<div class="arch-box">
|
||
"Vendor shall not use Customer Data (including all inputs, outputs, prompts, completions, and any content
|
||
submitted via the Vendor's API) to train, fine-tune, retrain, or otherwise improve any machine learning model,
|
||
except with Customer's prior written consent on a per-instance basis. Vendor shall not retain Customer Data
|
||
beyond the minimum period technically necessary to provide the API response."
|
||
</div>
|
||
|
||
<h4>Sub-Processor Audit Table</h4>
|
||
<table>
|
||
<tr><th>Provider</th><th>API Training Opt-Out</th><th>Retention</th><th>Status</th></tr>
|
||
<tr><td>OpenAI</td><td>Yes - API data not used for training by default (since Mar 2023)</td><td>Up to 30 days, then deleted; ZDR available</td><td><span class="tag tag-green">Compliant by default</span></td></tr>
|
||
<tr><td>Anthropic (Claude)</td><td>Yes - commercial API data not used for training without express permission</td><td>Configurable per API/data-retention settings</td><td><span class="tag tag-green">Compliant by default</span></td></tr>
|
||
<tr><td>Google (Vertex AI / Gemini API)</td><td>Yes - customer data not used to train foundation models</td><td>ZDR available on Enterprise platform</td><td><span class="tag tag-green">Compliant - route through enterprise API only</span></td></tr>
|
||
<tr><td>DeepSeek</td><td><strong>No public training opt-out disclosed.</strong> Policy states data retained "as long as necessary" with no training exclusion</td><td>Undisclosed/long; China-based servers</td><td><span class="tag tag-red">Non-compliant - excluded from judge roster</span></td></tr>
|
||
</table>
|
||
|
||
<div class="highlight">
|
||
<strong>Fallback for non-compliant providers:</strong> a vendor without a public, contractually-confirmable
|
||
training opt-out is excluded from the review pipeline's judge/reviewer roster entirely. The only
|
||
acceptable path for a non-compliant provider is a customer-side, explicit, revocable opt-in - never a
|
||
silent default, and never for corpus-eligible content.
|
||
</div>
|
||
</div>
|
||
|
||
<!-- INSERT: corpus-confidentiality-framework -->
|
||
<div id="corpus-confidentiality" style="margin-top:30px">
|
||
<h3>5 - Corpus Confidentiality Framework</h3>
|
||
<p>The corpus is VerdictTank's most valuable long-term asset and its highest confidentiality exposure.</p>
|
||
|
||
<table>
|
||
<tr><th>Data Type</th><th>Corpus-Eligible?</th><th>Rationale</th></tr>
|
||
<tr><td>Dimension scores</td><td>Yes (opt-in)</td><td>Structural, not identifying - core signal</td></tr>
|
||
<tr><td>Structural metadata (vertical, length bucket, revision count, deltas)</td><td>Yes (opt-in)</td><td>Enables content and moat analytics</td></tr>
|
||
<tr><td>Raw proposal text</td><td><strong>Never</strong></td><td>Confidential business content + potential third-party PII</td></tr>
|
||
<tr><td>Explanation/audit finding text</td><td><strong>Never</strong> in raw form</td><td>Critique text frequently quotes submission</td></tr>
|
||
<tr><td>Chat-to-Refine transcripts</td><td><strong>Never</strong> as transcript content</td><td>Highest incidental-PII risk of any input surface</td></tr>
|
||
</table>
|
||
|
||
<h4>Anonymization Pipeline (5-step)</h4>
|
||
<ol>
|
||
<li><strong>Source-content exclusion</strong> - raw text fields excluded at schema/ETL level</li>
|
||
<li><strong>Structural extraction only</strong> - ETL reads from scored/aggregated fields, not freeform text</li>
|
||
<li><strong>Identifier stripping</strong> - review_id, user_id, org_id replaced with one-way surrogate key</li>
|
||
<li><strong>Free-text quarantine</strong> - stricter pass for named entities before any inclusion</li>
|
||
<li><strong>k-anonymity floor</strong> - public content only published when cohort exceeds minimum threshold</li>
|
||
</ol>
|
||
|
||
<p>Corpus contribution is <strong>off by default</strong> and requires explicit, separate opt-in - not
|
||
bundled into ToS acceptance. Revocable at any time from account settings.</p>
|
||
</div>
|
||
|
||
<!-- INSERT: incident-response-plan -->
|
||
<div id="incident-response" style="margin-top:30px">
|
||
<h3>6 - Incident Response Plan</h3>
|
||
<p>Structured around NIST CSF 2.0's six functions - Govern, Identify, Protect, Detect, Respond, Recover.</p>
|
||
|
||
<h4>Data Breach Notification</h4>
|
||
<table>
|
||
<tr><th>NIST Function</th><th>VerdictTank Action</th></tr>
|
||
<tr><td>Govern</td><td>Named incident commander; breach classification criteria documented before incident</td></tr>
|
||
<tr><td>Identify</td><td>Asset inventory: transactional DB, corpus DB, LLM API credentials, White-Label tenant segments</td></tr>
|
||
<tr><td>Protect</td><td>RLS-enforced multi-tenant isolation, sanitization gate, sub-processor training guard</td></tr>
|
||
<tr><td>Detect</td><td>Alerting on anomalous data access, bulk export, cross-org query attempts</td></tr>
|
||
<tr><td>Respond</td><td>GDPR: 72-hour notification to supervisory authority (Art. 33); CCPA: notification without unreasonable delay (§1798.82)</td></tr>
|
||
<tr><td>Recover</td><td>Post-incident review documented; White-Label tenants notified per individual DPA terms</td></tr>
|
||
</table>
|
||
|
||
<h4>Wrong-Verdict Liability Scenario</h4>
|
||
<div class="highlight">
|
||
<strong>Scenario:</strong> A customer submits a funding proposal, receives a high score, presents it
|
||
to an investor, and the score was wrong in a way that led to a bad decision. This is primarily a
|
||
<strong>reputational risk</strong> - the liability cap bounds legal exposure but does nothing to
|
||
prevent reputational damage.
|
||
</div>
|
||
<ul>
|
||
<li><strong>Legal layer:</strong> AI disclaimer (DISC-001) fail-closed on every surface; $100/12-months-fees
|
||
liability cap; explicit instruction not to rely on AI output for investment decisions.</li>
|
||
<li><strong>Confidence calibration:</strong> every score ships with inter-judge agreement rate - a
|
||
score with high disagreement is a materially different signal than unanimous agreement.</li>
|
||
<li><strong>Outcome-tracking defense:</strong> T+90/180/365 outcome-tracking cron becomes the
|
||
evidentiary defense once it matures (12-18 month data-moat window). Until then, this is a known gap.</li>
|
||
<li><strong>Incident playbook:</strong> do not litigate merits publicly; point to auditable disclaimer
|
||
version shown to user; offer private review; disclose and correct any systematic flaw found.</li>
|
||
</ul>
|
||
|
||
<h4>Model Provider Outage Disclosure</h4>
|
||
<ul>
|
||
<li><strong>Public status page</strong> distinguishing VerdictTank infrastructure incidents from
|
||
upstream model provider incidents.</li>
|
||
<li><strong>Degraded-mode behavior:</strong> flag reduced-panel scores visibly - never silently
|
||
substitute providers without disclosure.</li>
|
||
<li><strong>SLA language:</strong> uptime commitments qualified as dependent on upstream provider
|
||
availability.</li>
|
||
</ul>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ====== SECTION 10: DEPLOYMENT OPTIONS ====== -->
|
||
<section class="section" id="deployment-options">
|
||
<h2>Deployment Options</h2>
|
||
|
||
<div class="strategy-cols">
|
||
<div>
|
||
<h4>Option A - ITPP-INFRA Shared</h4>
|
||
<p>Runs on existing netcup RS 4000 infrastructure alongside IT Pro Partner operations. Same Wasabi
|
||
S3 backup pipeline, same Caddy reverse proxy, same monitoring stack (Prometheus + Grafana). Zero
|
||
new infrastructure cost. Suitable for launch through Series A.</p>
|
||
<ul>
|
||
<li>netcup RS 4000 (app3), Docker Compose</li>
|
||
<li>Wasabi S3 daily backups + 15-min sync</li>
|
||
<li>Managed by IT Pro Partner infrastructure team</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<h4>Option B - Dedicated</h4>
|
||
<p>Dedicated netcup or Hetzner instances with dedicated S3 bucket. Full isolation from ITPP
|
||
operational infrastructure. Recommended for post-Series A or enterprise White-Label deployments
|
||
requiring independent compliance scope.</p>
|
||
<ul>
|
||
<li>Dedicated netcup RS or Hetzner CPX instances</li>
|
||
<li>Dedicated Wasabi S3 bucket, separate backup schedule</li>
|
||
<li>Managed by IT Pro Partner - ITPP manages everything below the application layer</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
|
||
<p class="table-note">
|
||
<strong>Shared responsibility:</strong> IT Pro Partner manages everything below the application layer
|
||
(OS, container runtime, networking, backups, monitoring) under both options. The VerdictTank
|
||
application and its model pipeline are the product team's responsibility.
|
||
</p>
|
||
</section>
|
||
|
||
</main>
|
||
|
||
<footer>
|
||
<div class="wrap">
|
||
VerdictTank v4.0 · <a href="https://verdicttank.com">verdicttank.com</a> ·
|
||
<a href="architecture.html">Technical Architecture</a> ·
|
||
<a href="review.html">Conductor Review</a> ·
|
||
Origin: app3 (152.53.241.111)<br>
|
||
Pre-revenue. Architecture-proven. All domain references are <code>verdicttank.com</code>;
|
||
<code>rfptank.com</code> appears only as documented legacy/defensive.<br>
|
||
Deployed: 2026-08-11 · Methodology: <a href="methodology.md">v1.0 SETTLED</a>
|
||
</div>
|
||
</footer>
|
||
</body>
|
||
</html>
|