Drop the landing site in favour of internetcomputer.org/icp-mcp; the old page paths redirect permanently - #165
Open
aterga wants to merge 6 commits into
Open
Drop the landing site in favour of internetcomputer.org/icp-mcp; the old page paths redirect permanently#165aterga wants to merge 6 commits into
aterga wants to merge 6 commits into
Conversation
The Terms still described the Service in financial vocabulary: "never holds your funds" / "non-custodial" (section 1), "moving tokens, spending cycles, installing code, and deleting canisters" (section 3), and "loss of tokens, cycles, or other assets" (section 8). That language no longer matches the served surface — the funding and canister-management tools are not served (#153, #154, #158) and canister_update_call refuses the ledger methods — and, like the tool descriptions (per review in #154), the page should stay free of financial language rather than mention-and-deny. Rephrase those passages without financial vocabulary while keeping their substance and the user-responsibility posture: - Section 1 describes the Service as reading data applications hold for the user and submitting actions to them, and states it never holds long-term credentials — only the delegated, time-limited session authorization. (This also stops claiming canister management, which the served tool set no longer offers.) - Section 2 now states explicitly that requests made under the user's authorization are treated as theirs and are their sole responsibility. - Section 3 keeps irreversibility front and center: an action can permanently change or delete data an application holds for the user, what an action does is defined by the receiving application, and nothing can be undone once the network accepts it. - Section 8's liability examples drop the asset enumeration; the general damages language still covers everything it covered. Bump the effective date for the revision (adjust to the release date at cut time, as was done for August 3). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Xpg83AWtkQo34jbMxpX8WB
…erms and Privacy Policy Application developers who want their applications' operations supported through the Service must comply with the ICP MCP Privacy Policy and accept the Terms of Service. They assert both by implementing the service discoverability instructions at https://docs.internetcomputer.org/guides/frontends/service-discoverability/ - Terms, section 4 (Third Parties): new paragraph stating the obligation, linking the Privacy Policy and the discoverability guide. - Privacy Policy, section 2 (Who Receives Data), "The applications you choose" recipient: matching sentence referring the developer to the Terms and the discoverability guide; effective date moves to August 28, 2026 per section 8 (align with the shipping release at cut time, as for August 3). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Xpg83AWtkQo34jbMxpX8WB
…ance with a notice Review on the mirrored copy (dfinity/internetcomputer-org#76) caught a real contradiction in the wording added by the previous commit. The Privacy Policy states twice that application processing is governed by each application's own policy and not by this Privacy Policy (the scope carve-out, and the same "applications you choose" paragraph the sentence was added to), so requiring developers to "comply with" it both contradicted that scope and named no conduct: the Policy is a notice about our processing and carries no developer-facing duties. Reframe so the obligation is coherent and actionable, keeping the acceptance-by-implementation mechanism intact: - The developer accepts the Terms by implementing the discoverability instructions. Acceptance of a contract is something a third party can do; "compliance" with our privacy notice is not. - The duty now lives in the Terms, where duties belong: handle personal data reaching them through the Service lawfully and under their own privacy policy, and keep that policy accurate and available. - Both pages now say what the Privacy Policy actually is for the developer: it describes what the Service discloses to an application, and does not govern what the application does next. That agrees with the scope carve-out instead of fighting it. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Xpg83AWtkQo34jbMxpX8WB
…ternetcomputer.org The landing page and its /privacy-policy, /support and /terms subpages existed twice: served by this binary from src/assets/, and mirrored in dfinity/internetcomputer-org (public/icp-mcp/, served at internetcomputer.org/icp-mcp/). Two copies of legal pages drift — the mirror carried this branch's revisions before any imcp2 release could — so the internetcomputer-org copy becomes the only one, and this origin stops serving pages of its own: - The four asset pages are deleted. connect-error.html and favicon.svg stay: they are the OAuth connect flow's, not the landing site's, and the connect/callback screens link /favicon.svg for their tab icon. - /, /privacy-policy, /support and /terms answer with permanent redirects (308) to the same paths under https://internetcomputer.org/icp-mcp/ — trailing-slash targets, so a client lands in one hop. Every published link keeps working: the directory listings' policy URLs, bookmarks, search results. - /sitemap.xml is gone (a sitemap must list same-origin content, and this origin has none); robots.txt stays to keep crawlers off the machine surface, minus the sitemap reference, and site_metadata_router no longer needs PUBLIC_URL. /status/ is untouched — the live dashboard is this deployment's own monitoring surface, published by Caddy. - Tests follow: the sitemap and page-content tests are replaced by a redirect test pinning all four absolute targets and a robots test asserting no sitemap is advertised. - README and the directory-submission docs now name internetcomputer.org/icp-mcp/ as the pages' one home, with the old URLs redirecting from the release that ships this change. The earlier commits on this branch revised the pages' text in place; that text now lives in dfinity/internetcomputer-org#76 / #77, which is what makes this deletion safe: nothing is lost, one copy remains. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Xpg83AWtkQo34jbMxpX8WB
aterga
marked this pull request as ready for review
August 28, 2026 14:14
There was a problem hiding this comment.
Pull request overview
Moves landing and legal pages to their canonical internetcomputer.org location.
Changes:
- Replaces legacy page routes with permanent redirects.
- Removes bundled landing/legal assets and sitemap support.
- Updates tests and directory documentation.
Reviewed changes
Copilot reviewed 8 out of 9 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
src/main.rs |
Adds redirects and updates metadata tests. |
src/assets/index.html |
Removes bundled landing page. |
src/assets/privacy-policy.html |
Removes bundled privacy policy. |
src/assets/support.html |
Removes bundled support page. |
src/assets/terms.html |
Removes bundled terms page. |
README.md |
Documents canonical pages and redirects. |
docs/anthropic-directory-submission.md |
Updates Anthropic submission URLs. |
docs/openai-directory-submission.md |
Updates OpenAI submission URLs. |
docs/icp-mcp-privacy-policy-draft.md |
Identifies the canonical policy location. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Two conflicts, both from #164 touching the privacy policy this branch deletes: - src/assets/privacy-policy.html: modified on main (the third-party recipients list drops skills.internetcomputer.org — skills are now served from the reviewed bundle compiled into the binary, so no network fetch to disclose), deleted here. The deletion stands; the content change is ported to the page's one home in dfinity/internetcomputer-org (the #77 re-sync branch), where the policy now lives. - docs/anthropic-directory-submission.md: both sides rewrote the "Publication venue" paragraph. Kept this branch's new-home framing, folding in main's note about what the refreshed text carries (the identifier-linkability wording and the updated third-party list). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Xpg83AWtkQo34jbMxpX8WB
…oval One conflict, the main.rs import block: keep this branch's axum line (response::Html went away with the served pages) and main's imcp2 line (ii_app_metadata_router joins the imports). The two changes are complementary — #169 already points Internet Identity's legal links at the pages' one home on internetcomputer.org/icp-mcp/, the same destination this branch's redirects serve, and its router merges at the application root untouched by the redirect routes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Xpg83AWtkQo34jbMxpX8WB
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The landing page and its
/privacy-policy,/supportand/termssubpages existed twice: served by this binary fromsrc/assets/, and mirrored in dfinity/internetcomputer-org (public/icp-mcp/, served atinternetcomputer.org/icp-mcp/). Two copies of legal pages drift — the mirror already carries text revisions no imcp2 release has shipped — so this PR makes the internetcomputer-org copy the only one:/→https://internetcomputer.org/icp-mcp/, and/privacy-policy,/support,/terms→ the same names under it (trailing-slash targets, one hop). Every published link keeps working — the directory listings' policy URLs, bookmarks, search results.Related issues
None. Companion to dfinity/internetcomputer-org#75 (merged), dfinity/internetcomputer-org#76 and dfinity/internetcomputer-org#77, which carry the same page text at the new home — which is what makes the deletion here lossless.
Changes
src/assets/index.html,terms.html,privacy-policy.html,support.html— deleted.connect-error.htmlandfavicon.svgstay: they belong to the OAuth connect flow, and the connect/callback screens link/favicon.svgfor their tab icon (pinned by tests insrc/auth.rs).src/main.rs— the four page routes becomelanding_redirects_router()(aLANDING_SITEconst + 308s); the page constants,__LOGO__substitution helpers,PUBLIC_PAGES,xml_escapeandsitemap_xmlare gone./sitemap.xmlis no longer served (a sitemap must list same-origin content, and this origin has none);robots.txtstays to keep crawlers off the machine surface, minus the sitemap reference, sosite_metadata_router()no longer needsPUBLIC_URL./status/is untouched — the live dashboard is this deployment's own monitoring surface, published by Caddy.old_page_paths_redirect_permanently_to_the_landing_site(pins all four absolute targets, so a typo'dLANDING_SITEcan't ship a working-looking 308 to nowhere) androbots_excludes_the_machine_surface_and_names_no_sitemap.README.md,docs/anthropic-directory-submission.md,docs/openai-directory-submission.md,docs/icp-mcp-privacy-policy-draft.md— the pages' one home is nowinternetcomputer.org/icp-mcp/; portal URLs updated to the canonical forms with a note that the oldmcp.internetcomputer.orgpaths redirect from the release that ships this PR.Deployment note: until this ships in a
release-*, production keeps serving the previous pages itself (status quo); from that release on, the old URLs 308 to internetcomputer.org. Directory portals can be given either form; the docs now prefer the canonical one.Testing
cargo build --locked --all-targetscargo test --locked --all-targets— 68 passed, 0 failed (the new redirect + robots tests included)cargo fmt --all/cargo clippy --all-targets— left untouched, pre-existing: this container's rustfmt 1.8.0 (stable 1.94.1) disagrees with the repo's committed style across 15 files including ones this PR never touches (norustfmt.tomlis committed and no CI fmt gate exists), so nothing was reformatted; new code follows the file's existing conventions. Clippy's 6 warnings are all inimcp2-core(5map_or, 1 redundant closure) and reproduce on pristinemain. (This corrects the earlier note here that claimed drift only incalls.rs— that under-counted.)npm test --prefix monitoring/mcp-status— not applicable, the dashboard is untouched.Checklist
🤖 Generated with Claude Code
https://claude.ai/code/session_01Xpg83AWtkQo34jbMxpX8WB