vitepress-bilingual-page-2fe797 — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited vitepress-bilingual-page-2fe797 (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
The site lives under docs/, config in docs/.vitepress/config.ts (base: "/tdmcp/", cleanUrls: true, deployed to https://pantani.github.io/tdmcp/).
Only the artist guide track is translated (EN + PT-BR). Everything else is English-only. The config encodes three nav groups:
artistGuide(base) / artistGuidePt → docs/guide/*.md anddocs/pt/guide/*.md. This is the only mirrored track.
devReference → docs/reference/*.md (English only).operations → standalone pages like docs/DEPLOYMENT.md, docs/ROADMAP.md(English only), plus external GitHub links.
So a privacy / legal page is NOT an artist-guide page. It belongs as a standalone page, English as the canonical version (legal text is fine in EN; the form needs exactly one privacy URL). Add a PT mirror only if the spec asks — do not force it just because the guide is bilingual.
docs/privacy.md → clean URL https://pantani.github.io/tdmcp/privacy.title: (used by transformHead) and consideraside: false for a legal page.
operations array in config.ts:{ text: "Privacy", link: "/privacy" }. (It's the legal/ops group, not the artist sidebar.) Put it near the end, before/after Changelog.
docs/pt/privacy.md + a `{ text: "Privacidade",link: "/pt/privacy" }` entry in the PT-side nav config.
The site usescleanUrls, so link to/privacy, never/privacy.html. For a page that needs a non-default URL (like DEPLOYMENT→deployment) you'd add arewritesentry — a lowercaseprivacy.mdneeds none.
.md file exists at the path whose URL you put in the nav.link matches the clean URL (no .md, no .html).npm run docs:build passes — VitePress fails the build on dead internallinks, so a typo'd nav link or a broken in-page link is caught here. This is the gate; always run it after adding a page.
localhost, 127.0.0.1) in prose are ignored by the dead-linkchecker (see ignoreDeadLinks), so you can mention the bridge address freely.
Match the existing docs voice — pull product framing from docs/index.md and docs/guide/what-is-tdmcp.md rather than inventing new copy. Keep legal pages plain and direct; artists are the audience, so avoid dense legalese.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.