Skip to content

feat(security): implement issues #276 #277 #278 #279 - #350

Open
villadel wants to merge 1 commit into
ethos-protocol:mainfrom
villadel:feature/security-hardening-276-277-278-279
Open

feat(security): implement issues #276 #277 #278 #279#350
villadel wants to merge 1 commit into
ethos-protocol:mainfrom
villadel:feature/security-hardening-276-277-278-279

Conversation

@villadel

Copy link
Copy Markdown

#276 - Add automatic session lock after configurable inactivity timeout

  • iOS: SessionLockService with scenePhase lifecycle hooks
  • Android: SessionLockManager + AppLifecycleObserver via ProcessLifecycleOwner

#277 - Prevent sensitive data in app switcher / recent apps preview

  • iOS: PrivacyOverlayModifier hides content on background/inactive scenePhase
  • Android: FLAG_SECURE set in MainActivity.onCreate
  • Docs: manual QA checklist updated

#278 - Anti-tampering APK signature verification

#279 - Redact bearer tokens and nonces from debug/crash logs

  • iOS: LogRedactor utility + applied to DecodingFailureLogger and APIClient
  • Android: LogRedactor object + applied to API logging call sites
  • Tests added on both platforms

Updated .gitignore: added test snapshots, IDE files, build artifacts, secrets

Summary

Changes

Testing

Parity checklist

This project maintains a feature-parity table in PARITY.md that
tracks which features are implemented on iOS vs Android. Please answer the
questions below before requesting review.

  • This PR does not add, change, or remove any user-facing feature on either
    platform — no PARITY.md update needed.

    — OR —

  • This PR adds/changes/removes a user-facing feature. I have updated PARITY.md:

    • Updated the status symbol(s) for the affected row(s).
    • Added or updated "Notes" if the implementation is partial or has caveats.
    • Removed or updated any rows in the "Known gaps" table that this PR closes.

Related issues

close #276
close #277
close #278
close #279

…ethos-protocol#278 ethos-protocol#279

ethos-protocol#276 - Add automatic session lock after configurable inactivity timeout
  - iOS: SessionLockService with scenePhase lifecycle hooks
  - Android: SessionLockManager + AppLifecycleObserver via ProcessLifecycleOwner

ethos-protocol#277 - Prevent sensitive data in app switcher / recent apps preview
  - iOS: PrivacyOverlayModifier hides content on background/inactive scenePhase
  - Android: FLAG_SECURE set in MainActivity.onCreate
  - Docs: manual QA checklist updated

ethos-protocol#278 - Anti-tampering APK signature verification
  - Android: SignatureVerifier checks signing cert SHA-256 at runtime
  - Non-blocking TamperWarningDialog shown on mismatch (consistent with ethos-protocol#118)

ethos-protocol#279 - Redact bearer tokens and nonces from debug/crash logs
  - iOS: LogRedactor utility + applied to DecodingFailureLogger and APIClient
  - Android: LogRedactor object + applied to API logging call sites
  - Tests added on both platforms

Updated .gitignore: added test snapshots, IDE files, build artifacts, secrets
@drips-wave

drips-wave Bot commented Aug 30, 2026

Copy link
Copy Markdown

@villadel Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant