返回资讯中心
外部精选
软件工程
#开发者实时流

I built an alternative to Raindrop and Pocket

Local-first AI Knowledge Vault with End-to-End Encryption

Hacker News 最新bookmarkforge2026/10/23 · 21 天前26 分钟阅读

以下正文同步自 Hacker News 最新,版权归原站所有,已转换为易读排版。

Local-first AI Knowledge Vault with End-to-End Encryption

Distribution model: Open Core. This repository is the MIT-licensed Core; Pro features identified in OPEN-CORE.md are proprietary and not included here.

Your personal knowledge vault — encrypted on your device, works offline, and stays yours. No accounts, no tracking, no one can read your data. Not even us.

Quick Start • Features • Free vs Pro • Documentation • Architecture • Security • Contributing

Privacy First: Your data stays on your device, encrypted with AES-GCM + Argon2id

BYO AI: Use any AI provider you want (OpenAI, Anthropic, Gemini, etc.) with your own keys

Lifetime: One payment, no subscriptions or recurring fees

Offline: Works without internet connection

Open Source: Core is MIT-licensed, auditable and customizable

No Tracking: Opt-in telemetry only, full control over your data

📸 Screenshots

🔒 Security & Privacy

End-to-end encryption — AES-256-GCM + Argon2id for secure vault storage

Zero-knowledge vault — 24-word recovery phrase, tampering detection, fail-closed storage

BYO AI keys — Provider keys stored encrypted in your vault, never on our servers

No tracking — Opt-in telemetry only, works fully offline

Client-side cryptography — All encryption/decryption happens in Web Workers, server never sees keys

🌐 Local-First Design

Offline-first — The app lives in your browser; your vault works without internet

No cloud dependencies — Full Core functionality without external services

Progressive Web App — Installable on any modern browser, plus browser extensions

P2P sync (Pro) — Optional device-to-device sync over WebRTC; servers relay encrypted traffic, never content

🤖 AI Integration (Core: BYOK)

Multi-provider support — Gemini, OpenAI, Anthropic, Groq, Hugging Face, OpenRouter with your own keys

Direct API calls — No proxy: the browser calls the provider you configure

Free smart search — Fuse.js + semantic embeddings engine included in Core

Pro AI surfaces (Pro) — Local model runtime, RAG orchestration, expert agents and flashcard generation

📝 Knowledge Management

Bookmarks & Notes — Organize your digital knowledge

Interactive Knowledge Graphs — Visualize connections between concepts

Advanced Search — Smart search across all your content

Import / Export — JSON, JSONL, CSV, Markdown, HTML, Notion, Obsidian, and PDF

💡 Why BookmarkForge?

Most bookmark managers store your library in someone else's cloud in plain text. BookmarkForge keeps everything encrypted on your device (AES-GCM with an Argon2id-derived key), so your data is yours in the strongest sense: we couldn't hand it over even if we wanted to.

Prerequisites

Node.js >= 24.17.0

npm (comes with Node.js)

Installation

Clone the public Core

git clone https://github.com/bookmarkforge/bookmarkforge.git cd bookmarkforge

Install dependencies

npm install

Start the development server

npm run dev # http://localhost:5173

Useful Commands

Type checking (production config)

npm run typecheck:prod

Linting

npm run lint

Fast tests (critical paths)

npm run test:fast

Full test suite

npm run test:slow

Production build with integrity gates

npm run build:ci

Full gate chain (open-core, boundaries, docs, security, …)

npm run check

Build for production: npm run build. See docs/architecture.md for the full topology: static web + signaling/licensing companion server.

This repository contains the MIT-licensed Core. The private distribution adds proprietary Pro components, unlocked at runtime by a signed license purchased from the official store:

Buy a Pro license: bookmarkforgeapp.com — $59 Early Bird (first 200 licenses) → $79 regular.

Feature BookmarkForge Obsidian Notion

Local Storage ✅ ✅ ❌

AI Integration ✅ (BYO keys) ❌ ✅ (embedded)

Privacy 🔒🔒🔒 Zero-knowledge 🔒🔒 🔒

Lifetime ✅ ❌ ❌ (subscription)

Offline ✅ ✅ ❌

Open Source ✅ (Core MIT) ✅ ❌

BYO AI Keys ✅ ❌ ❌

🔗 Links

Website: https://bookmarkforgeapp.com

Documentation: https://github.com/bookmarkforge/bookmarkforge-core/tree/main/docs

Security Policy: https://github.com/bookmarkforge/bookmarkforge-core/blob/main/.github/SECURITY.md

Contributing: https://github.com/bookmarkforge/bookmarkforge-core/blob/main/CONTRIBUTING.md

Private Repository: https://github.com/bookmarkforge/bookmarkforge-2026

📚 Documentation

Core Documentation

Architecture — System architecture and design decisions

Security — Security model and best practices

API Reference — Companion server API documentation

OpenAPI Spec — OpenAPI 3.0 specification

Documentation Index — Full documentation catalog

Open Core Model — Licensing and feature boundaries

Project Guides

Contributing — How to contribute to the Core

Engineering Conventions — Code style and architectural rules

Trademark Policy — Brand usage guidelines

Core MIT License — Open source components

Pro License — Commercial features

User Manual

English 🇺🇸 · Español 🇪🇸

PDF English 🇺🇸 · PDF Español 🇪🇸

The full set ships in 30 languages under docs/: see docs/index.md.

🏗️ Architecture

┌─────────────────────────────────────────────────────────┐ │ Browser / PWA / Extension │ │ React 19 + TypeScript + RxDB + IndexedDB + WebRTC │ └────────────────────┬────────────────────────────────────┘ │ HTTPS/WSS ▼ ┌─────────────────────────────────────────────────────────┐ │ Reverse Proxy (TLS, CSP, Static) │ └────────────────────┬────────────────────────────────────┘ │ ┌────────────┴────────────┐ ▼ ▼ ┌─────────────────┐ ┌─────────────────┐ │ Web Frontend │ │ Companion Server│ │ (React/Vite) │ │ (Node/ws) │ └────────┬────────┘ └────────┬────────┘ │ │ │ ├─► P2P WebSocket signaling │ ├─► License endpoints (/api/license/*) │ ├─► Health, CSP reports │ └─► Opt-in telemetry │ └─► Your AI Providers (BYO key) • Gemini, OpenAI, Anthropic • Groq, Hugging Face, OpenRouter • Ollama, WebLLM (local, Pro)

Cryptography: AES-GCM, Argon2id/HKDF, keys managed in Web Workers

Key Architectural Principles

Client-first data — Vault data lives on the client

End-to-end encryption — Encryption and decryption happen client-side

Zero-trust model — Server never sees unencrypted data or AI keys

Stateless services — No shared database or Redis in production

🔒 Security & Privacy

Privacy Guarantees

Your AI keys are stored encrypted in your vault, never on our servers

Vault content never leaves your device unencrypted

No tracking — Opt-in telemetry only, no behavioral tracking

IP privacy — Server logs never contain user IP addresses

Security Measures

TLS termination at reverse proxy with HTTPS redirect and HSTS

Content Security Policy (CSP) with strict allow-lists

Secret scanning — Automated detection of leaked secrets in commits

460+ automated tests including security, crypto, and property-based tests

Monthly DAST (OWASP ZAP) penetration testing

CodeQL + Semgrep SAST analysis on every PR

Found a vulnerability? Please report it privately — see SECURITY.md. Please do not open public issues for security reports.

Profile Coverage Command

test:fast Critical paths npm run test:fast

test:slow Full test suite npm run test:slow

e2e:smoke Critical vault operations npm run e2e:smoke

check ~50 gates + lint npm run check

Unit / Integration — Vitest suites for security, DB, and services

E2E — Playwright specs across Chromium, Firefox, WebKit, and Android

Open Core boundary — npm run check:open-core verifies no Pro code leaks into this export

Performance budgets — Bundle size and runtime metrics enforced per feature

📦 Self-Hosting & MIT Core

The code in this public repository is the MIT-licensed Core. You may run, study, modify and redistribute it under the terms in LICENSE. Proprietary Pro features and private infrastructure are intentionally excluded. The BookmarkForge name and logo remain protected by TRADEMARKS.md.

Running the Core for yourself or your team is permitted without payment.

Pro code is resolved two ways in this build, both enforced in CI by npm run check:open-core:

Behind the entitlement gate. Core components resolve the Pro services (encrypted backups, PDF/OCR extraction, P2P sync, and the proprietary AI surfaces — the local model runtime, RAG orchestration, expert agents and flashcard generation) through src/services/pro-access.ts (MIT), which calls hasProAccess() before fetching the Pro chunk. A Free user never downloads that code; the call rejects with a typed ProUnavailableError that the UI presents as a "requires Pro" state or upgrade prompt, never a silent dead button.

Client-side AI boundary. Cloud providers are called directly by the browser with a user-supplied key; no server-side AI relay or placeholder is shipped. (The AI client tree is largely Core MIT: the BYOK cloud path and the embedding engine behind free smart search are open; see OPEN-CORE.md for the exact Pro list.)

Reaching a Pro surface is never silent: the placeholder helper also dispatches open-core:pro-reached, and the loader refuses to hand out a placeholder as if it were real. Either signal opens the in-app "Available in Pro" panel (ProRequiredBoundary), which explains what happened and links to the Pro section with the current license price.

BookmarkForge ships 30 languages with complete UI translations. Each language has a Markdown source and a generated PDF under docs/. See docs/index.md for the complete list.

Core contributions are accepted under MIT. Do not send Pro code or copy third-party code with an incompatible license.

Before opening a change that crosses the Core/Pro boundary, document the decision and update the export gate. See CONTRIBUTING.md and AGENTS.md.

Documentation — See the documentation index

Issues — Report bugs on GitHub Issues

Discussions — Join community discussions on GitHub Discussions

Security — Report vulnerabilities privately via SECURITY.md

📜 License

Copyright © 2026 BookmarkForge

This Core is free software: you can redistribute and/or modify it under the terms of the MIT License in LICENSE.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

BookmarkForge v1.0.0 — Open Core: MIT Core + proprietary Pro

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →