// 04 RESTRICTED
atlas
A knowledge graph of the web as people actually browse it: registrable domains, hosts, route patterns and URLs, built from what a Chrome extension observes, served over GraphQL, and readable by language models through an MCP server. Everything it learns starts private. A domain, host or URL can go public only after enough distinct, verified people have visited it on their own (five by default) and an admin approves it, and anything that looks like banking, health, government, sign-in or private address space never gets there automatically.
Routes, not just URLs
Each URL is split into its host, its registrable domain under the public suffix list, and a route pattern in which literal segments become typed slots: /users/42/orders/9c3e… is /users/{id}/orders/{uuid}, and /blog/my-first-post/2024-01-05 is /blog/{slug}/{date}. Other slot types cover digests by length, opaque tokens and @ handles. Keeping the type is what makes guessing safe: route discovery proposes neighbors only for numeric ids and dates, and never invents a UUID, hash or token, since that would be indistinguishable from guessing a secret. The oEmbed registry's roughly 400 providers seed routes that shape alone cannot infer.
Per-site extractors (YouTube, TikTok, X, Instagram, GitHub, Google, Lumen's takedown notices) are shipped to the extension as data, CSS selectors and XPaths, not a content script per site. Every page also gives up its JSON-LD, meta tags, microdata and microformats, with email addresses redacted.
What it keeps and what it drops
- Query-string values are never stored, only which keys a URL carried. The one exception is campaign tags (
utm_*), which the publisher of a link wrote and which are the same for everyone who clicks it. Per-click ids such asgclidandfbclidkeep the key and lose the value. - A link found on a page becomes an edge to its target but never an observation, so what pages link to cannot push anything through the gate. Accounts imported from GitHub's public API follow the same rule.
- The extension checks a local denylist before anything is stored or sent.
- The visibility state machine is pure code with no database access, so it can be tested exhaustively, and every public query and MCP tool reads through one shared layer that filters to public rows.
The extension also saves a window's tabs to a restorable list, OneTab-style. Saved tabs stay in the browser and never reach the API.
Stated honestly
- WHOIS and DNS enrichment are interface stubs that answer "pending", so the MCP
reconstruct_zonetool works from publicly cleared hosts alone. - Changing the route classifier does not re-derive existing rows. After one change, 176 of 187 instagram.com routes would have come out differently; a backfill touches 17 tables, so old rows stay as first classified.