Skip to content

E2EE form data (e.g., contact/wait-list) API – works on any static site, uses post-quantum hybrid KEMs (Kyber 768 + X25519) under the hood, streams blobs straight into the cloud, and lets owners decrypt In-Browser.

License

Notifications You must be signed in to change notification settings

collapsinghierarchy/noisybuffer

Repository files navigation

NoisyBuffer — End-to-End Encrypted Forms API

NoisyBuffer is an end-to-end-encrypted (E2EE) form backend for static sites and Jamstack pages. A drop-in <script> seals every field in the browser with post-quantum crypto (Kyber-768 × X25519 → AES-256-GCM) and streams an opaque blob to a lightweight Go API—so neither your server nor any third-party ever sees plaintext. Plug it in where you’d use Formspree or Netlify Forms and stay GDPR-proof and post-quantum ready.

Status: early WIP — API surface will change


✨ Features

Capability Details
True E2EE Form data is encrypted in the browser; the server only stores opaque blobs.
Post‑quantum hybrid Kyber‑768 × X25519 → AES‑256‑GCM. With hpke-js and WebCrypto API
Static‑site friendly Works behind GitHub Pages, Netlify, S3, etc. — just drop the JS snippet.
Owner export Stream /nb/v1/pull → decrypt locally → JSON / CSV.

XWING KEM and browser‑based exporter are on the roadmap.

🚀 Quick Start (dev)

git clone https://github.com/whitenoise/noisybuffer
cd noisybuffer
docker compose up -d            # Postgres + API
open http://localhost:1234      # demo Push/Pull page

🏗️ Embed on any page (Preview of the Functionality)

<script src="URL/nb.js"></script>
<script>NB.init({appId:'bc8c5b3c-b496-4dcc-8551-575978214c44'})</script>

<form data-noisybuffer>
  <input name="email" required>
  <button>Join wait‑list</button>
</form>

The snippet fetches your public key, encrypts fields, and calls /nb/v1/push.


📦 Project layout

cmd/noisybufferd/   main.go + embedded demo UI
handler/            HTTP handlers (push, pull, key)
service/            domain logic (validation, E2EE)
store/postgres/     SQL adapter (implements store.Store)
web/                index.html, app.js test harness

Contributions welcome! Open issues or pull requests to discuss improvements.

About

E2EE form data (e.g., contact/wait-list) API – works on any static site, uses post-quantum hybrid KEMs (Kyber 768 + X25519) under the hood, streams blobs straight into the cloud, and lets owners decrypt In-Browser.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy