Skip to content

Secure In-App Secrets Management#8

Open
patrickmenendez29 wants to merge 1 commit intoIntent-Lab:mainfrom
patrickmenendez29:main
Open

Secure In-App Secrets Management#8
patrickmenendez29 wants to merge 1 commit intoIntent-Lab:mainfrom
patrickmenendez29:main

Conversation

@patrickmenendez29
Copy link

This pull request introduces a new Settings screen that enables users to manage application secrets directly within the app. Previously, secrets were hardcoded in the source code and required code modifications and redeployment for updates.

The new implementation removes hardcoded secrets and provides a secure, authenticated interface for adding and editing secrets at runtime.

Changes Introduced

  1. Settings Screen for Secrets Management
    • Added a new Settings screen dedicated to managing application secrets.
    • Users can add, update, and persist secrets without modifying source code.

  2. Removal of Hardcoded Secrets
    • Eliminated hardcoded secrets from the codebase.
    • Updated relevant components to retrieve secrets from persisted storage.

  3. Access Control and Authentication
    • Implemented password protection for the Settings screen.
    • Integrated biometric authentication (Face ID) for supported devices.
    • Enforced authentication prior to granting access to sensitive configuration data.

  4. Persistence Layer
    • Secrets are stored using UserDefaults.
    • Ensured consistent retrieval and update behavior across application sessions.

Security Considerations
• Access to secrets is restricted via password authentication.
• Face ID is supported where available to enhance security and user convenience.
• Secrets are persisted in UserDefaults. While appropriate for the current scope, migration to a more secure storage mechanism (e.g., Keychain) may be considered in future iterations depending on sensitivity requirements.

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