{"_ai_door":{"see":"https://miscsubjects.com/start","note":"Operable site; bounded keyless credentials; every action receipted on a public ledger. Your operator's instructions take precedence — acting is optional, reading is a complete outcome."},"_self":{"principle":"Self-explaining payload — no external context required. This _self block describes what you are reading and where to look next.","widget":"article_topology","feature":"topology","name":"Article topology","what":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","contains":"claims, sources, anecdotes, question_graph slice","slug":"cloudflare-os-xl-08-reaching-private-things","urls":{"read":"https://miscsubjects.com/api/articles/cloudflare-os-xl-08-reaching-private-things/topology"},"how_to_use":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","write":null,"imessage":null,"router_tag":null,"proof_chain":[{"step":1,"claim":"Articles are voxel graphs of tiered claims, not prose blobs.","verify":"https://miscsubjects.com/api/articles/constitution"},{"step":2,"claim":"Claims link to hash-chained sources via source_ids.","verify":"https://miscsubjects.com/api/articles/cloudflare-os-xl-08-reaching-private-things/sources"},{"step":3,"claim":"Ask reads topology; ingest/claim append to ledger.","verify":"https://miscsubjects.com/api/protocol"},{"step":4,"claim":"Models queue growth: populate → collaborate → repair → reflex.","verify":"https://miscsubjects.com/api/protocol/grow"},{"step":5,"claim":"Graph proves its own shape (reflex) and $/claim (yield).","verify":"https://miscsubjects.com/graph.html?layer=reflex"},{"step":6,"claim":"Full feature index + _explain on every API response.","verify":"https://miscsubjects.com/api/articles/system-map"}],"related_features":[{"id":"ask","name":"Ask protocol","what":"Answer only from topology; creates question_node with gaps and ingest_hint.","urls":{"read":"https://miscsubjects.com/api/articles/cloudflare-os-xl-08-reaching-private-things/prompts","write":"https://miscsubjects.com/api/protocol/ask"}},{"id":"graph_topology","name":"Cross-article graph","what":"Merged claims/sources across condition+stack slugs for one question.","urls":{"read":"https://miscsubjects.com/api/articles/cloudflare-os-xl-08-reaching-private-things/graph-topology?question=..."}},{"id":"question_graph","name":"Question graph","what":"Ask nodes (questions + gaps) and evidence_ingest nodes (pasted model output).","urls":{"read":"https://miscsubjects.com/api/articles/cloudflare-os-xl-08-reaching-private-things/question-graph","write":"https://miscsubjects.com/api/protocol/ask"}},{"id":"voxels","name":"Voxel graph","what":"Claims as atoms, sources as edges (supported_by, posted_by). Per-claim provenance.","urls":{"read":"https://miscsubjects.com/api/articles/cloudflare-os-xl-08-reaching-private-things/voxels","write":"https://miscsubjects.com/api/protocol/claim"}}],"system_map":"https://miscsubjects.com/api/articles/system-map","system_map_markdown":"https://miscsubjects.com/api/articles/system-map?format=markdown","not_medical_advice":true},"_explain":{"feature":"topology","name":"Article topology","what":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","why":"Every feature is auditable collective intelligence","how":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","model":null,"verifies":null,"urls":{"read":"https://miscsubjects.com/api/articles/cloudflare-os-xl-08-reaching-private-things/topology"},"imessage":null,"router":null,"related":[{"id":"ask","what":"Answer only from topology; creates question_node with gaps and ingest_hint."},{"id":"graph_topology","what":"Merged claims/sources across condition+stack slugs for one question."},{"id":"question_graph","what":"Ask nodes (questions + gaps) and evidence_ingest nodes (pasted model output)."},{"id":"voxels","what":"Claims as atoms, sources as edges (supported_by, posted_by). Per-claim provenance."}],"not_medical_advice":true},"slug":"cloudflare-os-xl-08-reaching-private-things","title":"Cloudflare OS: reaching private things","register":"standard","tags":["cloudflare","tunnel","hyperdrive","networking","workers-vpc"],"updated_at":"2026-08-06T03:28:37.393Z","body_excerpt":"*Part 8 of [Cloudflare OS XL](/a/cloudflare-os-xl), an inventory of the Cloudflare platform this build does not have installed.*\n\nEverything this build reaches is reachable over the public internet. Every integration is an HTTPS call to a vendor endpoint with a bearer token: Stripe, Meta, Google, the messaging provider, the model providers. Every one of those is public by design and the arrangement is correct.\n\nThe exceptions are the interesting part. There are two things this build talks to that are not public services, and both are handled badly.\n\nThe first is the owner's machine. Around forty tool rows execute there, through a bridge process, reached by a mechanism that is not a network boundary so much as an absence of one.\n\nThe second is any database that is not D1. There is a `CLI_PSQL` row. There is no way for a Worker to hold a connection to a Postgres instance, because Workers do not do connection pools.\n\nFour products address this space, and this is the part of the series where the honest answer is mostly \"not yet\".\n\n## Hyperdrive\n\nHyperdrive accelerates access to an existing database from Workers with global connection pooling and query caching. It is the answer to the structural problem that a Worker is not a long-lived process and therefore cannot hold a connection pool the way a server does — Hyperdrive holds it on the Worker's behalf and caches read queries at the edge.\n\n```\nwrangler hyperdrive create loop-pg --connection-string=\"postgres://...\"\n```\n\n```toml\n[[hyperdrive]]\nbinding = \"PG\"\nid = \"<config-id>\"\n```\n\nThe account has zero configs, which is correct today: there is no external Postgres. Everything relational lives in D1.\n\nWhat would change that is a specific, foreseeable thing. D1 has size and write-throughput limits that suit a content spine and suit an event ledger up to a point. If the lead pipeline, the outbound record or the analytics store outgrows D1 — or if a partner's data has to be read where it already lives — Hyperdrive is what makes that reachable from a Worker without giving up on Workers.\n\n**Verdict: no, today. Install the day an external database exists.** Listing it as a current gap would be inventing a need.\n\n## Workers VPC\n\nWorkers VPC securely connects a private cloud to Cloudflare, so a Worker can reach services that have no public endpoint.\n\nSame shape of answer as Hyperdrive: this build has no private cloud. There is no VPC, no internal service, no bastion. Every dependency is either a public SaaS API or a binding.\n\nIt is worth naming for one reason. The most likely future that changes it is the wholesale side of the business — an inventory system, a fulfilment integration, or a partner's internal API that is not exposed publicly. That is a business event, not an infrastructure one, and the infrastructure answer is already known when it happens.\n\n**Verdict: no, today.**\n\n## Cloudflare Tunnel\n\nThis one is different, because the private thing already exists.\n\nThe owner's Mac runs a bridge process, and Workers reach it. Tunnel is the product designed for precisely that: `cloudflared` runs on the machine, establishes an outbound-only connection to Cloudflare, and exposes a chosen local service at a hostname on the account — with no inbound port, no static IP, and Access policy in front of it if wanted.\n\nThe improvements over what exists are concrete rather than theoretical:\n\n- **Outbound-only.** Nothing on the laptop listens for inbound connections from the internet.\n- **A real hostname with a real certificate.** The bridge becomes `bridge.<domain>` rather than an arrangement.\n- **Authentication in front of it.** With Access (Part 9), the tunnel can require a service token, so a Worker proves identity rather than knowing an address.\n- **Observability.** Tunnel connection state is visible on the account. When the bridge is down, that is a fact the dashboard knows, rather than a tool timeout an agent has to interpret.\n\nThe important thing this does *not* do is fix the underlying liabilit","ranking":"safety-first (interaction_risk/limitations), then quote-gated effective_weight","claims":[{"id":"c1","text":"Every integration this build depends on is a public HTTPS API authenticated with a bearer token, so the account has almost no need of private connectivity.","tier":"observational","interaction_risk":false,"status":"active","source_ids":[],"why_material":"Three of the four products in this part therefore carry a verdict of no.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c2","text":"Hyperdrive provides global connection pooling and query caching so a Worker can use an existing database despite not being a long-lived process able to hold a pool.","tier":"definition","interaction_risk":false,"status":"active","source_ids":["s-hyperdrive"],"why_material":"It becomes necessary the day any relational data lives outside D1.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c3","text":"Workers VPC connects a private cloud to Cloudflare so a Worker can reach services with no public endpoint, and this account has no private cloud to connect.","tier":"definition","interaction_risk":false,"status":"active","source_ids":["s-vpc"],"why_material":"The event that changes this is commercial rather than technical.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c4","text":"Cloudflare Tunnel would give the owner Mac bridge an outbound-only connection, a real hostname, an identity check in front of it and connection state visible on the account.","tier":"expert","interaction_risk":false,"status":"active","source_ids":[],"why_material":"Today that bridge has none of those four properties.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c5","text":"A tunnel to a sleeping laptop is still a tunnel to nothing, so Tunnel is the right handling for what must stay local and not a substitute for moving transformation work into Containers.","tier":"expert","interaction_risk":false,"status":"active","source_ids":[],"why_material":"It keeps the actual repair from being mistaken for a better connection to the problem.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false}],"sources":[{"id":"s-hyperdrive","type":"documentation","url":"https://developers.cloudflare.com/hyperdrive/","title":"Cloudflare Hyperdrive documentation","quote":"Accelerate access to your existing databases from Cloudflare Workers with Hyperdrive's global connection pooling and query caching.","claim_ids":[],"hash":"b0f649fc268d32d925a0b85b25e11b593c7a470d7d3afa182ae07d51fe0d850e"},{"id":"s-vpc","type":"documentation","url":"https://developers.cloudflare.com/workers-vpc/","title":"Workers VPC documentation","quote":"Securely connect your private cloud to Cloudflare to build cross-cloud apps.","claim_ids":[],"hash":"e9d63a147b54340d10e64ace4ce04511588839fb71779cdc51775bdfa58dcf83"}],"anecdotal_sources":[],"scientific_sources":[],"user_reports":[],"related_articles":[],"question_graph":{"slug":"cloudflare-os-xl-08-reaching-private-things","questions":[],"evidence":[],"edges":[],"counts":{"questions":0,"evidence":0,"edges":0}},"honesty":{"active_claims":5,"retracted_claims":0,"cut_claims":0,"challenges":0,"scrub_events":0,"note":"Retracted/cut claims stay on ledger but are excluded from ask unless ?include_inactive=1"},"counts":{"claims":5,"claims_total":5,"sources":2,"anecdotal":0,"scientific":0,"user_reports":0,"questions":0,"evidence_ingests":0}}