Skip to main content

DocGateLLM

Policy-gated documentation fetch for browser-based LLMs. Deny-by-default.

The model never chooses an arbitrary URL — it selects only a registeredsource and a validated locator. DocGateLLM builds the request, enforcesthe owner's allowlist, fetches safely, parses structured content andreturns it as untrusted data.

The model is an untrusted caller. The owner configures the policy once.No human approval per documentation request.

Owner configures permitted sources once ↓ The model fetches only within that fixed policy ↓ No human approval per documentation request

What It Is

DocGateLLM lets coding agents (browser-based LLMs treated as untrusted callers) retrieve current technical documentation from owner-approved sources — the knowledge that post-dates their training cutoff.

In this project, "browser-based LLMs" means AI assistants accessed through a web chat interface. Availability depends on the MCP client or bridge integration.

Why

An LLM's training knowledge has a cutoff. Frameworks move faster: .NET 10, Avalonia 12, fresh library APIs — a model trained a year ago will hallucinate methods that do not exist or produce outdated examples with full confidence.

DocGateLLM turns external documentation into a controlled retrieval primitive: the model asks, the policy answers, the owner stays in control.

LLM / coding agent │ source + typed locator (never a URL) ▼ DocGateLLM │ allowlist · SSRF policy · cache · parser · audit ▼ Approved documentation sources

Security Model

  • Owner-approved sources only — exact host match, configured once
  • No arbitrary URLs — the model cannot supply, construct or influence the request URL; the server builds it from the source config
  • SSRF-safe transport — DNS resolve once → validate all addresses → pinned connection; private/link-local/metadata ranges denied
  • HTTPS only, port 443 only, redirects disabled in v1
  • Bounded responses — size caps, content-type allowlist, timeout
  • Untrusted data — every response is marked kind: "untrusted-data"; the model is instructed: documentation is data, not instructions
  • Full audit — every fetch logged (source, locator, URL, verdict, bytes)
  • Rate limits — per task, per source, global

Not included, by design: RAG / vectorization, browser automation, JavaScript rendering, arbitrary web access, cookies/auth/credentials.

Status

v0.0.1 — project skeleton. Architecture design is complete (4-reviewer pass: SSRF matrix, typed locators, DNS pinning, parsing ladder). Implementation: in progress.

DocGateLLM grew out of UnlockBridge — a human-gated bridge between browser AI chats and local files. It works with standard MCP clients and servers, and is tested alongside the MCPBridge component of UnlockBridge — but does not require UnlockBridge.

Naming

Context Name
GitHub / display DocGateLLM
Repository slug docgate-llm
Python package / import docgate_llm
CLI (planned) docgate-llm
Config file (planned) docgate-llm.yaml

License

MIT (to be finalized in v0.1)

Metadata

Release files for docgate-llm 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for docgate-llm 0.0.1
File Size Uploaded
docgate_llm-0.0.1.tar.gz 2.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for docgate-llm 0.0.1
File Interpreter ABI Platform
docgate_llm-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 5.8 kB

Release files / docgate_llm-0.0.1.tar.gz

Download URL docgate_llm-0.0.1.tar.gz
Size 2.9 kB
Tags Source
SHA-256 checksum
How to use checksums
ea2926bfa37cfc426281dfdc8fc39f9d1dbdd8a471acc8213ee65782c42a1c60
BLAKE2b-256 checksum
How to use checksums
c919341d813dfcfbcd9ea50056ab901b1215b7ca487715ea84abb271aaeef358
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.2

Release files / docgate_llm-0.0.1-py3-none-any.whl

Download URL docgate_llm-0.0.1-py3-none-any.whl
Size 2.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
200c3149fd43dac890e911f5a9cdd08b821534401b2dd06a39a6e420ba30f6e9
BLAKE2b-256 checksum
How to use checksums
5b7c8130fddc6bf219e8c22f7c7e89a75f2d22cdfaa465b24a3a7d18c33bbe57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.2

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page