Skip to content

Bluefield v0.2.0. First public release

Latest

Choose a tag to compare

@danielvhofmann danielvhofmann released this 07 Jul 05:44
· 103 commits to main since this release

Bluefield v0.2.0. First public release

The web, on the record. Bluefield turns any URL into clean Markdown or structured JSON and cryptographically signs every capture, so you can prove what your agent actually read, offline, with no account and no trusted server.

This is the first public tag. The npm packages are live at 0.2.0.

What it does

  • Capture any HTTPS page as clean Markdown or structured JSON.
  • Sign every capture with a Bluefield Provenance Manifest, called BPM. It is an Ed25519 signature over a JCS canonical JSON record binding the content hash from SHA-256, the URL, the fetch time, and the robots.txt state. Captures are tamper evident and verifiable offline, by anyone with the public key.
  • Track changes over time with git like history and diffs.
  • Give agents verifiable captures through a bundled MCP server, so an AI agent gets provenance natively rather than bolted on.

Local first by default. No hosted database, no telemetry. Bring your own proxy and LLM.

CLI

bf scrape <url>              # capture a page (HTTPS only)
bf verify <id>              # offline hash + signature check
bf diff <url>               # changes between captures
bf log <url>                # capture history
bf export <id> --out <path> # portable proof bundle

Install

Packages are on npm under the org @bluefields.

npm i -g @bluefields/cli
bf --help

Or build from source.

git clone https://github.com/danielvhofmann/bluefield && cd bluefield
pnpm install && pnpm -r build
node packages/cli/dist/cli.js --help

Packages

A TypeScript and Node monorepo, all published on npm at 0.2.0. The engine and CLI are AGPL-3.0. The spec, verifiers, and SDKs are Apache-2.0 so they can be embedded freely.

Package Purpose License
@bluefields/cli CLI and library AGPL-3.0
@bluefields/fetcher Tiered HTTP to headless browser capture AGPL-3.0
@bluefields/extractor HTML and PDF to Markdown and JSON AGPL-3.0
@bluefields/differ Change classification AGPL-3.0
@bluefields/attest BPM spec and offline verifier Apache-2.0
@bluefields/sdk TypeScript client Apache-2.0
@bluefields/mcp-server MCP tools for agents Apache-2.0
@bluefields/primitives Shared utilities Apache-2.0
@bluefields/db Drizzle schema Apache-2.0

The BPM spec and test vectors live in packages/attest/spec/.

Where Bluefield is strong, and where it is not

The real differentiator is provenance and verifiability, not raw coverage or extraction quality. Being honest about that.

  • Provenance. Signed, content addressed, offline verifiable captures. This is the point of the project.
  • Fetch coverage. Strong but not complete on public pages. Anti bot fortress sites are the ceiling and need a user supplied unlocker. We do not pretend otherwise.
  • Extraction quality. Solid, not superhuman. Dense listing, forum, and some structured pages are weaker than dedicated commercial extractors.
  • HTTPS only.

If you need a tamper evident record of what a page said and when, this is built for you. If you only need maximum coverage of hostile sites, a specialized commercial API may fit better.

Links