Skip to content

Terms of Service, Privacy Policy, and Copyright update#466

Merged
AnthonyRonning merged 1 commit intomasterfrom
tosupdates
Apr 9, 2026
Merged

Terms of Service, Privacy Policy, and Copyright update#466
AnthonyRonning merged 1 commit intomasterfrom
tosupdates

Conversation

@marksftw
Copy link
Copy Markdown
Contributor

@marksftw marksftw commented Apr 7, 2026

Add Privacy and Terms pages

Summary

  • Adds /privacy and /terms routes, with content adapted from the source documents and
    styled to match the rest of the marketing site (TopNav, FullPageMain, MarketingHeader,
    marketing card layout).
  • Updates company branding in footers, about, and the llms.txt files: legal entity is now
    Maple Privacy Labs Inc. (formerly Mutiny Wallet Inc), and the company is based in San
    Francisco and Austin.
  • Removes the "Powered by OpenSecret" attribution from Footer and SimplifiedFooter.
  • Replaces the external opensecret.cloud/terms and opensecret.cloud/privacy links in
    SimplifiedFooter with the new local routes, and adds Privacy/Terms links to the main
    Footer's Resources column.
  • Refreshes mark.jpg.

Notes

  • Both legal pages use Tailwind arbitrary descendant selectors ([&_ul]:list-disc …) for
    typography rather than @tailwindcss/typography, which isn't installed in this project.
  • Bullet lists are used throughout the Privacy page for the categories of data collected,
    processing purposes, and user data rights, to make the content easier to scan.

Test plan

  • Visit /privacy and /terms and confirm headings, bullet lists, links, and dark/light mode
    all render correctly.
  • Confirm the Privacy/Terms links in both footers navigate to the new local routes.
  • Confirm the About page footer reads "Built in San Francisco and Austin."

Open with Devin

Summary by CodeRabbit

  • New Features

    • Added dedicated Privacy Policy and Terms of Service pages, reachable via footer and account menu links
  • Updates

    • Replaced external policy links with internal routes for Privacy and Terms
    • Updated site copyright/attribution to "Maple Privacy Labs Inc. All rights reserved."
    • Company legal name updated to "Maple Privacy Labs Inc." in public-facing listings

@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented Apr 7, 2026

Deploying maple with  Cloudflare Pages  Cloudflare Pages

Latest commit: b239a9a
Status: ✅  Deploy successful!
Preview URL: https://53a1bba0.maple-ca8.pages.dev
Branch Preview URL: https://tosupdates.maple-ca8.pages.dev

View logs

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 7, 2026

📝 Walkthrough

Walkthrough

Updated company legal name in public LLM metadata, added internal /privacy and /terms page routes with full legal content, updated route registration, replaced external OpenSecret links with internal routes in Footer/SimplifiedFooter/AccountMenu, and adjusted footer attribution text.

Changes

Cohort / File(s) Summary
LLM Metadata
frontend/public/llms.txt, frontend/public/llms-full.txt
Replaced legal entity name from "Mutiny Wallet Inc" to "Maple Privacy Labs Inc".
Footer / Simplified Footer
frontend/src/components/Footer.tsx, frontend/src/components/SimplifiedFooter.tsx
Removed "Powered by OpenSecret" external attribution; added internal /privacy and /terms links; updated copyright text.
Account Menu
frontend/src/components/AccountMenu.tsx
Updated dropdown actions to open https://trymaple.ai/privacy and https://trymaple.ai/terms (replacing prior OpenSecret URLs).
New Routes (pages)
frontend/src/routes/privacy.tsx, frontend/src/routes/terms.tsx
Added full Privacy Notice and Terms of Use page components (static, presentational legal content, includes internal link between pages).
Route Registration / Types
frontend/src/routeTree.gen.ts
Registered /privacy and /terms in generated route tree and augmented TanStack Router type maps/exports; included manifest entries for new routes.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested reviewers

  • AnthonyRonning

Poem

🐰 I hopped through code and found the trails,
Privacy and Terms now live in mails,
Links turned inward, routes aligned,
Maple's name in text defined,
A tiny hop — the frontend sails ✨

🚥 Pre-merge checks | ✅ 2
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and accurately summarizes the main changes in the pull request: adding Terms of Service and Privacy Policy pages, updating copyright attribution, and rebranding to 'Maple Privacy Labs Inc.'

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch tosupdates

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 2 additional findings.

Open in Devin Review

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
frontend/src/components/SimplifiedFooter.tsx (1)

32-43: Consider using TanStack Router's Link component for internal routes.

The /terms and /privacy links use standard anchor tags, while Footer.tsx uses TanStack Router's Link component for the same routes. Using Link provides client-side navigation benefits (no full page reload, prefetching support).

Note: The existing /downloads link also uses an anchor tag, so this may be an intentional pattern for this component. If so, this is fine to keep as-is since the routes work correctly either way.

♻️ Optional: Use Link component for consistency
+import { Link } from "@tanstack/react-router";
 import { isTauri } from "@/utils/platform";
 
 // ...
 
         <div className="flex justify-center gap-6 mt-2">
-          <a
+          <Link
-            href="/downloads"
+            to="/downloads"
             className="text-[hsl(var(--marketing-text-muted))] hover:text-foreground text-sm transition-colors"
           >
             Downloads
-          </a>
-          <a
+          </Link>
+          <Link
-            href="/terms"
+            to="/terms"
             className="text-[hsl(var(--marketing-text-muted))] hover:text-foreground text-sm transition-colors"
           >
             Terms of Service
-          </a>
-          <a
+          </Link>
+          <Link
-            href="/privacy"
+            to="/privacy"
             className="text-[hsl(var(--marketing-text-muted))] hover:text-foreground text-sm transition-colors"
           >
             Privacy Policy
-          </a>
+          </Link>
         </div>
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@frontend/src/components/SimplifiedFooter.tsx` around lines 32 - 43, The
SimplifiedFooter component currently uses plain anchor tags for internal routes
(/terms and /privacy); replace those anchors with TanStack Router's Link
component (e.g., <Link to="/terms"> and <Link to="/privacy">) to enable
client-side navigation and prefetching, and add the corresponding import for
Link at the top of SimplifiedFooter.tsx; mirror the usage pattern from
Footer.tsx so styling classes remain the same and only the tag and prop name
change.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@frontend/src/components/SimplifiedFooter.tsx`:
- Around line 32-43: The SimplifiedFooter component currently uses plain anchor
tags for internal routes (/terms and /privacy); replace those anchors with
TanStack Router's Link component (e.g., <Link to="/terms"> and <Link
to="/privacy">) to enable client-side navigation and prefetching, and add the
corresponding import for Link at the top of SimplifiedFooter.tsx; mirror the
usage pattern from Footer.tsx so styling classes remain the same and only the
tag and prop name change.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: de94e5ce-0a3f-4a11-b055-ae2ff619c201

📥 Commits

Reviewing files that changed from the base of the PR and between 06de1eb and 62207da.

⛔ Files ignored due to path filters (1)
  • frontend/public/mark.jpg is excluded by !**/*.jpg
📒 Files selected for processing (8)
  • frontend/public/llms-full.txt
  • frontend/public/llms.txt
  • frontend/src/components/Footer.tsx
  • frontend/src/components/SimplifiedFooter.tsx
  • frontend/src/routeTree.gen.ts
  • frontend/src/routes/about.tsx
  • frontend/src/routes/privacy.tsx
  • frontend/src/routes/terms.tsx

@AnthonyRonning
Copy link
Copy Markdown
Contributor

there are likely links throughout to our opensecret link that need to be changed over as well.

coderabbitai[bot]

This comment was marked as resolved.

@AnthonyRonning
Copy link
Copy Markdown
Contributor

amend changes, not two seperate commits.

- Add /privacy and /terms routes with content adapted to the site's
  design system
- Link to the new pages from Footer and SimplifiedFooter (replacing
  external opensecret.cloud links) and from AccountMenu
- Rebrand legal entity from Mutiny Wallet Inc to Maple Privacy Labs Inc
  in footers, about page, and llms.txt files
- Remove the 'Powered by OpenSecret' attribution from footers
- Update mark.jpg
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
frontend/src/routes/privacy.tsx (1)

31-43: Consider using cn() utility or template literal for the long className.

The current string concatenation works but could be slightly more readable. This is a minor style preference.

♻️ Optional: Using template literal
          <article
-            className={
-              "flex flex-col gap-4 dark:border-white/10 " +
-              "border-[hsl(var(--marketing-card-border))] dark:bg-black/75 " +
-              "bg-[hsl(var(--marketing-card))]/80 dark:text-white p-8 border rounded-lg " +
-              "[&_h2]:text-2xl [&_h2]:font-medium [&_h2]:mt-6 [&_h2]:mb-2 " +
-              "[&_p]:leading-relaxed " +
-              "[&_ul]:list-disc [&_ul]:pl-6 [&_ul]:space-y-2 [&_li]:leading-relaxed " +
-              "[&_a]:text-[hsl(var(--purple))] dark:[&_a]:text-[hsl(var(--blue))] " +
-              "[&_a]:underline hover:[&_a]:no-underline " +
-              "[&_strong]:font-semibold"
-            }
+            className={`
+              flex flex-col gap-4 dark:border-white/10
+              border-[hsl(var(--marketing-card-border))] dark:bg-black/75
+              bg-[hsl(var(--marketing-card))]/80 dark:text-white p-8 border rounded-lg
+              [&_h2]:text-2xl [&_h2]:font-medium [&_h2]:mt-6 [&_h2]:mb-2
+              [&_p]:leading-relaxed
+              [&_ul]:list-disc [&_ul]:pl-6 [&_ul]:space-y-2 [&_li]:leading-relaxed
+              [&_a]:text-[hsl(var(--purple))] dark:[&_a]:text-[hsl(var(--blue))]
+              [&_a]:underline hover:[&_a]:no-underline
+              [&_strong]:font-semibold
+            `}
          >
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@frontend/src/routes/privacy.tsx` around lines 31 - 43, The long concatenated
className string on the article element should be made more readable by using
the cn() utility or a template literal: import or reference your existing
cn/classnames helper and replace the concatenated string assigned to the
className prop on the article element (the large "flex flex-col ..." string)
with a single cn(...) call (or a backtick template literal), grouping related
classes for clarity; ensure you keep all original classes and preserve
conditional/dark mode classes exactly as-is when migrating.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@frontend/src/routes/privacy.tsx`:
- Around line 31-43: The long concatenated className string on the article
element should be made more readable by using the cn() utility or a template
literal: import or reference your existing cn/classnames helper and replace the
concatenated string assigned to the className prop on the article element (the
large "flex flex-col ..." string) with a single cn(...) call (or a backtick
template literal), grouping related classes for clarity; ensure you keep all
original classes and preserve conditional/dark mode classes exactly as-is when
migrating.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 3da3ac40-ac13-4305-b59b-1fdb91ead8b1

📥 Commits

Reviewing files that changed from the base of the PR and between a43bdc4 and b239a9a.

⛔ Files ignored due to path filters (1)
  • frontend/public/mark.jpg is excluded by !**/*.jpg
📒 Files selected for processing (8)
  • frontend/public/llms-full.txt
  • frontend/public/llms.txt
  • frontend/src/components/AccountMenu.tsx
  • frontend/src/components/Footer.tsx
  • frontend/src/components/SimplifiedFooter.tsx
  • frontend/src/routeTree.gen.ts
  • frontend/src/routes/privacy.tsx
  • frontend/src/routes/terms.tsx
✅ Files skipped from review due to trivial changes (5)
  • frontend/public/llms-full.txt
  • frontend/public/llms.txt
  • frontend/src/components/AccountMenu.tsx
  • frontend/src/components/SimplifiedFooter.tsx
  • frontend/src/routeTree.gen.ts
🚧 Files skipped from review as they are similar to previous changes (1)
  • frontend/src/routes/terms.tsx

@AnthonyRonning AnthonyRonning merged commit 8f28284 into master Apr 9, 2026
13 checks passed
@AnthonyRonning AnthonyRonning deleted the tosupdates branch April 9, 2026 20:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants