Skip to content

[agent] feat: securely log in on another machine - #91

Merged
alexng353 merged 1 commit into
mainfrom
feat/auth-pairing
Sep 25, 2026
Merged

alexng353 merged 1 commit into
mainfrom
feat/auth-pairing

Conversation

@alexng353

Copy link
Copy Markdown
Member

[agent] Add envx auth link / envx auth login <link> to transfer an existing identity between machines after explicit recipient verification.

  • Use Noise XX and the complete handshake hash; the link carries only the server and session ID. Relay storage never receives plaintext identity material or a decryption secret. The existing OpenPGP passphrase is entered locally on the receiving machine.
  • Preserve existing identities, validate the key and server authentication before installation, and recover interrupted settings publication without overwriting different files. Retain existing auth/gen/upload/export spellings alongside auth subcommands.
  • Verified against the new API with disposable real PTYs: existing project decryption, rejected verification/passphrases, cancellation, identity preservation and captured wire confidentiality. Unit tests, formatter and all-target Clippy pass. Cross-platform CI remains a landing gate.

Requires the corresponding API pairing deployment before use. Intended minor release: 2.16.0. Project invitations are unchanged.

Co-Authored-By: GPT-6 (OpenAI) noreply@openai.com

Add auth link/login with Noise XX, explicit recipient verification, protected identity transfer, bounded cancellation and atomic identity installation. Group existing identity commands under auth while retaining legacy spellings.

BEGIN_NESTED_COMMIT
feat: pair an existing identity with another machine
END_NESTED_COMMIT

Co-Authored-By: GPT-6 (OpenAI) <noreply@openai.com>
@alexng353
alexng353 merged commit 2aac846 into main Sep 25, 2026
5 checks passed
@alexng353
alexng353 deleted the feat/auth-pairing branch September 25, 2026 09:40
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.

1 participant