Skip to content

Bring Encryptoglyph up to the GoDesk standing bar - #27

Merged
GoDeskio merged 2 commits into
mainfrom
cursor/standing-bar-console-fddd
Nov 8, 2026
Merged

GoDeskio merged 2 commits into
mainfrom
cursor/standing-bar-console-fddd

Conversation

@GoDeskio

@GoDeskio GoDeskio commented Nov 8, 2026 •

Copy link
Copy Markdown
Owner

What was broken

The repository was a crypto library plus a health-only API. There was no console to use: eg-console pointed at encryptoglyph-console:placeholder, and the running API image did not even load eg_crypto.

  • FF1 was implemented from the NIST spec in this tree, and Shamir sharing was hand-rolled GF(256) arithmetic.
  • v3 key-commitment checks returned before the AEAD open, so a bad commitment failed faster than a bad tag.
  • eg_crypto did not export ReauthGate, so api/tests/test_reauth.py could not import it.
  • OpenBao, Postgres, and restic are compose services only. Nothing in the process called them, and the old copy described them as if the console existed.

What this changes

  • Console at / with a hero, flat neumorphic buttons, glass cards, a dark brass palette, a cursor-following glow, reduced-motion support, and a collapsible nav. Other product names appear only inside feature cards, and those cards link out.
  • /v1 sidecar does real seal, open, rewrap, blind index, key create, fingerprint confirm, and shred. Session keys stay in process memory, are wiped on shred, and are never returned. Responses carry fingerprints.
  • The assistant runs deterministic commands with no model. OLLAMA_BASE_URL may only pick an action id from sanitized text. The chat path rejects secrets and never echoes them. Plaintext goes to the seal form only.
  • FF1 now uses the fpe crate (AES). Shamir now uses blahaj, the fixed fork of sharks (RUSTSEC-2024-0398). Commitment and AEAD checks both run. Known-answer tests cover RFC 5869 HKDF, RFC 4231 HMAC, RFC 9106 Argon2id, the NIST FF1 samples, and the checked-in v3 envelope vector.
  • INTEGRATION.md plus sdk/python/encryptoglyph_client.py and sdk/js/encryptoglyph.js. VERSION is 0.2.0. scripts/encryptoglyph-update.py only accepts this repo's GitHub release tarball and does not execute it. .github/workflows/release.yml checks that a v* tag matches VERSION.
  • Playwright covers the console flows in CI. Compose builds the real image for both eg-api and eg-console. /healthz is still status and build only, and docs, redoc, openapi, and swagger stay unserved.

Streaming backup framing is unchanged: it is the published STREAM construction over RustCrypto XChaCha20-Poly1305, and the existing stream tests still pin that wire format.

Screenshots

Desktop 1440

Mobile 390

Verification

  • cargo test --locked and cargo clippy --locked --all-targets -- -D warnings
  • cargo deny check (advisories, bans, licenses, sources)
  • ruff check api and pytest (61 passed)
  • npx playwright test in e2e (2 passed)
  • Docker is not installed in this environment, so the exposure container was not run here. CI runs compose config and the exposure probe.
Open in Web Open in Cursor 

Replace hand-rolled FF1 and Shamir with reviewed libraries, keep key-commitment checks from returning early, and serve a branded console whose assistant can act without seeing plaintext or keys.

Co-authored-by: Admin <GoDeskio@users.noreply.github.com>
@socket-security

socket-security Bot commented Nov 8, 2026 •

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedcargo/​blahaj@​0.7.010010093100100
Addedcargo/​fpe@​0.6.110010093100100
Addednpm/​@​playwright/​test@​1.56.110010010099100

View full report

sharks 0.5.0 is RUSTSEC-2024-0398. blahaj is the fixed fork and keeps the same share API.

Co-authored-by: Admin <GoDeskio@users.noreply.github.com>
@GoDeskio
GoDeskio merged commit 9a9ac40 into main Nov 8, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants