elektrine/apps/elektrine_nerve
maxfield 6c3d958f99
All checks were successful
Deploy Docker Images / Build, push, and deploy (push) Successful in 14m4s
fix(security): close audit findings for auth and outbound edges
Fail closed on empty NetBird admin groups, require AP signature freshness
beyond expires-only, ping pinned public IPs, revoke trusted devices on
password/2FA lifecycle events, require Nerve vault password, and encrypt
GitHub connected-account tokens at rest.
2026-08-15 21:32:12 -04:00
..
lib fix(security): close audit findings for auth and outbound edges 2026-08-15 21:32:12 -04:00
test fix(security): close audit findings for auth and outbound edges 2026-08-15 21:32:12 -04:00
.gitignore Initial commit 2026-07-30 01:36:18 -04:00
mix.exs Initial commit 2026-07-30 01:36:18 -04:00
README.md Initial commit 2026-07-30 01:36:18 -04:00

Elektrine Nerve

Standalone umbrella app for Nerve domain logic.

What lives here

  • Elektrine.Nerve context
  • Elektrine.Nerve.NerveEntry schema
  • Domain tests for create/list/retrieve/delete flows
  • Nerve LiveView, external API controller, and route macros under ElektrineNerveWeb.*

Current Integration

  • Uses Elektrine.Repo for persistence.
  • Requires explicit nerve setup with a browser-encrypted verifier payload.
  • Stores browser-encrypted ciphertext envelopes and never decrypts secrets server-side.
  • elektrine_web imports route macros from this app instead of owning the nerve UI/API modules directly.
  • The deploy scripts use the module id nerve.

If This Splits Out Later

  1. Replace Elektrine.Repo references with a configurable repo behaviour.
  2. Move migration ownership into this app/repo package.
  3. Replace direct Elektrine.Accounts.User coupling with a generic owner schema key.
  4. Publish as a library with install and migration docs.

License

AGPL-3.0-only (see ../../LICENSE).