diff --git a/STATUS.md b/STATUS.md
index b0fb757..efbde84 100644
--- a/STATUS.md
+++ b/STATUS.md
@@ -65,6 +65,7 @@ Off-plan riders (pulled forward, rename-independent):
- 2026-07-11: Stripe decision — GO. S18–S21 build starts 2026-07-11; pricing per `docs/ideation/2026-07-02-embeds-spec.md` §4 ladder ($29/mo or $290/yr Pro, $15/mo or $150/yr nonprofit, network hand-negotiated). Stripe is the institutional-embeds rail only; HCB is the citizen-donations rail; the two are never conflated.
- 2026-07-11: S12 ruling — quiet-submit now (registry + directory submissions run this week; review/listing latency burns down while unannounced), the public announcement itself still holds for the late Aug–Sep window.
- 2026-07-11: Pregen + Blob portraits — both armed, pending owner secrets (~$2.50–3.80/mo pregen + ~cents/mo Blob), surfaced and approved.
+- 2026-07-15: HCB application DENIED (HCB currently sponsors teen hacker builds only) — the citizen-donations rail is undecided again; About/footer copy scrubbed of every fiscal-sponsor/501(c)(3)/tax-deductible claim and `DonateSupport` retired in branch `feat/funding-transparency` (founder-funded framing is the single truthful surface); `DONATE_URL` stays null until a replacement rail is chosen.
## Issues & learnings ledger (compound these)
diff --git a/app/[locale]/about/page.tsx b/app/[locale]/about/page.tsx
index 7190f00..fea561c 100644
--- a/app/[locale]/about/page.tsx
+++ b/app/[locale]/about/page.tsx
@@ -1,6 +1,5 @@
import type { Metadata } from 'next';
import { setRequestLocale, getTranslations } from 'next-intl/server';
-import { DonateSupport } from '@/components/DonateSupport';
import { hreflangAlternates } from '@/lib/hreflang';
import { DONATE_URL } from '@/lib/site';
@@ -27,6 +26,26 @@ export default async function AboutPage({ params }: { params: Promise<{ locale:
{t('fundingTitle')}
{t('fundingBody')}
+ {/* The one support ask on this page (the HCB fiscal-sponsorship route
+ was denied 2026-07-15, so the former DonateSupport section and its
+ sponsor/tax-deductible claims are retired). Dark by construction
+ until DONATE_URL is set - one constant, no second flag. Never
+ claims tax-deductibility or nonprofit status - this is a personal,
+ founder-funded contribution, not a charitable gift. Link-out only:
+ never an iframe or a payment field on Oravan's own infra (§6). */}
+ {DONATE_URL && (
+
+ )}
{/* Who's accountable + how to reach a person — surfaced outside the
@@ -37,12 +56,6 @@ export default async function AboutPage({ params }: { params: Promise<{ locale:
{t('accountabilityTitle')}
{t('accountabilityBody')}
-
- {/* §6: the donations leg — link-out only, never a payment field on our
- own infra. Dark by construction until DONATE_URL is set (HCB
- onboarding is separate, in-flight paperwork); flipping that one
- constant is the entire code change needed to light this up. */}
-
);
}
diff --git a/components/DonateSupport.tsx b/components/DonateSupport.tsx
deleted file mode 100644
index 637ce1c..0000000
--- a/components/DonateSupport.tsx
+++ /dev/null
@@ -1,42 +0,0 @@
-'use client';
-
-import { ArrowUpRight } from 'lucide-react';
-import { useTranslations } from 'next-intl';
-
-/*
- * §6's donations leg, isolated into its own component so the ask copy and
- * link-out live in one place: donateUrl is a plain prop, and the About
- * page's one real call site passes the DONATE_URL constant from lib/site.ts.
- * Dark by construction whenever donateUrl is null/undefined - no heading,
- * no ask copy, no link, nothing.
- *
- * The prop also doubles as forward-compatible test infrastructure for
- * injecting a fixture value - not currently exercised as a live render,
- * since this project's Playwright setup can't render a Oravan component
- * directly (see tests/donate.unit.spec.ts, which instead checks the
- * source-level wiring). tests/donate.spec.ts covers what IS live-verified:
- * today's real dark state, end to end in a browser.
- *
- * Link-out only: target="_blank" + rel="noopener noreferrer", never an
- * iframe, never a payment field rendered on Oravan's own infra.
- */
-export function DonateSupport({ donateUrl }: { donateUrl: string | null }) {
- const t = useTranslations('about');
- if (!donateUrl) return null;
-
- return (
-
-
+ {/* Phase 1/2 funding transparency line: dark copy today (DONATE_URL
+ null), automatically upgrades to the "funded + supporters" line
+ with a Support Oravan link the moment DONATE_URL is set - one
+ constant, no separate flag, same pattern as the nav Donate link
+ below. */}
+