Skip to content

Implemented Vault V4 - #106

Draft
d2dyno1 wants to merge 31 commits into
masterfrom
f_vault4
Draft

Implemented Vault V4#106
d2dyno1 wants to merge 31 commits into
masterfrom
f_vault4

Conversation

@d2dyno1

@d2dyno1d2dyno1 commented Mar 22, 2026

Copy link
Copy Markdown
Member

Tasklist

  • Bootstrap Key + Software Entropy to protect against Quantum
  • Second-stage credential complementation (depends on Enable credential complementation #124)
  • File name shortening (depends on Implemented file name shortening #129)
  • Switch to Secomba Base4K
  • FormC normalize Base4K names
  • Detect corrupted normalization for Base4K names in vault health
  • Detect App Platform, and mark as unsupported for now to avoid vault version bumps when it's ready
  • V3 to V4 migrators

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the vault format implementation to “Vault V4”, including switching core routines/validators to V4 configuration + keystore models and extending credential-modification flows to optionally use both old and new passkeys (to preserve entropy when available).

Changes:

  • Switched core create/unlock/recover/modify-credentials routines to V4 keystore/config models and V4 MAC/keystore derivation paths.
  • Extended credential modification API/service pipeline to support “old + new passkey” rotation.
  • Bumped LATEST_VERSION to V4 and updated version/config validator logic accordingly.

Reviewed changes

Copilot reviewed 18 out of 18 changed files in this pull request and generated 4 comments.

Show a summary per file
FileDescription
src/Sdk/SecureFolderFS.Sdk/ViewModels/Views/Overlays/CredentialsOverlayViewModel.csSplits login vs register key sequences; wires OldPasskey into selection/confirmation flows.
src/Sdk/SecureFolderFS.Sdk/ViewModels/Views/Credentials/CredentialsSelectionViewModel.csThreads OldPasskey through to confirmation view model.
src/Sdk/SecureFolderFS.Sdk/ViewModels/Views/Credentials/CredentialsConfirmationViewModel.csUses old+new passkey rotation when OldPasskey is provided; adjusts removal flow.
src/Sdk/SecureFolderFS.Sdk/Services/IVaultManagerService.csAdds overload to modify authentication using both old and new passkeys.
src/Platforms/SecureFolderFS.UI/ServiceImplementation/VaultManagerService.csImplements the new ModifyAuthenticationAsync overload and forwards to ModifyCredentials routine.
src/Core/SecureFolderFS.Core/VaultAccess/VaultParser.csUpdates/clarifies V4 entropy-preserving rotation documentation.
src/Core/SecureFolderFS.Core/Validators/VersionValidator.csTreats V3 as unsupported when V4 is latest.
src/Core/SecureFolderFS.Core/Validators/ConfigurationValidator.csConverts validator to V4 config-only MAC verification.
src/Core/SecureFolderFS.Core/Routines/Operational/UnlockRoutine.csRemoves V3/V4 branching; unlock now reads/derives V4 only.
src/Core/SecureFolderFS.Core/Routines/Operational/RecoverRoutine.csRemoves V3/V4 branching; recover now reads/validates V4 only.
src/Core/SecureFolderFS.Core/Routines/Operational/ModifyCredentialsRoutine.csImplements V4-only credential rotation, including preserve-entropy rotation when old passkey is available.
src/Core/SecureFolderFS.Core/Routines/Operational/CreationRoutine.csCreates V4 keystore/config only.
src/Core/SecureFolderFS.Core/Routines/IModifyCredentialsRoutine.csAdds old+new passkey SetCredentials overload to routine interface.
src/Core/SecureFolderFS.Core/Models/SecurityWrapper.csSwitches wrapper to hold V4 configuration data model.
src/Core/SecureFolderFS.Core/DataModels/VaultConfigurationDataModel.csMinor property initialization change (recycle bin size).
src/Core/SecureFolderFS.Core/DataModels/V4VaultKeystoreDataModel.csExpands documentation around SoftwareEntropy lifecycle.
src/Core/SecureFolderFS.Core/DataModels/V4VaultConfigurationDataModel.csAdds/expands XML docs; removes conversion to legacy config model.
src/Core/SecureFolderFS.Core/Constants.csBumps LATEST_VERSION from V3 to V4.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment threadsrc/Core/SecureFolderFS.Core/Validators/VersionValidator.cs
Comment threadsrc/Core/SecureFolderFS.Core/Constants.cs
@d2dyno1
d2dyno1 marked this pull request as ready for review May 20, 2026 10:14
@d2dyno1d2dyno1 added approved The pull request has been reviewed and approved and removed approved The pull request has been reviewed and approved labels May 20, 2026
@d2dyno1
d2dyno1 marked this pull request as draft May 20, 2026 10:15

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 121 out of 121 changed files in this pull request and generated 12 comments.

Comment threadsrc/Core/SecureFolderFS.Core/VaultAccess/VaultParser.cs
Sign up for freeto 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.

2 participants

@d2dyno1