{"name":"birdbrain: Capture and Verify Web Evidence with Electron","description":"Birdbrain is a local-first Electron desktop app with a Chromium extension for capturing web evidence, organizing it into cases, and checking its integrity. It runs on Windows and Ubuntu, with an experimental macOS build, and is aimed at OSINT investigators and journalists.","github":"https://github.com/thebristolsound/birdbrain","url":"https://osrepos.com/repo/thebristolsound-birdbrain","source":"osrepos.com","sourceDescription":"This repository profile is provided by osrepos.com, an open source repository discovery platform.","repositoryProfile":"https://osrepos.com/repo/thebristolsound-birdbrain","generatedFor":"open source discovery and AI-assisted research","markdown":"https://osrepos.com/repo/thebristolsound-birdbrain.md","json":"https://osrepos.com/repo/thebristolsound-birdbrain.json","topics":["typescript","desktop-app","electron","browser-extension","local-first","chain-of-custody","web-archiving"],"keywords":["typescript","desktop-app","electron","browser-extension","local-first","chain-of-custody","web-archiving"],"stars":null,"summary":"Birdbrain is a local-first Electron desktop app with a Chromium extension for capturing web evidence, organizing it into cases, and checking its integrity. It runs on Windows and Ubuntu, with an experimental macOS build, and is aimed at OSINT investigators and journalists.","content":"## Overview\n\nBirdbrain is a local-first Electron desktop app, written in TypeScript, with a companion Chromium extension for OSINT investigators and journalists who need to capture web pages as evidence and later check whether the saved record has changed. It runs on Windows and Ubuntu, with an experimental macOS build, and stores cases on the investigator’s machine.\n\nA capture includes an MHTML page, a full-page screenshot, and extracted text. Birdbrain hashes the saved content, records it in a signed, hash-chained manifest, and requests an RFC 3161 timestamp. These controls help show whether a stored record has changed, but they do not establish that the original page was genuine.\n\n## Key Features\n\n- Capture pages from the Chromium extension as MHTML, screenshots, and extracted text.\n- Organize captures in per-case folders stored locally.\n- Record SHA-256 hashes in a signed, hash-chained manifest.\n- Request RFC 3161 timestamp tokens, with timestamp status remaining pending until the authority responds.\n- Verify a case’s manifest chain in the desktop app.\n- Export evidence packages with a `VERIFY.md` runbook for checks using `sha256sum`, `openssl`, and `jq`.\n- Operate without an account or telemetry; captures leave the machine only when exported.\n\n## Use Cases\n\n- An OSINT investigator preserving a web page and its contents for later review.\n- A journalist organizing captured pages by case and sharing an evidence package with a recipient.\n- A researcher who needs a recipient to verify exported files without installing Birdbrain.\n- A team testing a local evidence-capture workflow with synthetic or low-stakes material before relying on it for sensitive work.\n\n## Our Take\n\nBirdbrain is an active beta with regular development, but its evidence workflow is still maintained primarily by one contributor and should not be treated as proof that a captured page was authentic.\n\n**Good fit if:**\n- You need a local-first desktop workflow for capturing and organizing web evidence.\n- You want integrity checks and a portable verification runbook for exported evidence packages.\n- You can use a beta application on Windows or Ubuntu, or test its experimental macOS build.\n\n**Look elsewhere if:**\n- You need shared cases or automatic capture, which the README lists as planned work.\n- Your process requires court-tested evidence handling; the README says the workflow has not been tested in court.\n- Your team needs a mature, independently maintained product rather than a beta project whose work is concentrated in one contributor.\n\n## Project Health\n\n| Signal | Value |\n|---|---|\n| Status | **Active**: regular commits and releases |\n| Last commit | 2026-10-18 (today) |\n| Commits, last 90 days | 100+ |\n| Releases, last 12 months | 1 (latest v1.0.1-beta.23, 2026-10-12, pre-release) |\n| Contributors | 9 (top contributor: 83% of commits) |\n| Issues closed, last 90 days | 17+ (typically closed in 0 days) |\n| Pull requests merged, last 90 days | 100+ (typically merged in 0 days) |\n| Project age | 7 months |\n\nChecked on 2026-10-18 with the GitHub API.\n\n## Project Facts\n\n- Language: TypeScript\n- License: MIT\n- Stars: 8\n- Forks: 1\n- Topics: chain-of-custody, chrome-extension, digital-forensics, evidence, evidence-collection, forensics, investigation, ioc\n- Website: https://docs.birdbrain.cc\n- Archived: no\n\n## What You Need\n\nDetected in the repository:\n\n- Node.js >=20.19.0 (from package.json)\n- A test suite and automated checks on GitHub Actions\n\n## Getting Started\n\nThe project requires Node.js 20.19.0 or later and pnpm. To run the development app:\n\n```bash\npnpm install\npnpm dev\n```\n\nFor platform downloads and extension setup, see the [download guide](https://docs.birdbrain.cc/docs/download) and [tester guide](https://docs.birdbrain.cc/docs/tester-guide). See the [README](https://github.com/thebristolsound/birdbrain) for development and project details.\n\n## License in Plain Words\n\n**MIT** (permissive).\n\n- Commercial use: yes\n- Modify and redistribute: yes\n- You must keep: the copyright and license notice\n- Share your changes: no\n\nA summary, not legal advice: the LICENSE file is what applies.\n\n## Alternatives\n\n- [web-archive](https://osrepos.com/repo/ray-d-song-web-archive): It saves webpages as searchable, shareable HTML archives, rather than organizing captured evidence into investigation cases and checking its integrity.\n\n| Project | Language | License | Stars | Status |\n|---|---|---|---|---|\n| **birdbrain** | TypeScript | MIT | 8 | Active |\n| [web-archive](https://osrepos.com/repo/ray-d-song-web-archive) | TypeScript | GPL-3.0 | 932 | Quiet |\n\n## Considerations\n\nBirdbrain is in public beta. It has recent, regular commits and merged changes, but one contributor accounts for most of the project’s contributions. The project has published a beta release within the past year, and the README recommends using synthetic or low-stakes material where possible and exporting anything that cannot be lost. Shared cases and automatic capture are not yet available. A verified chain can indicate that a record has not changed without the signing key, but it cannot prove the source page was genuine. The project is MIT-licensed; review the [license](https://github.com/thebristolsound/birdbrain/blob/main/LICENSE) and the [threat model](https://docs.birdbrain.cc/docs/threat-model) before adopting it.","metrics":{"detailViews":3,"githubClicks":0},"dates":{"published":null,"modified":"2026-10-18T15:52:26.000Z"}}