Skip to content

Rename to SecretSpace (3.0.0-alpha.2) - #19

Merged
usermaneGermane merged 2 commits into
mainfrom
rebrand-secretspace
Nov 9, 2026
Merged

usermaneGermane merged 2 commits into
mainfrom
rebrand-secretspace

Conversation

@usermaneGermane

Copy link
Copy Markdown
Owner

What

PassMan → SecretSpace (owner, 2026-11-09: another password manager already uses the name PassMan). Version 3.0.0-alpha.2.

Every name a user sees is now SecretSpace: window title, logo text, Settings footer, dialogs, the Emergency Kit file, the installer (SecretSpace-Client-Installer.exe), the program (SecretSpace.exe), the Start Menu entry, the builder and the README. The logo image is unchanged (owner: keep it); only its file names changed.

Deliberately not renamed

These are what stored data, installs and the live server depend on:

Kept Why
b"PassMan3 …" context strings (account_crypto.py), DPAPI context (secret_store.py) keys are derived from them; changing them locks every account out
PMV2 / PMV3 / PMK3 magics, A3- Secret Key prefix file formats
Inno AppId an upgrade finds the installed copy through it
X-PassMan-* sync headers the 1.x servers (including prod) read them
PASSMAN_DATA_DIR, the test copy of the server internal; the server copy follows the server repos
"PassMan 2.x" in the import dialog what those vaults were called

Upgrading from PassMan

  • Data folder: %APPDATA%\SecretSpace, unless only %APPDATA%\PassMan exists; then that one is used. Nothing is moved or renamed. The Python code (vault.appdata_home) and the installer (DataHome) make the same choice.
  • Installer: same AppId. [InstallDelete] removes PassMan.exe and the old PassMan Start Menu/desktop shortcuts, so an upgrade leaves nothing stale. It keeps the install folder it had.
  • README: a "Formerly PassMan" note explains the old names in releases ≤ 2.11.0 / 3.0.0-alpha.1.

Checks

  • pytest: 503 passed, 2 skipped. 3 new tests:

    • an old PassMan folder is kept, and no empty SecretSpace folder appears;
    • the new folder wins once it exists;
    • a new install uses the new name.

    A mutant without the fallback fails the first test.

  • Test build OK: SecretSpace-Client-Installer.exe 3.0.0-alpha.2, exe ProductName "SecretSpace". The build runs in the lab (Client3) and keeps its existing accounts.

  • Not installed: the installer shares the AppId with the owner's installed prod copy, so running it would upgrade prod.

After merge: tag v3.0.0-alpha.2 and publish a pre-release. Latest stays 2.11.0 (named PassMan) until a SecretSpace 2.x or 3.0 release.

🤖 Generated with Claude Code

https://claude.ai/code/session_011ojnyVg7ccsR3pZ64s7aRH

usermaneGermane and others added 2 commits November 9, 2026 22:23
Owner decision 2026-11-09: another password manager is already called
PassMan. Every name a user sees is now SecretSpace: window title, logo
text, Settings footer, dialogs, Emergency Kit file, installer, program,
Start Menu entry, builder, README. Logo files renamed, the image unchanged.

Deliberately NOT renamed, because stored data, installs and the live sync
server depend on them:
- the key-derivation and fingerprint context strings b"PassMan3 ..." in
  account_crypto.py, and the DPAPI context in secret_store.py (changing
  them would lock every existing account out);
- PMV2/PMV3/PMK3 file magics and the A3- Secret Key prefix;
- the Inno AppId, so an upgrade still finds the installed copy;
- the X-PassMan-* sync headers (the 1.x servers read them);
- the PASSMAN_DATA_DIR variable and the test copy of the server;
- "PassMan 2.x" in the import dialog: that is what those vaults were.

Data folder: vault.appdata_home and the installer's DataHome choose
%APPDATA%\SecretSpace, unless only %APPDATA%\PassMan exists - then that
one. Nothing is moved or renamed, so an upgraded install finds its vaults
where they are. Tests: old folder kept (and no empty SecretSpace folder
made), new folder wins once it exists, new install uses the new name; a
mutant without the fallback fails the first one.

Installer: same AppId; InstallDelete removes PassMan.exe and the PassMan
Start Menu/desktop shortcuts, so an upgrade leaves no stale entries. The
portable-vault move page still says PassMan.exe (2.2-era files). The
builder also clears the old PassMan output names.

pytest 503 passed, 2 skipped. Test build: SecretSpace-Client-Installer.exe
3.0.0-alpha.2, exe ProductName SecretSpace; the build runs in the lab
(Client3) with its existing accounts. Not installed: the installer shares
the AppId with the installed prod copy.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011ojnyVg7ccsR3pZ64s7aRH
passman_server.py is again an unchanged copy of the servers' file
(SecretSpace-Server-* #8: two display strings). The note names the renamed
repositories.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011ojnyVg7ccsR3pZ64s7aRH
@usermaneGermane
usermaneGermane merged commit 0b07094 into main Nov 9, 2026
2 checks passed
@usermaneGermane
usermaneGermane deleted the rebrand-secretspace branch November 9, 2026 20:50
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