📈 GH Trending Explorer 🎲 Surprise me

← all repos

Continuum-AI-Corp / scuttle

git clone https://github.com/Continuum-AI-Corp/scuttle.git

Tiny post-quantum encryption for sensitive data. Write-only by design. ML-KEM-768 + X25519 + AES-256-GCM. Please break it.

—
stars, 24h
—
stars, 7 days
+525
stars, 30 days · #531
525
★ total
2
forks · 4 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageGo
LicenseApache-2.0
Created2026-09-23 (27d ago)
Last push5d ago
Watchers0
OwnerOrganization

GitHub topics

Links

README excerpt
# scuttle
 [code] 
 English ·
 简体中文 ·
 日本語 ·
 한국어 ·
 Deutsch ·
 Français ·
 Español 
`scuttle` is an open-source encryption layer for sensitive application logs.
It is designed for systems where request and response payloads need to be
temporarily observable, but copies may survive for years in databases,
replicas, snapshots and backups.
The normal application fleet receives **only a public capture key**. It can
encrypt new logs, but cannot use that key to decrypt historical ones.
Long-lived key material is protected with a **hybrid post-quantum construction
using ML-KEM-768 + X25519**, while payloads are encrypted using
**AES-256-GCM** with independently derived field keys.
> **scuttle is the hybrid post-quantum encryption layer for sensitive log
> payloads at OrcaRouter.**
>
> The open-source library is published so the construction can be inspected,
> fuzzed, attacked and improved in public.
---
## Break it.
**We want people to attack this.**
Cryptography gets stronger when its assumptions are explicit and people are
incentivized to find where they fail.
`ATTACK.md` lists the security properties we believe the system
provides, ordered by how expensive it would be for us to be wrong, together
with fuzz targets aimed at those assumptions.
Found something?
→ Read `SECURITY.md` 
→ Reproduce it 
→ Break an invariant 
→ Tell us what we got wrong
## Status
> **v0 — not independently audited.**
>
> The wire format is not stable. Do not use this yet for data you cannot
> afford to lose or make permanently unreadable.
---
# Why “scuttle”?
To **scuttle** a ship is to deliberately make it unusable before an adversary
can capture it.
Scuttle applies the same idea to sensitive data.
 [code] 
---
# The problem
AI infrastructure produces unusually sensitive logs.
A single request can contain:
- prompts
- model responses
- source code
- API output
- retrieved documents
- PII
- credentials accidentally included in context
- agent tool calls
- proprietary company data
A normal logging architecture eventually looks like this:
 [code] 
Deleting a row after 30 days does not necessarily delete yesterday's backup,
an oplog entry, a lagging replica or an old snapshot.
Encryption only at the storage layer also means that whoever obtains the
database's normal decryption path may obtain the plaintext.
`scuttle` moves encryption **before storage**.
---
# The architecture
 [code] 
The important boundary is:
 [code] 
A database credential is therefore not intended to be a historical
prompt-decryption credential.
---
# The cryptographic construction
scuttle does **not** replace every primitive with a post-quantum primitive.
It puts post-quantum cryptography where the long-term quantum threat actually
matters.
 [code] 
## Why AES-256?
Payload encryption uses **AES-256-GCM**.
A future cryptographically relevant quantum computer would change the security
analysis of symmetric cryptography differently from public-key cryptography.
Grover's algorithm gives a generic quadratic sea