{"id":50047112,"url":"https://github.com/davidalmeidac/sealed-env-studio","last_synced_at":"2026-05-21T06:38:40.942Z","repository":{"id":356611941,"uuid":"1233315500","full_name":"davidalmeidac/sealed-env-studio","owner":"davidalmeidac","description":"Desktop GUI for sealed-env. Pre-alpha — design and vision only. Looking for collaborators.","archived":false,"fork":false,"pushed_at":"2026-05-08T20:40:23.000Z","size":105,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-08T22:37:14.378Z","etag":null,"topics":["desktop-app","gui","looking-for-collaborators","open-source","pre-alpha","sealed-env","secrets-management","tauri"],"latest_commit_sha":null,"homepage":"https://github.com/davidalmeidac/sealed-env","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/davidalmeidac.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-08T20:34:19.000Z","updated_at":"2026-05-08T20:40:26.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/davidalmeidac/sealed-env-studio","commit_stats":null,"previous_names":["davidalmeidac/sealed-env-studio"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/davidalmeidac/sealed-env-studio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidalmeidac%2Fsealed-env-studio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidalmeidac%2Fsealed-env-studio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidalmeidac%2Fsealed-env-studio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidalmeidac%2Fsealed-env-studio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/davidalmeidac","download_url":"https://codeload.github.com/davidalmeidac/sealed-env-studio/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidalmeidac%2Fsealed-env-studio/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33291047,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-21T02:57:32.698Z","status":"ssl_error","status_checked_at":"2026-05-21T02:57:31.990Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["desktop-app","gui","looking-for-collaborators","open-source","pre-alpha","sealed-env","secrets-management","tauri"],"created_at":"2026-05-21T06:38:40.220Z","updated_at":"2026-05-21T06:38:40.930Z","avatar_url":"https://github.com/davidalmeidac.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# sealed-env Studio\n\n**A desktop GUI for [`sealed-env`](https://github.com/davidalmeidac/sealed-env)**\n**— for the people who don't live in the terminal.**\n\n[![status](https://img.shields.io/badge/status-pre--alpha-c4471f?style=flat-square\u0026labelColor=1a1612)](#status)\n[![main project](https://img.shields.io/badge/main_project-sealed--env-1a1612?style=flat-square\u0026labelColor=c4471f)](https://github.com/davidalmeidac/sealed-env)\n[![License](https://img.shields.io/badge/license-MIT-1a1612?style=flat-square\u0026labelColor=c4471f)](LICENSE)\n\n[Vision](#vision) · [Roadmap](ROADMAP.md) · [Wireframes](docs/design/wireframes.md) · [Visual preview](docs/design/preview/) · [Contribute](CONTRIBUTING.md) · [sealed-env (CLI)](https://github.com/davidalmeidac/sealed-env)\n\n\u003cbr/\u003e\n\n![sealed-env Studio · variable viewer mockup](docs/design/preview/screenshot.png)\n\n\u003csub\u003e↑ design preview · open \u003ca href=\"docs/design/preview/index.html\"\u003edocs/design/preview/index.html\u003c/a\u003e in a browser for the interactive version\u003c/sub\u003e\n\n\u003c/div\u003e\n\n---\n\n\u003e ⚠️ **This repo is in pre-alpha.** Phase 1 (read-only viewer) is\n\u003e under active development. The CLI library at\n\u003e [github.com/davidalmeidac/sealed-env](https://github.com/davidalmeidac/sealed-env)\n\u003e is fully shipped and stable at v0.1.0 — Studio is the companion GUI\n\u003e arriving in 0.2.0+ timeframe.\n\n---\n\n## Vision\n\n`sealed-env` is a fast, opinionated CLI for encrypted `.env` files.\nIt works beautifully in a terminal — but a meaningful chunk of the\npeople who NEED encrypted secrets aren't terminal-first:\n\n- Backend devs who set up environments for their teammates\n- DevOps folks rotating credentials across staging and prod\n- Solo founders who deploy with a click and don't want to memorise\n  `sealed-env edit .env.sealed`\n- New hires getting their `.env.local` set up on day one\n- Auditors and managers reviewing what changed without revealing\n  values\n\n**Studio is a desktop app that wraps the CLI behind a clean visual\ninterface.** Same security model, same file format, same\ncross-stack guarantees — just discoverable through clicks instead\nof memorised flags.\n\n```\n       sealed-env CLI                sealed-env Studio\n       ───────────────                ─────────────────\n\n   $ sealed-env edit              ┌──────────────────┐\n   ↓                              │  📁 my-app       │\n   (opens $EDITOR)                │   .env.sealed    │\n   ↓                              │   ┌────────────┐ │\n   plaintext in tmpfs             │   │ STRIPE_KEY │ │\n   ↓                              │   │  sk_live_… │ │\n   re-seals on save               │   │ [Edit]     │ │\n                                  │   └────────────┘ │\n                                  └──────────────────┘\n```\n\n## What it'll do (planned)\n\n| Feature | CLI today | Studio (planned) |\n|---|---|---|\n| **View variables** | `sealed-env get FILE KEY` (one at a time) | Searchable table view |\n| **Edit values** | `sealed-env edit` opens $EDITOR | Inline form, auto re-seal on save |\n| **Diff envs** | `sealed-env diff a.sealed b.sealed` | Side-by-side coloured diff |\n| **TOTP enrollment** | QR in terminal (often misrendered) | Crisp QR in window, scannable |\n| **Onboarding new dev** | \"Run these 6 commands\" | \"Drag your master key here\" |\n| **Health check** | `sealed-env doctor` (CLI 0.1.x) | Live status indicators |\n| **Compare prod vs staging** | Manual two-file diff | Persistent multi-env workspace |\n| **History** | `git log .env.sealed` (no values) | Visual timeline of changes |\n\nSee [docs/design/wireframes.md](docs/design/wireframes.md) for ASCII\nmockups of each screen.\n\n## Who this is for\n\n```\n✓ Backend devs juggling staging/prod secrets\n✓ DevOps engineers rotating credentials\n✓ Solo founders who want a tool, not a learning curve\n✓ Teams onboarding new people frequently\n✓ Anyone who finds `sealed-env edit` clunky on Windows\n\n✗ Power users — the CLI is faster for you\n✗ CI/CD pipelines — use the CLI directly\n✗ Anyone who doesn't already use `sealed-env`\n```\n\n## Stack (current direction)\n\n```\n┌─────────────────────────────────────────────┐\n│  Frontend:  React + TypeScript + Vite       │\n│  Backend:   Tauri (Rust)                    │\n│  Crypto:    sealed-env-core (Rust port,     │\n│             reuses Java's Argon2id binding  │\n│             via system libargon2)           │\n│  Bundle:    ~5-8 MB cross-platform          │\n│  Memory:    ~50 MB                          │\n└─────────────────────────────────────────────┘\n```\n\nWhy Tauri instead of Electron:\n\n| | Tauri | Electron |\n|---|---|---|\n| Bundle size | 5-8 MB | 100-150 MB |\n| Memory | ~50 MB | ~250 MB |\n| Security model | Strict by default | Permissive |\n| Brand fit (security tool) | ✅ Rust narrative | ⚠️ \"Chromium app\" |\n\nWhy React over Svelte: we need a strong ecosystem for accessible\nform components, and React has the deepest catalogue. We may\nrevisit this in design phase.\n\n## Status\n\n```\n■■■■■■■■■■  Phase 0: design + vision           ✓ done\n■■■□□□□□□□  Phase 1: read-only viewer          ← in progress\n□□□□□□□□□□  Phase 2: editor + init wizard\n□□□□□□□□□□  Phase 3: visual diff\n□□□□□□□□□□  Phase 4: TOTP enrollment\n□□□□□□□□□□  Phase 5: doctor integration\n□□□□□□□□□□  Phase 6: polish + signed binaries\n```\n\nSee [ROADMAP.md](ROADMAP.md) for the detailed plan.\n\n## Getting started (development)\n\n```bash\n# Prerequisites: Node 20+, Rust toolchain, Tauri CLI\ncd app\nnpm install\nnpm run tauri dev   # starts the app in dev mode\n```\n\nType-check only (no build):\n\n```bash\ncd app \u0026\u0026 npx tsc --noEmit\n```\n\n## How to help\n\nPhase 1 is active — the most useful contributions right now:\n\n### If you're a Tauri / Rust dev\n\n- The crypto backend (Rust port of SEALED-ENV-V1) is the critical path — see [SPEC.md in the main repo](https://github.com/davidalmeidac/sealed-env/blob/main/SPEC.md)\n- Cross-stack test vectors live at [`sealed-env/test-vectors/v1/`](https://github.com/davidalmeidac/sealed-env/tree/main/test-vectors/v1) — the Rust implementation must pass all three\n\n### If you're a React / TypeScript dev\n\n- Phase 2 components (WelcomeScreen, InitWizard, SettingsModal) are next — open an issue to coordinate\n- The design tokens and brand guidelines are in `app/src/styles/brand.css`\n\n### If you use `sealed-env` already\n\n- Open an issue describing what's painful about the CLI UX — Studio prioritizes by real friction\n- Vote on existing issues\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## Relationship to sealed-env\n\n```\n   sealed-env (this org)\n   ├── sealed-env             — CLI + Node lib + Java lib + Spring starter\n   │                            (stable, v0.1.0, on npm + Maven Central)\n   └── sealed-env-studio      — Desktop GUI built on top of sealed-env\n                                (pre-alpha, this repo)\n```\n\nStudio **does not** invent a second crypto stack. It wraps the\nexisting tested implementation. Files written by Studio are\nindistinguishable from files written by the CLI — same wire format\n(`SEALED-ENV-V1`), same modes, same thread model.\n\n## License\n\nMIT — same as the main project.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\u003csub\u003e\nBuilding openly from Bucaramanga, Colombia 🇨🇴 ·\nBy \u003ca href=\"https://github.com/davidalmeidac\"\u003e@davidalmeidac\u003c/a\u003e\n\u003c/sub\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidalmeidac%2Fsealed-env-studio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavidalmeidac%2Fsealed-env-studio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidalmeidac%2Fsealed-env-studio/lists"}