bxc CLAUDE.md

Project instructions for bxc, a browser engine designed around limiting users' exposure of personal information online. They describe its architecture, privacy goal, and rules for detecting and masking identifying data.

In plain words
What is it for?
They guide work on browsing, personal-data detection, redaction, validation of identifiers, and pseudonymisation within the bxc codebase.
Why use it?
They keep privacy concerns central when changing a browser or scraping feature and reduce inconsistent handling of personal data.

Instructions file

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/aphrody-code/bxc/claude-md
Clone the repo
git clone --depth 1 https://github.com/aphrody-code/bxc
Per session 4,785 This file is loaded in full into every session.
When invoked 4,785 The same file — it is already loaded in full.
Security scan B 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.04785 $0.04785
Opus 5 $0.02393 $0.02393
Sonnet 5 $0.00957 $0.00957
Haiku 4.5 $0.00479 $0.00479

Measured yesterday against content hash 8ba71cf508bc, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade B, and why

bxc CLAUDE.md scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Asks for rootmediumPrivilege escalation

A mod that escalates privileges can change anything on the machine, not only the project.

sudo install -m755 dist/standalone/bxc-linux-x64 /usr/local/bin/bxc # deploy binaire seul
CLAUDE.md · 224 lines

How it starts

The opening of the file, as written. The whole thing — 224 lines — stays where its author put it; the contents beside it link to each section on GitHub.

CLAUDE.md — bxc

Contexte général partagé avec Gemini : voir GEMINI.md.
Mémoire agy VPS : ~/.gemini/antigravity-cli/MEMORY.md · deploy : DEPLOY.md. Ce fichier liste ce qui est spécifique à Claude Code ou ce qu'il faut rappeler systématiquement.

bxc — moteur de navigation "Zero-Spawn" pour agents IA. Bun runtime + Rust V8 bindings + historique Zig DOM. Publié sur GitHub Packages comme @aphrody/bxc (repo aphrody-code/bxc), consommé par rpb-challonge (vps).

Objectif directeur (depuis 2026-08-27)

Protection des informations personnelles, confidentialité, anonymat en ligne. Le moteur de navigation est le moyen, plus la fin. Évaluer toute feature à l'aune de « est-ce que ça réduit l'exposition de l'utilisateur ? ».

  • Noyau commun : src/privacy/pii.ts (export @aphrody/bxc/privacy) — détection + caviardage des données identifiantes. Tout ce qui doit reconnaître une donnée perso passe par là, comme les deux purges X partagent purge-engine.ts. Précision > rappel : ce qui se valide est validé (Luhn, IBAN mod-97, clé NIR) ; siren est hors des types par défaut (9 chiffres sur 10 passent Luhn). Pseudonymisation HMAC à sel obligatoire — refuser plutôt que dégrader en hash nu. Tests : test/privacy/pii.test.ts.
  • Briques existantes qui servent déjà l'objectif : purges X (minimisation des données publiées), src/profiles/fingerprint.ts + ghost/ (empreinte de navigation), src/cookies/ (cloisonnement des sessions).

Rappels critiques

  • Test scope : bun test test/ packages/ src/jamais sans path, sinon bun walk vendor/ (mcp-sdk) et meurt.
  • Nommage : tout identifiant/ref code/docs/binaires doit être bxc*. Le rebrand est terminé — ne réintroduire aucun ancien nommage de projet.
  • packages/api : entry réel = src/index.ts (Elysia .listen()), PAS le index.ts racine (stub bun init). Cf. packages/api/CLAUDE.md.
  • Docs x/xai :
    • packages/x/README.md (complete: features, algo ranking from x-algorithm, X+Grok synergy, usage, CLI, MCP, prod notes).
    • packages/xai/README.md (complete & lisible: TOC, auth/SuperGrok, high-level Chat API with full examples for createChat/append/sample/stream/executeToolCalls/sampleStructured, XTools + tool defs + injectable for tests, native integration loops, quick ref, prod notes, contributing). See packages/xai/examples/grok-x-agent.ts for runnable native X + Grok example (docs item 7).
    • Purges autonomes : noyau partage packages/x/src/services/purge-engine.ts (RateGovernor, taxonomie d'erreurs, runMutationQueue, readWithBackoff). Trois freins independants (jitter 4-11 s, 45 / fenetre 15 min, 400 / 24 h) + headers x-rate-limit-*, journaux reprenables 0600 sous ~/.aphrody/. Un fix dans le noyau vaut pour les deux.
      • unfollow.ts (purgeFollowing) — vide les abonnements, non-mutuels d'abord. CLI bxc x unfollow, MCP bxc_x_unfollow_purge, journal x-unfollow-<handle>.json.
      • purge-tweets.ts (purgeTweets) — supprime tweets/reponses/medias sous un seuil de likes, moins likes d'abord ; parcourt les 3 timelines (aucune n'est un sur-ensemble des autres) ; retweets hors scope par defaut (leurs likes ne sont pas les tiens). CLI bxc x purge-tweets, MCP bxc_x_purge_tweets, journal x-purge-tweets-<handle>.json. Les deux : dry-run par defaut, --yes pour executer. Exploitation VPS : daemons bxc-x-unfollow.service / bxc-x-purge-tweets.service (auto-retry ; code de sortie 77 = credentials rejetes → RestartPreventExitStatus, 130 = arret propre → SuccessExitStatus) + watchdog commun scripts/x-purge-doctor.sh. Tests : packages/x/unfollow.test.ts (41) + packages/x/purge-tweets.test.ts (40), horloge injectee, aucun appel live.
    • Root README.md table and sections link to them.
    • Keep in sync with code changes (new Chat methods, XTools, etc.). Tests: see packages/x/index.test.ts, packages/x/unfollow.test.ts, packages/x/purge-tweets.test.ts et packages/xai/index.test.ts (118 pass + 2 live-skipped = 120 total across packages; covers Chat full surface + stream/toolDeltas/execute/sampleStructured, XTools injectable+auto-dispatch+defs, algo rank full (filters/scoring/diversity), cross synergy with mock XClient, no live by default).
    • Sub-docs: packages/x/docs/ (COVERAGE.md updated with algo/tests notes, X_PRO.md, etc.).
  • packages/xai (avec packages/x): client xAI/Grok natif. Toujours étendre createChat pour features Python SDK (reasoning_effort, search_parameters, structured zod/simple), XTools pour actions x (tweets/news/whoami+), améliorer erreurs Chat, tests unit tool-calling, compat SUPER_GROK_TOKEN. Mettre à jour README + CLAUDE. Focus combo Grok+X production agents. Vérif: bun test packages/xai/ + typecheck + lint (scoped, no live).
  • Services longs testables : injecter now / sleep / random dans les options (cf. packages/x/src/services/purge-engine.ts) → budgets, fenêtres glissantes et backoff se testent sur horloge factice, sans attente réelle.
  • MCP server : src/mcp/server.ts (bxc-native-mcp, version = const en haut du fichier). Build : bun run build:mcpdist/standalone/bxc-mcp. Manifest Gemini = gemini-extension.json (pointe sur /usr/local/bin/bxc-mcp).

Read the full file on GitHub · 224 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 224 lines · 4,785 tokens per session scan B 8ba71cf508bc

Subscribe to this mod's changes

bxc CLAUDE.md is an instructions file published in the GitHub repository aphrody-code/bxc (2 stars, last pushed yesterday), licensed Apache-2.0. It adds 4,785 tokens to every session, about $0.0239 per session on Opus 5. A static security scan graded it B with 1 finding (asks for root). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.