diff --git a/apps/web/src/components/dashboard/DashboardEmptyState.tsx b/apps/web/src/components/dashboard/DashboardEmptyState.tsx
index 02ee4fa..10a472e 100644
--- a/apps/web/src/components/dashboard/DashboardEmptyState.tsx
+++ b/apps/web/src/components/dashboard/DashboardEmptyState.tsx
@@ -1,3 +1,4 @@
+// Copyright (c) 2026 Sub Rosa contributors
export function DashboardEmptyState() {
return (
diff --git a/apps/web/src/components/dashboard/DashboardErrorState.tsx b/apps/web/src/components/dashboard/DashboardErrorState.tsx
index f113e43..f56c324 100644
--- a/apps/web/src/components/dashboard/DashboardErrorState.tsx
+++ b/apps/web/src/components/dashboard/DashboardErrorState.tsx
@@ -1,3 +1,4 @@
+// Copyright (c) 2026 Sub Rosa contributors
export function DashboardErrorState({
error,
onRetry,
diff --git a/apps/web/src/components/dashboard/KeeperStatusCard.tsx b/apps/web/src/components/dashboard/KeeperStatusCard.tsx
index 6dc992f..b099aa6 100644
--- a/apps/web/src/components/dashboard/KeeperStatusCard.tsx
+++ b/apps/web/src/components/dashboard/KeeperStatusCard.tsx
@@ -1,3 +1,4 @@
+// Copyright (c) 2026 Sub Rosa contributors
import { shortHash } from "../../lib/format";
import type { DashboardData, KeeperDryRunPhase } from "../../dashboard/types";
diff --git a/apps/web/src/components/dashboard/RoundStatusCard.tsx b/apps/web/src/components/dashboard/RoundStatusCard.tsx
index 614a5bb..203fe2e 100644
--- a/apps/web/src/components/dashboard/RoundStatusCard.tsx
+++ b/apps/web/src/components/dashboard/RoundStatusCard.tsx
@@ -1,3 +1,4 @@
+// Copyright (c) 2026 Sub Rosa contributors
import { useDrandCountdown, formatCountdown } from "../../hooks/useDrandCountdown";
import { shortAddr } from "../../lib/format";
import { classifyRoundPhase, type RoundPhase } from "../../lib/round-phase";
diff --git a/apps/web/src/components/dashboard/SettlementCard.tsx b/apps/web/src/components/dashboard/SettlementCard.tsx
index 93049a5..39246ff 100644
--- a/apps/web/src/components/dashboard/SettlementCard.tsx
+++ b/apps/web/src/components/dashboard/SettlementCard.tsx
@@ -1,3 +1,4 @@
+// Copyright (c) 2026 Sub Rosa contributors
import { shortAddr, usdc } from "../../lib/format";
import type { DashboardData } from "../../dashboard/types";
diff --git a/apps/web/src/components/dashboard/index.ts b/apps/web/src/components/dashboard/index.ts
index 0ed724b..9548d7c 100644
--- a/apps/web/src/components/dashboard/index.ts
+++ b/apps/web/src/components/dashboard/index.ts
@@ -1,3 +1,4 @@
+// Copyright (c) 2026 Sub Rosa contributors
export { RoundStatusCard } from "./RoundStatusCard";
export { KeeperStatusCard } from "./KeeperStatusCard";
export { BidderProgressCard } from "./BidderProgressCard";
diff --git a/apps/web/src/pages/ArchitecturePage.tsx b/apps/web/src/pages/ArchitecturePage.tsx
index 78d7911..f9ea727 100644
--- a/apps/web/src/pages/ArchitecturePage.tsx
+++ b/apps/web/src/pages/ArchitecturePage.tsx
@@ -1,3 +1,4 @@
+// Copyright (c) 2026 Sub Rosa contributors
import architectureMd from "../../../../ARCHITECTURE.md?raw";
import { LOGO_SRC } from "../lib/chain";
diff --git a/apps/web/src/pages/DashboardPage.tsx b/apps/web/src/pages/DashboardPage.tsx
index 2ebe92e..21ec951 100644
--- a/apps/web/src/pages/DashboardPage.tsx
+++ b/apps/web/src/pages/DashboardPage.tsx
@@ -1,3 +1,4 @@
+// Copyright (c) 2026 Sub Rosa contributors
import { motion, useReducedMotion } from "framer-motion";
import { useDashboardData } from "../hooks/useDashboardData";
import { LOGO_SRC } from "../lib/chain";
diff --git a/apps/web/src/pages/DemoPage.tsx b/apps/web/src/pages/DemoPage.tsx
index 7c1bfee..bb931e0 100644
--- a/apps/web/src/pages/DemoPage.tsx
+++ b/apps/web/src/pages/DemoPage.tsx
@@ -1,3 +1,4 @@
+// Copyright (c) 2026 Sub Rosa contributors
import { useEffect, useMemo, useRef, useState, type CSSProperties } from "react";
import { AnimatePresence, motion } from "framer-motion";
import { AgentActivity, KeeperPanel, X402Logs } from "../components/AgentPanels";
diff --git a/apps/web/src/pages/LandingPage.tsx b/apps/web/src/pages/LandingPage.tsx
index 88d0d55..7a0afbd 100644
--- a/apps/web/src/pages/LandingPage.tsx
+++ b/apps/web/src/pages/LandingPage.tsx
@@ -1,3 +1,4 @@
+// Copyright (c) 2026 Sub Rosa contributors
import { motion, useReducedMotion } from "framer-motion";
import { DEMO_TRACE } from "../demo/trace";
import { USE_CASES, type UseCaseId } from "../config/useCases";