{"id":29640640,"url":"https://github.com/collapsinghierarchy/noisybuffer","last_synced_at":"2025-07-21T21:04:13.991Z","repository":{"id":304323116,"uuid":"1018161973","full_name":"collapsinghierarchy/noisybuffer","owner":"collapsinghierarchy","description":"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.","archived":false,"fork":false,"pushed_at":"2025-07-12T10:03:03.000Z","size":39,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-12T11:49:36.397Z","etag":null,"topics":["contact-form","e2ee","forms","quantum-safe","waitlist"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/collapsinghierarchy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-11T18:00:48.000Z","updated_at":"2025-07-12T10:44:39.000Z","dependencies_parsed_at":"2025-07-12T11:49:45.111Z","dependency_job_id":"56bb38d1-7402-4577-b653-f4d8ea8304c9","html_url":"https://github.com/collapsinghierarchy/noisybuffer","commit_stats":null,"previous_names":["collapsinghierarchy/noisybuffer"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/collapsinghierarchy/noisybuffer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/collapsinghierarchy%2Fnoisybuffer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/collapsinghierarchy%2Fnoisybuffer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/collapsinghierarchy%2Fnoisybuffer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/collapsinghierarchy%2Fnoisybuffer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/collapsinghierarchy","download_url":"https://codeload.github.com/collapsinghierarchy/noisybuffer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/collapsinghierarchy%2Fnoisybuffer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266379213,"owners_count":23920157,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-21T11:47:31.412Z","response_time":64,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["contact-form","e2ee","forms","quantum-safe","waitlist"],"created_at":"2025-07-21T21:03:20.320Z","updated_at":"2025-07-21T21:04:13.977Z","avatar_url":"https://github.com/collapsinghierarchy.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NoisyBuffer — End-to-End Encrypted Forms API\n\nNoisyBuffer is an end-to-end-encrypted (E2EE) form backend for static sites and Jamstack pages.\nA drop-in `\u003cscript\u003e` 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.\n\n\u003e **Status:** early WIP — API surface will change\n\n---\n\n## ✨ Features\n| Capability | Details |\n|------------|---------|\n| **True E2EE** | Form data is encrypted *in the browser*; the server only stores opaque blobs. |\n| **Post‑quantum hybrid** | Kyber‑768 × X25519 → AES‑256‑GCM. With [hpke-js](https://github.com/dajiaji/hpke-js) and [WebCrypto API](https://developer.mozilla.org/en-US/docs/Web/API/Crypto) |\n| **Static‑site friendly** | Works behind GitHub Pages, Netlify, S3, etc. — just drop the JS snippet. |\n| **Owner export** | Stream `/nb/v1/pull` → decrypt locally → JSON / CSV. |\n\n*XWING KEM and browser‑based exporter are on the roadmap.*\n---\n\n## 🚀 Quick Start (dev)\n\n```bash\ngit clone https://github.com/whitenoise/noisybuffer\ncd noisybuffer\ndocker compose up -d            # Postgres + API\nopen http://localhost:1234      # demo Push/Pull page\n```\n\n---\n\n## 🏗️ Embed on any page (Preview of the Functionality)\n\n```html\n\u003cscript src=\"URL/nb.js\"\u003e\u003c/script\u003e\n\u003cscript\u003eNB.init({appId:'bc8c5b3c-b496-4dcc-8551-575978214c44'})\u003c/script\u003e\n\n\u003cform data-noisybuffer\u003e\n  \u003cinput name=\"email\" required\u003e\n  \u003cbutton\u003eJoin wait‑list\u003c/button\u003e\n\u003c/form\u003e\n```\n\nThe snippet fetches your public key, encrypts fields, and calls `/nb/v1/push`.\n\n---\n\n## 📦 Project layout\n\n```\ncmd/noisybufferd/   main.go + embedded demo UI\nhandler/            HTTP handlers (push, pull, key)\nservice/            domain logic (validation, E2EE)\nstore/postgres/     SQL adapter (implements store.Store)\nweb/                index.html, app.js test harness\n```\n\n\u003e Contributions welcome!  Open issues or pull requests to discuss improvements.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcollapsinghierarchy%2Fnoisybuffer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcollapsinghierarchy%2Fnoisybuffer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcollapsinghierarchy%2Fnoisybuffer/lists"}