frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Show HN: Let's Seal – Let's Encrypt for document signing, free and self-hosted

https://github.com/letsseal/letsseal
16•nsokin•4h ago
TLDR, Let's Seal gives the finger to Adobe and every doc signing tool (docusign, google, etc) who pay to play with the Adobe Approved Trust List and then charge you for something that should be free.

Currently even the person checking if a document/contract is sealed or code is authentic has to also be inside the same Adobe walled garden too. Verification, the part that should be free is the part everyone charges for. Thats the shape Let's Encrypt fixed for TLS, and I wanted the same thing for documents and files.

The core idea therefore needed to go a bit beyond e signatures and i created an open standard (SEAL), plus free tools that implement it.

When you seal a file, three independent things happen.

1. it gets a signature from a certificate authority, chaining to a public root. 2. its record is appended to an RFC 6962 transparency log. and 3. its SHA256 is timestamped on a public blockchain (Bitcoin) via OpenTimestamps. Those three give you integrity, transparency and a timestamped proof. And importantly, none of those depend on Let's Seal and none are gated.

You can verify with the tools you already have, no Let's Seal account and no Let's Seal software. A sealed PDF carries a standard PAdES signature, so any PDF reader validates it. A sealed build artefact carries a cosign compatible signature and a SLSA provenance attestation. The Bitcoin timestamp verifies with stock ots.

3 ways to use it.

1. The free web app. We kindly have backing from Backblaze to cover storage costs for the foreseeable. So you can upload or issue any number of documents, get a public proof page at /d/<hash> and verify it at https://verify.letsseal.org for free. Multiple accounts, multiple seats, enterprise functions. Free.

2. Self host the whole thing. Apache-2.0, one Next.js app plus a signing service that holds the CA key on localhost. Storage is any S3-compatible bucket or local disk. If you'd rather run your own root of trust, you can.

3. Programmatically. via the CLI and a hosted API. This is the Let's Encrypt/certbot angle. Seal or anchor things from CI, or have a backend seal every invoice or report as its generated.

The CLI is sealbot. It runs anywhere Node runs (npx sealbot) and there are native binaries for macOS, Linux and Windows with no runtime needed.

Theres a GitHub Action wrapping the same tool, so a release workflow can seal its own artifacts. Its what proves our own releases.

KYC is semi-handled (to a degree) it's hard to do for free (at least for now), but issuers (your companies or websites) domains can be authenticated with a DNS record added, which proves the issuer has control over a domain. Sign-in can be authenticated to an email via Google Sign in and a few others will be added to the web app in time (Same as Docusign currently). Ideas welcome on future KYC should there be a demand.

Feedback welcome on the standard (SPEC.md in the repo).

Repo: https://github.com/letsseal/letsseal Site: letsseal.org

Thx

Comments

dpoloncsak•1h ago
Poked around a bit..excited to see where this goes.

Just a quick note, Under "Get help from the community > Disucssions", there's a 404 to https://github.com/letsseal/letsseal/discussions .

The idea makes sense in principle I think, and but I'll be chewing on it a bit, haha. Seems like a solid standard, but you know how standards go.... (Relevant XKCD: https://xkcd.com/927/)

I like that you kept a lot of the same commands/naming/syntax from LetsEncrypt. As someone familiar with LetsEncrypt, makes me feel like I'd slide right in here easily.

I'd like to learn more about the 'Bitcoin anchored root'...is that part of RFC 6962 or something else entirely? Do you mean a 'Bitcoin-like blockchain' or are you using the actual BTC chain? Could you point me in the right direction?

videah•45m ago
It's the actual BTC chain, it's based on https://opentimestamps.org
sscaryterry•12m ago
Is this PAdES B-B only? As far as I know, PAdES B-T requires a QTSP timestamp.
sscaryterry•8m ago
I'd be very careful with this. Looks to me like an invented standard: https://letsseal.org/site/standard

Show HN: FeyNoBg – Automatic background removal model and training library

https://usefeyn.com/blog/feynobg/
50•snyy•3h ago•13 comments

Show HN: Infrawrench – A tool to manage cloud and svcs with workflows and chat

https://infrawrench.com
16•astrid__•3h ago•0 comments

Show HN: Let's Seal – Let's Encrypt for document signing, free and self-hosted

https://github.com/letsseal/letsseal
20•nsokin•4h ago•4 comments

Show HN: Artifacted – private URLs for the small tools your AI builds

https://artifacted.cloud/
2•iamavalex•47m ago•0 comments

Show HN: A 538-style dashboard for upcoming Knesset elections

https://theelectiondashboard.com/
2•AzariaK•1h ago•0 comments

Show HN: Physically accurate black hole you can put in your room

https://blackhole.plav.in
459•aplavin•4d ago•175 comments

Show HN: Choreo – an animation DSL that verifies its own rendered output

https://github.com/JieGouAI/choreo
2•smperng•2h ago•0 comments

Show HN: multiaes – hardware-accelerated, constant-time AES, two-file drop-in

https://github.com/ttarvis/multiaes
5•lemaudit•5h ago•1 comments

Show HN: Running PrismML's Bonsai inside DRAM by breaking DDR4 timing rules

21•pcdeni•4d ago•6 comments

Show HN: Darkslide – A keyboard-centric photo editor

2•roman-volkov•3h ago•1 comments

Show HN: BixRouter – a non-linear AI chat interface for OpenRouter

https://router.bix.computer
2•two-sandwich•3h ago•0 comments

Show HN: Watch 14-Byte AI "brains" attempt to solve a 2D maze (Its hard)

https://con-dog.github.io/MINIMIO-PUBLIC-FRONTEND/
20•purple-leafy•13h ago•7 comments

Show HN: Pure-PHP server outperforms NginX for static files + 10x PHP throughput

https://github.com/Qbix/webserver
4•EGreg•4h ago•0 comments

Show HN: Foglio – macOS Markdown editor: live preview, MIT, 5MB, no vault

https://github.com/fran-mora/foglio
4•fran-mora•4h ago•1 comments

Show HN: 1,250 SwiftUI components, and an MCP that writes them into your app

https://nibware.dev/
5•leonickson•5h ago•4 comments

Show HN: Taetype-WASM – Pure Rust, browser-only font engine in WebAssembly

https://github.com/silly-tae/taetype-wasm
2•silly-tae•5h ago•0 comments

Show HN: I mapped every US golf course

https://golfcoursebrowser.com/
215•rickmf•1d ago•163 comments

Show HN: Reverse Minesweeper

https://sunflowersgame.com/
246•pompomsheep•1d ago•86 comments

Show HN: Pilot Protocol – a network where AI agents find tools and each other

6•teocalin37•5h ago•8 comments

Show HN: Ctxdiff – Git diff for your LLM agent's context window

https://github.com/salmanzafar949/ctxdiff
3•salmanzafar949•6h ago•3 comments

Show HN: Tilde Pay – Give your AI agent a bank account to pay for things

https://my.tildepay.ai/
3•solsol94•6h ago•6 comments

Show HN: Sekey.sh – Manage SSH Keys in Apple Secure Enclave

https://github.com/cavoirom/sekey-sh
2•cavoirom•6h ago•0 comments

Show HN: Watch random code typed out on an MS-DOS IDE

https://hackerman.specr.net/
14•vunderba•16h ago•6 comments

Show HN: CheapSecurity – Lightweight, Self-Hosted CCTV for Linux SBCs

https://github.com/gmrandazzo/CheapSecurity
135•zeldone•1d ago•34 comments

Show HN: Dozenal – A Game of Spatial Arithmetic

https://dozenal.game
13•sarreph•9h ago•8 comments

Show HN: Descript wanted $24/mo, I built an open-source alternative in a weekend

https://github.com/wassgha/rescript
36•wassimgr•13h ago•30 comments

Show HN: Case study: A coding agent refactors a 750k LOC app, no code review

5•bonjourjoel•7h ago•0 comments

Show HN: PumpProof – Scores a hyped stock's dilution risk from its SEC filings

https://pumpproof.com
6•jekjek•8h ago•0 comments

Show HN: Echo – Fable-level results at 1/3 the cost using open-weight models

479•adam_rida•4d ago•223 comments

Show HN: Tool to turn a repo into map

https://codemap.gitbiased.com
5•skyfantom•8h ago•2 comments