diff --git a/web/src/components/Layout.tsx b/web/src/components/Layout.tsx index be33975..857c960 100644 --- a/web/src/components/Layout.tsx +++ b/web/src/components/Layout.tsx @@ -284,38 +284,32 @@ export default function Layout() { - {/* Maintainer attribution row — mirrors the landing-page footer - (certctl.io: "Built and maintained by Shankar · certctl.io"). - Same font-mono / muted-text typography; only "Shankar" carries - the LinkedIn link (the same href + rel="me noopener" pattern - the landing page uses). Single-maintainer OSS standard - (Cal.com, Plausible, Beekeeper Studio do the same). */} - {/* Maintainer attribution row. The Bundle-8 L-015 CI guard line-greps - for `target="_blank"` without `rel="noopener noreferrer"` on the - SAME LINE — splitting target + rel across lines (as the prior - bare did) tripped the guard. ExternalLink is the canonical - chokepoint that the guard allowlists. We lose the rel="me" hint - (LinkedIn's identity-claim signal, not load-bearing), but gain - the CI gate. */} -
- - Built and maintained by{' '} - - Shankar - - -
- -
- certctl + {/* Sidebar footer (post-2026-05-14 simplification per operator). + Pre-fix the footer had two rows: the maintainer attribution + (with only "Shankar" linked) PLUS a "certctl" font-mono label + sitting next to the logout button. Operator dropped the + "certctl" label as redundant (the brand mark + product name + are already in the sidebar header), so this single row is + the entire footer: + • Whole "Built and maintained by Shankar" line is the + LinkedIn link — routes through ExternalLink so the + rel="noopener noreferrer" pair is auto-emitted on the + same line + the Bundle-8 L-015 CI guard stays green. + • Logout sits flush-right on the same row, separated + visually by justify-between flex layout. Only renders + when authRequired is true. */} +
+ + Built and maintained by Shankar + {authRequired && ( + {/* Doc links updated 2026-05-14 to match the post-2026-05-04 + audience-organized doc tree (getting-started/ + reference/). + Pre-fix the three links pointed at docs/quickstart.md, + docs/architecture.md, docs/connectors.md — none of those paths + exist any more; they were 404s the operator hit on every + successful onboarding completion. Verified against `ls docs/` + before writing. */}
- Quickstart Guide - Architecture - Connectors + Quickstart Guide + Architecture + Connectors
);