Skip to content

App Platform Prometheus - #131

Draft
d2dyno1 wants to merge 103 commits into
f_vault4from
appPlatform_prometheus
Draft

App Platform Prometheus#131
d2dyno1 wants to merge 103 commits into
f_vault4from
appPlatform_prometheus

Conversation

@d2dyno1

@d2dyno1d2dyno1 commented May 31, 2026

Copy link
Copy Markdown
Member

Tasklist

  • Secure FileDeviceKeyStore
  • Detect App Platform registered configurations and display them in Settings
  • Let the user choose which account to log into App Platform (device/passphrase selection)

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 introduces “App Platform” support as an authentication/credential source for vault creation and unlocking, integrating an OIDC-based sign-in flow and server-brokered vault key retrieval/registration across the SDK, UI, Core routines, and Uno/Maui platform hosts.

Changes:

  • Add App Platform auth UX (creation + login), including a device bootstrap dialog and template selector wiring.
  • Add Core support for App Platform vault creation/unlock routines (DEK+MAC generated server-side flow) and JWE helpers for key wrapping/encryption.
  • Add build-time detection/DI wiring for the App Platform SDK and supporting services (OIDC provider, device key store), plus supporting project/package references.

Reviewed changes

Copilot reviewed 38 out of 38 changed files in this pull request and generated 6 comments.

Show a summary per file
FileDescription
src/Shared/SecureFolderFS.Shared/Models/AppPlatformVaultOptions.csSimplifies App Platform vault options schema.
src/Shared/SecureFolderFS.Shared/ComponentModel/IOidcProvider.csAdds shared abstraction for obtaining OIDC access tokens.
src/Sdk/SecureFolderFS.Sdk/ViewModels/Views/Wizard/CredentialsWizardViewModel.csAdds App Platform-specific vault creation + server registration path.
src/Sdk/SecureFolderFS.Sdk/ViewModels/Views/Overlays/DeviceSetupOverlayViewModel.csAdds overlay VM for device bootstrap passphrase prompt/reset flow.
src/Sdk/SecureFolderFS.Sdk/ViewModels/Controls/LoginViewModel.csRoutes unlock through App Platform routine when the method is used.
src/Sdk/SecureFolderFS.Sdk/ViewModels/Controls/Authentication/IAppPlatformVaultRegistration.csAdds contract for registering newly created vault keys to server.
src/Sdk/SecureFolderFS.Sdk/Services/IVaultManagerService.csAdds App Platform create/unlock APIs to the vault manager interface.
src/Platforms/SecureFolderFS.Uno/Views/Vault/VaultDashboardPage.xaml.csAdjusts navigation lifecycle ordering.
src/Platforms/SecureFolderFS.Uno/UserControls/RegisterControl.xamlAdds App Platform creation template to the register control.
src/Platforms/SecureFolderFS.Uno/UserControls/LoginControl.xamlEnables App Platform login UI (replaces “not supported” warning).
src/Platforms/SecureFolderFS.Uno/TemplateSelectors/RegistrationTemplateSelector.csAdds template selection support for App Platform creation VM.
src/Platforms/SecureFolderFS.Uno/ServiceImplementation/UnoDialogService.csWires new device setup dialog overlay.
src/Platforms/SecureFolderFS.Uno/ServiceImplementation/FileDeviceKeyStore.csAdds (temporary) file-backed device key persistence for desktop.
src/Platforms/SecureFolderFS.Uno/SecureFolderFS.Uno.csprojAdds dialog XAML items and fixes constant definitions aggregation.
src/Platforms/SecureFolderFS.Uno/Platforms/Windows/ServiceImplementation/WindowsVaultCredentialsService.csExposes App Platform auth in creation/login method enumeration.
src/Platforms/SecureFolderFS.Uno/Platforms/Windows/Helpers/WindowsLifecycleHelper.csRegisters OIDC provider and device key store in DI (Windows).
src/Platforms/SecureFolderFS.Uno/Platforms/Desktop/ServiceImplementation/SkiaVaultCredentialsService.csExposes App Platform auth in creation/login method enumeration (Skia).
src/Platforms/SecureFolderFS.Uno/Platforms/Desktop/Helpers/SkiaLifecycleHelper.csRegisters OIDC provider and device key store in DI (Skia).
src/Platforms/SecureFolderFS.Uno/Dialogs/DeviceSetupDialog.xaml.csImplements the App Platform device setup dialog behavior.
src/Platforms/SecureFolderFS.Uno/Dialogs/DeviceSetupDialog.xamlAdds the App Platform device setup dialog UI.
src/Platforms/SecureFolderFS.UI/ViewModels/Authentication/AppPlatformLoginViewModel.csImplements OIDC + device bootstrap + vault key decrypt flow for login.
src/Platforms/SecureFolderFS.UI/ViewModels/Authentication/AppPlatformCreationViewModel.csImplements OIDC auth + vault key registration flow for creation.
src/Platforms/SecureFolderFS.UI/ServiceImplementation/VaultManagerService.csImplements App Platform create/unlock via new routines.
src/Platforms/SecureFolderFS.UI/SecureFolderFS.UI.csprojEnables unsafe blocks and conditionally references App Platform SDK.
src/Platforms/SecureFolderFS.Maui/Platforms/iOS/ServiceImplementation/IOSVaultCredentialsService.csPasses vault folder into App Platform login VM.
src/Platforms/SecureFolderFS.Maui/Platforms/Android/ServiceImplementation/AndroidVaultCredentialsService.csPasses vault folder into App Platform login VM.
src/Platforms/Directory.Packages.propsAdds package versions used by platform projects (incl. jose-jwt).
src/Platforms/Directory.Build.propsAdds App Platform SDK detection and compile-time constant.
src/Core/SecureFolderFS.Core/VaultAccess/VaultParser.csUpdates configuration MAC computation to include App Platform ServerUrl.
src/Core/SecureFolderFS.Core/Routines/Operational/VaultRoutines.csAdds create/unlock routines for App Platform vaults.
src/Core/SecureFolderFS.Core/Routines/Operational/AppPlatformUnlockRoutine.csNew unlock routine accepting DEK‖MAC directly.
src/Core/SecureFolderFS.Core/Routines/Operational/AppPlatformCreationRoutine.csNew creation routine generating DEK+MAC internally (no keystore.cfg).
src/Core/SecureFolderFS.Core/Models/SecurityWrapper.csExposes KeyPair via wrapper for consumers that need raw key access.
src/Core/SecureFolderFS.Core.Cryptography/SecureFolderFS.Core.Cryptography.csprojAdds jose-jwt dependency for JWE helpers.
src/Core/SecureFolderFS.Core.Cryptography/Jwe/JweHelper.csAdds JWE encrypt/decrypt helpers for vault key material.
src/Core/SecureFolderFS.Core.Cryptography/Jwe/EcKeyHelper.csAdds EC P-256 JWK import/export and thumbprint support.
src/Core/SecureFolderFS.Core.Cryptography/Jwe/AccountKeyHelper.csAdds PBES2-based wrapping for account key bootstrap flow.
SecureFolderFS.slnxAdds App Platform SDK project to the solution.

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

Comment threadsrc/Platforms/SecureFolderFS.Uno/Dialogs/DeviceSetupDialog.xaml Outdated
Comment threadsrc/Core/SecureFolderFS.Core/VaultAccess/VaultParser.cs

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 103 out of 105 changed files in this pull request and generated no new comments.

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