chore: импорт сайта breazu

refs breazu/breazu#1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
mbreazuandClaude Opus 5.5 committed 2026-10-08 16:52:44 +03:00
commit f2d89e7117
10 files changed
+1000

No files matched your search

+355
View File
@@ -0,0 +1,355 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>breazu — Sample Audit</title>
<meta name="description" content="Sample independent audit of a synthetic fixed-price development proposal — 10 findings, 7 amendments, a verdict.">
<link rel="icon" href="assets/app_icon_light.svg" type="image/svg+xml">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Outfit:wght@500;600;700&family=Figtree:wght@400;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap">
<style>
:root {
--paper: #FFFFFF;
--surface: #F4F7FC;
--ink: #011B3E;
--muted: #4A5B75;
--line: #DCE4F0;
--brand: #0863FD;
--brand-ink: #0550D6;
--brand-soft: #E8F0FE;
--warn: #FE7228;
--warn-soft: #FFEFE4;
--crit: #DC3D43;
--crit-soft: #FCE9EA;
--panel: #FFFFFF;
--shadow: 0 10px 30px rgba(1, 27, 62, 0.07);
}
@media (prefers-color-scheme: dark) {
:root:not([data-theme="light"]) {
--paper: #0A1428;
--surface: #101D36;
--ink: #EAF0FA;
--muted: #93A5C1;
--line: #26385C;
--brand: #4C8DFF;
--brand-ink: #7FAEFF;
--brand-soft: #14294D;
--warn: #FF8A47;
--warn-soft: #3A2210;
--crit: #F26A6F;
--crit-soft: #3B1A1D;
--panel: #101D36;
--shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}
}
:root[data-theme="dark"] {
--paper: #0A1428;
--surface: #101D36;
--ink: #EAF0FA;
--muted: #93A5C1;
--line: #26385C;
--brand: #4C8DFF;
--brand-ink: #7FAEFF;
--brand-soft: #14294D;
--warn: #FF8A47;
--warn-soft: #3A2210;
--crit: #F26A6F;
--crit-soft: #3B1A1D;
--panel: #101D36;
--shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}
* { box-sizing: border-box; margin: 0; }
body { background: var(--paper); color: var(--ink); font-family: 'Figtree', 'Segoe UI', sans-serif; font-size: 16.5px; line-height: 1.62; }
.mono { font-family: 'JetBrains Mono', 'SF Mono', Menlo, monospace; }
.page { max-width: 920px; margin: 0 auto; padding: 40px 28px 80px; }
a { color: var(--brand-ink); }
.logo-light { display: block; }
.logo-dark { display: none; }
@media (prefers-color-scheme: dark) {
:root:not([data-theme="light"]) .logo-light { display: none; }
:root:not([data-theme="light"]) .logo-dark { display: block; }
}
:root[data-theme="dark"] .logo-light { display: none; }
:root[data-theme="dark"] .logo-dark { display: block; }
/* letterhead */
.letterhead { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; border-bottom: 2px solid var(--ink); padding-bottom: 16px; }
.letterhead img { height: 42px; width: auto; display: block; }
.lh-right { font-family: 'JetBrains Mono', monospace; font-size: 11.5px; color: var(--muted); text-align: right; letter-spacing: 0.04em; }
.demo-band { margin-top: 16px; display: inline-flex; align-items: center; gap: 8px; font-family: 'JetBrains Mono', monospace; font-size: 11.5px; letter-spacing: 0.08em; color: var(--warn); background: var(--warn-soft); border: 1px solid color-mix(in srgb, var(--warn) 35%, transparent); padding: 5px 12px; border-radius: 999px; }
h1 { font-family: 'Outfit', sans-serif; font-size: clamp(26px, 4.5vw, 34px); line-height: 1.18; font-weight: 700; letter-spacing: -0.015em; margin: 26px 0 8px; text-wrap: balance; }
.subtitle { color: var(--muted); font-size: 16px; max-width: 64ch; }
/* object */
.object { margin: 28px 0 0; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: var(--panel); }
.object-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.object-cell { padding: 13px 18px; border-right: 1px solid var(--line); }
.object-cell:last-child { border-right: none; }
.object-label { font-family: 'JetBrains Mono', monospace; font-size: 10.5px; letter-spacing: 0.09em; text-transform: uppercase; color: var(--muted); }
.object-value { font-size: 15.5px; font-weight: 600; margin-top: 3px; }
.object-note { border-top: 1px solid var(--line); padding: 11px 18px; font-size: 13.5px; color: var(--muted); background: var(--surface); }
/* verdict */
.verdict { margin: 26px 0 0; border: 1.5px solid var(--brand); border-radius: 14px; background: var(--panel); overflow: hidden; box-shadow: var(--shadow); }
.verdict-head { display: flex; align-items: center; gap: 14px; padding: 16px 22px; background: var(--brand-soft); flex-wrap: wrap; }
.stamp { font-family: 'JetBrains Mono', monospace; font-weight: 600; font-size: 13.5px; letter-spacing: 0.1em; color: var(--brand-ink); border: 2px solid var(--brand); padding: 6px 14px; border-radius: 999px; white-space: nowrap; }
.verdict-line { font-family: 'Outfit', sans-serif; font-size: 17px; font-weight: 600; }
.verdict-figures { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
.vf { padding: 14px 22px; border-right: 1px solid var(--line); }
.vf:last-child { border-right: none; }
.vf-num { font-family: 'JetBrains Mono', monospace; font-size: 22px; font-weight: 600; font-variant-numeric: tabular-nums; }
.vf-num.red { color: var(--warn); }
.vf-num.green { color: var(--brand-ink); }
.vf-cap { font-size: 13px; color: var(--muted); margin-top: 2px; }
.verdict-body { padding: 14px 22px 16px; font-size: 15.5px; border-top: 1px solid var(--line); }
section { margin-top: 44px; }
.sec-head { display: flex; align-items: baseline; gap: 12px; border-bottom: 1px solid var(--line); padding-bottom: 8px; margin-bottom: 18px; }
.sec-num { font-family: 'JetBrains Mono', monospace; font-size: 13px; color: var(--brand); font-weight: 600; }
h2 { font-family: 'Outfit', sans-serif; font-size: 21px; font-weight: 700; letter-spacing: -0.01em; }
/* tables */
.tbl-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; }
table { width: 100%; border-collapse: collapse; font-size: 14.5px; background: var(--panel); }
thead th { font-family: 'JetBrains Mono', monospace; font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); text-align: left; padding: 10px 14px; border-bottom: 1.5px solid var(--line); background: var(--surface); white-space: nowrap; }
tbody td { padding: 10px 14px; border-bottom: 1px solid var(--line); vertical-align: top; }
tbody tr:last-child td { border-bottom: none; }
td.fid { font-family: 'JetBrains Mono', monospace; color: var(--muted); font-size: 12.5px; white-space: nowrap; }
td.exposure { font-family: 'JetBrains Mono', monospace; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.sev { font-family: 'JetBrains Mono', monospace; font-size: 10.5px; letter-spacing: 0.07em; padding: 2px 10px; border-radius: 999px; white-space: nowrap; }
.sev-crit { color: var(--crit); background: var(--crit-soft); }
.sev-major { color: var(--warn); background: var(--warn-soft); }
.sev-check { color: var(--brand-ink); background: var(--brand-soft); }
/* finding cards */
.finding { border: 1px solid var(--line); border-radius: 14px; background: var(--panel); margin-bottom: 18px; overflow: hidden; }
.finding-head { display: flex; align-items: baseline; gap: 12px; padding: 13px 20px; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.finding-head .fid { font-family: 'JetBrains Mono', monospace; color: var(--muted); font-size: 12.5px; }
.finding-title { font-family: 'Outfit', sans-serif; font-weight: 600; font-size: 16.5px; flex: 1; min-width: 200px; }
.finding-body { padding: 14px 20px 16px; }
.finding-body p { margin-bottom: 10px; max-width: 74ch; }
.finding-body p:last-child { margin-bottom: 0; }
.evidence { font-size: 14px; border-left: 3px solid var(--warn); padding: 9px 16px; margin: 10px 0; color: var(--muted); font-style: italic; background: var(--surface); border-radius: 0 8px 8px 0; }
.evidence .mono { font-style: normal; font-size: 12.5px; }
.fix { display: flex; gap: 10px; margin-top: 12px; padding: 11px 16px; background: var(--brand-soft); border-radius: 10px; font-size: 14.5px; }
.fix strong { color: var(--brand-ink); font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.08em; padding-top: 3px; }
.strike { text-decoration: line-through; text-decoration-color: var(--warn); text-decoration-thickness: 1.5px; color: var(--muted); }
.corr { color: var(--warn); font-weight: 600; }
/* amendments */
ol.amendments { counter-reset: am; list-style: none; padding: 0; }
ol.amendments li { counter-increment: am; position: relative; padding: 13px 18px 13px 60px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); margin-bottom: 10px; font-size: 15px; }
ol.amendments li::before { content: "A" counter(am); position: absolute; left: 14px; top: 13px; font-family: 'JetBrains Mono', monospace; font-size: 12.5px; font-weight: 600; color: var(--brand-ink); border: 1px solid var(--brand); border-radius: 999px; padding: 1px 8px; }
.note { font-size: 13.5px; color: var(--muted); margin-top: 12px; max-width: 74ch; }
.method { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.method-card { border: 1px solid var(--line); border-radius: 14px; background: var(--panel); padding: 15px 18px; }
.method-card h3 { font-family: 'Outfit', sans-serif; font-size: 15px; font-weight: 600; margin-bottom: 6px; }
.method-card h3 .mono { color: var(--brand); font-size: 12px; }
.method-card p { font-size: 13.5px; color: var(--muted); }
.closing { margin-top: 44px; border-top: 2px solid var(--ink); padding-top: 18px; display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.closing .sig { font-size: 15px; }
.closing .sig .mono { font-size: 12px; color: var(--muted); }
.disclaimer { margin-top: 26px; font-size: 12.5px; color: var(--muted); border: 1px dashed var(--line); border-radius: 12px; padding: 12px 18px; }
.backlink { display: inline-block; margin-top: 20px; font-family: 'Outfit', sans-serif; font-weight: 600; font-size: 14.5px; }
@media (max-width: 760px) {
.object-grid, .verdict-figures, .method { grid-template-columns: 1fr 1fr; }
.vf:nth-child(2) { border-right: none; }
.vf:last-child { border-top: 1px solid var(--line); border-right: 1px solid var(--line); }
}
@media (max-width: 520px) {
.object-grid, .verdict-figures, .method { grid-template-columns: 1fr; }
.object-cell, .vf { border-right: none; border-bottom: 1px solid var(--line); }
}
</style>
</head>
<body>
<div class="page">
<header class="letterhead">
<a href="index.html" aria-label="breazu — home" style="display:inline-flex;">
<img class="logo-light" src="assets/logo_with_name_transparentbg.svg" alt="breazu">
<img class="logo-dark" src="assets/logo_with_name_transparentbg_dark.svg" alt="breazu">
</a>
<div class="lh-right">INDEPENDENT PROPOSAL AUDIT<br>REF BZ-2026-DEMO</div>
</header>
<div class="demo-band">SAMPLE REPORT &middot; SYNTHETIC PROPOSAL &middot; NO REAL CLIENT DATA</div>
<h1>Audit of a fixed-price development proposal: mobile ecosystem for a fitness chain</h1>
<p class="subtitle">Prepared for the buyer&rsquo;s side before contract signature. The vendor is anonymised; the proposal was written the way real proposals are written.</p>
<div class="object">
<div class="object-grid">
<div class="object-cell"><div class="object-label">Client</div><div class="object-value">NordFit Group (24 clubs)</div></div>
<div class="object-cell"><div class="object-label">Vendor</div><div class="object-value">Vendor A (anonymised)</div></div>
<div class="object-cell"><div class="object-label">Contract value</div><div class="object-value mono">&euro;284,600</div></div>
<div class="object-cell"><div class="object-label">Timeline / items</div><div class="object-value mono">7 mo &middot; 96 lines</div></div>
</div>
<div class="object-note">Object: fixed-price proposal for two mobile apps, a member web portal and migration from the incumbent club-management system. Documents received: proposal (PDF, 31 pp.), estimate (XLSX, 96 line items), draft contract.</div>
</div>
<div class="verdict">
<div class="verdict-head">
<span class="stamp">SIGN WITH AMENDMENTS</span>
<span class="verdict-line">Signable deal &mdash; after 7 contract amendments and a corrected estimate.</span>
</div>
<div class="verdict-figures">
<div class="vf"><div class="vf-num red">&euro;84&ndash;112k</div><div class="vf-cap">probable exposure found: likely change requests, unpriced obligations, arithmetic</div></div>
<div class="vf"><div class="vf-num">10</div><div class="vf-cap">findings &middot; 3 critical, 5 major, 2 for vendor clarification</div></div>
<div class="vf"><div class="vf-num green">&euro;31,000/yr</div><div class="vf-cap">cost of ownership the proposal does not mention</div></div>
</div>
<div class="verdict-body">The price is within market range for the scope and the team is plausibly sized. Unamended, the contract allows the final cost to drift 30&ndash;40% above signature price through mechanisms already written into the text.</div>
</div>
<section>
<div class="sec-head"><span class="sec-num mono">01</span><h2>Findings index</h2></div>
<div class="tbl-wrap">
<table>
<thead><tr><th>ID</th><th>Finding</th><th>Severity</th><th style="text-align:right">Exposure</th></tr></thead>
<tbody>
<tr><td class="fid">F-01</td><td>Estimate arithmetic: 4 line totals exceed the sum of role hours</td><td><span class="sev sev-crit">CRITICAL</span></td><td class="exposure">&euro;3,328</td></tr>
<tr><td class="fid">F-02</td><td>&ldquo;Fixed&rdquo; price is not fixed: re-confirmation after discovery, no cap</td><td><span class="sev sev-crit">CRITICAL</span></td><td class="exposure">unbounded</td></tr>
<tr><td class="fid">F-03</td><td>Stated goal depends on a paid option: data migration priced outside base scope</td><td><span class="sev sev-crit">CRITICAL</span></td><td class="exposure">&euro;19,800</td></tr>
<tr><td class="fid">F-04</td><td>Warranty excluded from price (&ldquo;separate agreement&rdquo;)</td><td><span class="sev sev-major">MAJOR</span></td><td class="exposure">&euro;14&ndash;18k</td></tr>
<tr><td class="fid">F-05</td><td>Dependency clause without a ceiling: any client-side delay shifts timeline &ldquo;accordingly&rdquo;</td><td><span class="sev sev-major">MAJOR</span></td><td class="exposure">schedule</td></tr>
<tr><td class="fid">F-06</td><td>Acceptance undefined: no criteria, no review window, no dispute path</td><td><span class="sev sev-major">MAJOR</span></td><td class="exposure">disputes</td></tr>
<tr><td class="fid">F-07</td><td>Quality contour cut: QA 9% of hours, project management 3.9%</td><td><span class="sev sev-major">MAJOR</span></td><td class="exposure">delivery risk</td></tr>
<tr><td class="fid">F-08</td><td>11 scope exclusions likely to return as change requests</td><td><span class="sev sev-major">MAJOR</span></td><td class="exposure">&euro;47&ndash;71k</td></tr>
<tr><td class="fid">F-09</td><td>Total cost of ownership absent: hosting, licences, stores, support</td><td><span class="sev sev-check">CLARIFY</span></td><td class="exposure">&euro;31k/yr</td></tr>
<tr><td class="fid">F-10</td><td>&ldquo;Senior team&rdquo; at blended &euro;52/h &mdash; grades or margin, one of the two</td><td><span class="sev sev-check">CLARIFY</span></td><td class="exposure">question</td></tr>
</tbody>
</table>
</div>
</section>
<section>
<div class="sec-head"><span class="sec-num mono">02</span><h2>Findings in detail</h2></div>
<div class="finding">
<div class="finding-head"><span class="fid">F-01</span><span class="finding-title">The estimate does not add up &mdash; in the vendor&rsquo;s favour</span><span class="sev sev-crit">CRITICAL</span></div>
<div class="finding-body">
<p>We recompute every line: hours per role &times; rate, against the line total. Four lines carry totals larger than the sum of their own role hours &mdash; 64 phantom hours in total.</p>
<div class="evidence">Line 41 &ldquo;Project management, phase 1&rdquo;: role hours sum to <span class="mono">140 h</span>, line total states <span class="mono"><span class="strike">164 h</span></span> &mdash; <span class="mono corr">+24 h &middot; &euro;1,248</span> priced but not attributed to anyone&rsquo;s work.</div>
<p>At the proposal&rsquo;s blended rate the four lines add <strong>&euro;3,328</strong> of cost with no corresponding labour. In our practice this is rarely fraud &mdash; usually a spreadsheet edited late at night.</p>
<div class="fix"><strong>ACTION</strong><span>Vendor corrects the four lines or attributes the hours to named roles. A two-minute fix.</span></div>
</div>
</div>
<div class="finding">
<div class="finding-head"><span class="fid">F-02</span><span class="finding-title">A fixed price that reserves the right not to be</span><span class="sev sev-crit">CRITICAL</span></div>
<div class="finding-body">
<p>The cover says fixed price. Section 4.2 of the draft contract says otherwise:</p>
<div class="evidence">&ldquo;The final project cost shall be confirmed by the parties upon completion of the discovery phase.&rdquo;</div>
<p>No ceiling, no formula, no walk-away right. You would be signing a number that becomes negotiable after you have already paid for discovery and committed the calendar &mdash; the moment your negotiating position is weakest.</p>
<div class="fix"><strong>ACTION</strong><span>Amendment A1: post-discovery adjustment bounded to &plusmn;10% with itemised justification, and a no-cost exit if the vendor&rsquo;s revised price exceeds the cap.</span></div>
</div>
</div>
<div class="finding">
<div class="finding-head"><span class="fid">F-03</span><span class="finding-title">The promised outcome depends on an option you have not bought</span><span class="sev sev-crit">CRITICAL</span></div>
<div class="finding-body">
<p>Page 3 promises a &ldquo;seamless transition for all existing members&rdquo;. The mechanism for that promise &mdash; migration of member data, subscriptions and visit history &mdash; sits in the options table at <span class="mono">&euro;19,800</span>, outside the base price.</p>
<p>Every proposal we audit gets this test: <em>for each stated goal, where is the line that delivers it?</em> A goal without a mechanism is the single most reliable predictor of a mid-project dispute.</p>
<div class="fix"><strong>ACTION</strong><span>Amendment A5: migration moves into base scope at an agreed price, or the &ldquo;seamless transition&rdquo; language is removed and NordFit plans migration separately.</span></div>
</div>
</div>
<div class="finding">
<div class="finding-head"><span class="fid">F-04</span><span class="finding-title">Warranty is outside the price</span><span class="sev sev-major">MAJOR</span></div>
<div class="finding-body">
<div class="evidence">&ldquo;Warranty support shall be subject to a separate agreement.&rdquo;</div>
<p>Market practice for this scope is 3 months of defect-fixing included, with a named response time for critical incidents. Here, the day after acceptance every defect is billable. On comparable builds, first-quarter defect flow prices at <strong>&euro;14&ndash;18k</strong> &mdash; a hidden 5&ndash;6% on top of the contract.</p>
<div class="fix"><strong>ACTION</strong><span>Amendment A2: 3-month warranty in price; defects of production severity fixed at no charge; critical response &le; 4 business hours; &ldquo;defect vs. new requirement&rdquo; defined in the same clause.</span></div>
</div>
</div>
<div class="finding">
<div class="finding-head"><span class="fid">F-05</span><span class="finding-title">One late API and the calendar belongs to nobody</span><span class="sev sev-major">MAJOR</span></div>
<div class="finding-body">
<div class="evidence">&ldquo;Should client-side dependencies be delayed, the delivery timeline shifts accordingly.&rdquo;</div>
<p>&ldquo;Accordingly&rdquo; has no ceiling and no renegotiation trigger. A two-week delay on your side can legitimise an open-ended shift on theirs, with the burden of proof on you. Symmetry is absent: the contract prices no consequence for vendor-side slippage at all.</p>
<div class="fix"><strong>ACTION</strong><span>Amendment A3: shift equals documented delay, capped at 15 business days, then mandatory re-plan; vendor delay mirrored with a capped penalty (0.1%/day, max 10% of stage).</span></div>
</div>
</div>
<div class="finding">
<div class="finding-head"><span class="fid">F-06</span><span class="finding-title">Acceptance is a signature, not a test</span><span class="sev sev-major">MAJOR</span></div>
<div class="finding-body">
<p>Acceptance is defined as &ldquo;signing of the acceptance act&rdquo;. Nothing says what is being verified, how long you have to review, what a rejection must contain, or what happens when you disagree. In practice this clause converts every quality dispute into a payment dispute.</p>
<div class="fix"><strong>ACTION</strong><span>Amendment A4: acceptance against demonstration scenarios fixed per stage; 10 business days to review; rejection only as a single itemised list; defect severity classes defined; silence = acceptance, in both directions.</span></div>
</div>
</div>
<div class="finding">
<div class="finding-head"><span class="fid">F-07</span><span class="finding-title">The savings live in the quality budget</span><span class="sev sev-major">MAJOR</span></div>
<div class="finding-body">
<p>Against our benchmark of comparable estimates: QA at <span class="mono">9%</span> of hours sits well under the observed <span class="mono">14&ndash;27%</span>; project management at <span class="mono">3.9%</span> under <span class="mono">8&ndash;18%</span>. This is where the attractive price comes from. Under-priced coordination and testing return as your staff doing the vendor&rsquo;s management, and as defects after go-live.</p>
<div class="fix"><strong>ACTION</strong><span>Ask the vendor to either restore QA/PM to defensible levels with a price adjustment, or contractually name the client-side effort they are assuming.</span></div>
</div>
</div>
<div class="finding">
<div class="finding-head"><span class="fid">F-08</span><span class="finding-title">Eleven exclusions, priced at zero, waiting to be change requests</span><span class="sev sev-major">MAJOR</span></div>
<div class="finding-body">
<p>We score every exclusion by the probability the project cannot ship without it. Of 19 exclusions, 11 are functions NordFit will almost certainly need in year one &mdash; among them payment retries on failed direct debits, staff access roles, and GDPR data-deletion flows. Priced at vendor rates, the likely change-request tail is <strong>&euro;47&ndash;71k</strong> (17&ndash;25% of the contract).</p>
<div class="fix"><strong>ACTION</strong><span>Amendment A6: pre-price the top 6 exclusions as fixed-price options at signature (vendors price generously once the contract is theirs); cap annual CR volume subject to re-tender.</span></div>
</div>
</div>
<div class="finding">
<div class="finding-head"><span class="fid">F-09</span><span class="finding-title">What it costs to own, not just to build</span><span class="sev sev-check">CLARIFY</span></div>
<div class="finding-body">
<p>The proposal is silent on running costs. Reconstructed from its own architecture: cloud hosting ~&euro;9,600/yr, third-party licences ~&euro;4,400/yr, store accounts &euro;125/yr, and post-warranty support at the vendor&rsquo;s stated rate ~&euro;17,000/yr &mdash; roughly <strong>&euro;31,000 per year</strong>, or 33% of the build price over three years. It belongs in your budget before signature.</p>
</div>
</div>
<div class="finding">
<div class="finding-head"><span class="fid">F-10</span><span class="finding-title">&ldquo;Senior team&rdquo; at &euro;52/hour</span><span class="sev sev-check">CLARIFY</span></div>
<div class="finding-body">
<p>The blended rate is plausible for a strong mid-level team and low for the all-senior team the proposal describes. One of two things is true: the grades are optimistic (then F-07 is the mechanism), or the vendor is pricing to win. A direct question tends to produce an honest answer and a useful clause: named key people with substitution rights.</p>
</div>
</div>
</section>
<section>
<div class="sec-head"><span class="sec-num mono">03</span><h2>Required amendments before signature</h2></div>
<ol class="amendments">
<li>Post-discovery price adjustment bounded to &plusmn;10%, itemised, with a no-cost exit above the cap. <em>(F-02)</em></li>
<li>3-month warranty inside the price; critical response &le; 4 business hours; defect defined. <em>(F-04)</em></li>
<li>Delay symmetry: client-delay shift capped at 15 business days, vendor-delay penalty capped at 10% of stage. <em>(F-05)</em></li>
<li>Acceptance by demonstration scenarios, 10-day review window, itemised rejection, severity classes. <em>(F-06)</em></li>
<li>Member-data migration resolved at signature: in scope, or promise removed. <em>(F-03)</em></li>
<li>Top-6 exclusions pre-priced as options; corrected estimate lines (F-01) attached as the binding version. <em>(F-08, F-01)</em></li>
<li>IP and code escrow: repository access from day one, title passing per paid stage. <em>(standard)</em></li>
</ol>
<p class="note">Each amendment is drafted in the full report as ready-to-paste contract language. Vendors accept most of them in our experience &mdash; these are terms a serious vendor can live with.</p>
</section>
<section>
<div class="sec-head"><span class="sec-num mono">04</span><h2>Method: how we read a proposal</h2></div>
<div class="method">
<div class="method-card"><h3><span class="mono">A&nbsp;&middot;</span> Craft invariants</h3><p>Every estimate is recomputed line by line and tested against ranges observed across our proposal base: estimate granularity, QA and management shares, rate grids, options discipline.</p></div>
<div class="method-card"><h3><span class="mono">B&nbsp;&middot;</span> Unit benchmarks</h3><p>Scale is judged per unit &mdash; hours per domain service, per integration, per app channel &mdash; so a &euro;280k proposal and a &euro;2m programme are compared honestly.</p></div>
<div class="method-card"><h3><span class="mono">C&nbsp;&middot;</span> Both sides of the table</h3><p>We have written winning proposals for vendors for 8 years. We know where risk is parked &mdash; exclusions, acceptance clauses, options &mdash; because we have parked it there ourselves.</p></div>
</div>
</section>
<div class="closing">
<div class="sig">breazu &middot; Independent proposal audit<br><span class="mono">Full audit of this class: &euro;2,500 &middot; 5 business days &middot; report + amendment language + 60-min call</span></div>
<div class="sig" style="text-align:right"><span class="mono">Conflict rule: we never work for both sides<br>of the same deal, and take no referral fees.</span></div>
</div>
<div class="disclaimer">This is a demonstration report. The client, vendor and proposal are synthetic, constructed from defect patterns found across 12+ real proposals we have written or audited.</div>
<a class="backlink" href="index.html">&larr; breazu &mdash; services and pricing</a>
</div>
</body>
</html>