Selfhosted, security-focused paste store. (Public instance security modifications) https://bin.capyboyars.ru/
  • Python 79.1%
  • Nix 14.5%
  • HTML 3.5%
  • CSS 2%
  • Dockerfile 0.9%
Find a file
2026-08-09 00:47:15 +03:00
.forgejo/workflows feat: add arm64 to docker build targets 2026-08-03 18:07:36 +03:00
.zed boilerplate 2026-07-31 17:45:33 +03:00
docs fix+feat: forbid empty pastes and add an option to filter crawler noise 2026-08-09 00:47:15 +03:00
src/chancery fix+feat: forbid empty pastes and add an option to filter crawler noise 2026-08-09 00:47:15 +03:00
tests fix+feat: forbid empty pastes and add an option to filter crawler noise 2026-08-09 00:47:15 +03:00
.dockerignore feat: Dockerfile 2026-08-02 18:20:32 +03:00
.envrc boilerplate 2026-07-31 17:45:33 +03:00
.gitignore Pretty much wrote the whole project overnight and forgot to commit T~T 2026-08-01 16:44:01 +03:00
Dockerfile feat: Dockerfile 2026-08-02 18:20:32 +03:00
flake.lock boilerplate 2026-07-31 17:45:33 +03:00
flake.nix fix+feat: forbid empty pastes and add an option to filter crawler noise 2026-08-09 00:47:15 +03:00
LICENSE boilerplate 2026-07-31 17:45:33 +03:00
pyproject.toml feat: switch from sqlcipher3-binary to sqlcipher3 2026-08-03 18:03:34 +03:00
README.md fix: fix grammar errors in texts 2026-08-05 21:06:11 +03:00
uv.lock feat: switch from sqlcipher3-binary to sqlcipher3 2026-08-03 18:03:34 +03:00

Chancery

Selfhosted, security-focused paste store. The project sacrifices some UX in favor of simplicity and security.
Example: there is no admin web panel and no frontend JS. Everything is server-rendered.

Built on FastAPI, Typer, Jinja2 and sqlcipher3. Built with uv, ruff and ty.

Security features:

  • Mandatory DB encryption
  • Password-protected pastes (Content encrypted with XSalsa20-Poly1305 under a key derived via Argon2id)
  • One-time-read pastes (like 1ty.me)
  • TTL (pastes can be set to be deleted automatically after N seconds)
  • Configurably long cryptographically secure random IDs for pastes

Quickstart

Docker

See Running with Docker

NixOS

See NixOS options

Proxy

See Running behind a reverse proxy

Development | Building from source

With nix:

git clone https://codeberg.org/vladzodchey/chancery.git chancery && cd chancery
nix develop
chancery

Without nix:

git clone https://codeberg.org/vladzodchey/chancery.git chancery && cd chancery
uv venv && uv sync
chancery

AI

I used LLMs to help scout dependency documentation and usage examples. Chancery's code is hand-written and held up to the security standards I'm aware of. Non-slop PRs welcome.

Versions 0.2.0 and down

As about three or so people can know, this is not the first attempt at making Chancery. Not even the second. But the previous attempts were so unsuccessful I decided to do a full rewrite with a new repo.