Elixir SDK for Pocketenv
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Release 0.1.5 with secrets and key management

Add secrets, SSH, and Tailscale auth key APIs and Sandbox helpers.
Use libsodium sealed boxes for client-side encryption of private and
auth keys. Store redacted values alongside encrypted secrets and bundle
default server public key for production API

+13 -1
+12
CHANGELOG.md
··· 5 5 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), 6 6 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 7 7 8 + ## [0.1.5] - 2026-04-02 9 + 10 + ### Added 11 + - Secrets management: `Pocketenv.list_secrets/2`, `add_secret/4`, `delete_secret/2` and pipe-friendly `Sandbox.list_secrets/2`, `set_secret/4`, `delete_secret/3` 12 + - SSH key management: `Pocketenv.get_ssh_keys/2`, `put_ssh_keys/4` and `Sandbox.get_ssh_keys/2`, `set_ssh_keys/4` 13 + - Tailscale auth key management: `Pocketenv.get_tailscale_auth_key/2`, `put_tailscale_auth_key/3` and `Sandbox.get_tailscale_auth_key/2`, `set_tailscale_auth_key/3` 14 + - `Sandbox.Types.Secret`, `Sandbox.Types.SshKey`, `Sandbox.Types.TailscaleAuthKey` structs 15 + - Client-side encryption via libsodium sealed boxes (`crypto_box_seal`) using the `kcl` dependency; private keys and auth keys are encrypted with the server's public key before transmission 16 + - Redacted values stored alongside encrypted secrets (SSH private key body masked, Tailscale key middle masked) 17 + - Default server public key bundled so no configuration is required for the production API 18 + 8 19 ## [0.1.4] - 2026-04-02 9 20 10 21 ### Changed ··· 33 44 - MIT License 34 45 - Package description in `mix.exs` 35 46 47 + [0.1.5]: https://github.com/pocketenv-io/pocketenv-elixir/compare/v0.1.4...v0.1.5 36 48 [0.1.4]: https://github.com/pocketenv-io/pocketenv-elixir/compare/v0.1.3...v0.1.4 37 49 [0.1.3]: https://github.com/pocketenv-io/pocketenv-elixir/compare/v0.1.2...v0.1.3 38 50 [0.1.2]: https://github.com/pocketenv-io/pocketenv-elixir/compare/v0.1.1...v0.1.2
+1 -1
mix.exs
··· 4 4 def project do 5 5 [ 6 6 app: :pocketenv_ex, 7 - version: "0.1.4", 7 + version: "0.1.5", 8 8 elixir: "~> 1.15", 9 9 start_permanent: Mix.env() == :prod, 10 10 deps: deps(),