Skip to content

Add iOS Health plugins#5027

Open
annisadp wants to merge 1 commit intolog2timeline:mainfrom
annisadp:main
Open

Add iOS Health plugins#5027
annisadp wants to merge 1 commit intolog2timeline:mainfrom
annisadp:main

Conversation

@annisadp
Copy link
Copy Markdown

@annisadp annisadp commented Jan 18, 2026

The parser created consists of achievements, all watch sleep latest, all watch sleep, headphone audio levels, heart rate, height, resting heart rate, steps, source devices latest, source devices, watch by sleep period latest, watch by sleep period, watch worn data, weight, workouts latest, workouts and wrist temperature

One line description of pull request

Adds 17 new SQLite plugins for extracting iOS Health artifacts (iOS 13.3.1, iOS 13.4.1, iOS 15, iOS 16, iOS 17). Includes unit tests, formatters, ios.yaml and SQLite database

Description:

Plugins including:
plaso/plaso/parsers/sqlite plugins/ios_health_achievements.py
plaso/plaso/parsers/sqlite plugins/ios_health_all_watch_sleep_latest.py
plaso/plaso/parsers/sqlite plugins/ios_health_all_watch_sleep.py
plaso/plaso/parsers/sqlite plugins/ios_health_headphone_audio_levels.py
plaso/plaso/parsers/sqlite plugins/ios_health_heart_rate.py
plaso/plaso/parsers/sqlite plugins/ios_health_height.py
plaso/plaso/parsers/sqlite plugins/ios_health_resting_heart_rate.py
plaso/plaso/parsers/sqlite plugins/ios_health_steps.py
plaso/plaso/parsers/sqlite plugins/ios_health_source_devices_latest.py
plaso/plaso/parsers/sqlite plugins/ios_health_source_devices.py
plaso/plaso/parsers/sqlite plugins/ios_health_watch_by_sleep_period_latest.py
plaso/plaso/parsers/sqlite plugins/ios_health_watch_by_sleep_period.py
plaso/plaso/parsers/sqlite plugins/ios_health_watch_worn.py
plaso/plaso/parsers/sqlite plugins/ios_health_weight.py
plaso/plaso/parsers/sqlite plugins/ios_health_workout_latest.py
plaso/plaso/parsers/sqlite plugins/ios_health_workouts.py
plaso/plaso/parsers/sqlite plugins/ios_health_wrist_temperature.py

Unit Test including:
plaso/ test /parsers/sqlite plugins/ios_health_achievements.py
plaso/ test /parsers/sqlite plugins/ios_health_all_watch_sleep_latest.py
plaso/ test /parsers/sqlite plugins/ios_health_all_watch_sleep.py
plaso/ test /parsers/sqlite plugins/ios_health_headphone_audio_levels.py
plaso/ test /parsers/sqlite plugins/ios_health_heart_rate.py
plaso/ test /parsers/sqlite plugins/ios_health_height.py
plaso/ test /parsers/sqlite plugins/ios_health_resting_heart_rate.py
plaso/ test /parsers/sqlite plugins/ios_health_steps.py
plaso/ test /parsers/sqlite plugins/ios_health_source_devices_latest.py
plaso/ test /parsers/sqlite plugins/ios_health_source_devices.py
plaso/ test /parsers/sqlite plugins/ios_health_watch_by_sleep_period_latest.py
plaso/ test /parsers/sqlite plugins/ios_health_ watch_by_sleep_period.py
plaso/ test /parsers/sqlite plugins/ios_health_watch_worn.py
plaso/ test /parsers/sqlite plugins/ios_health_weight.py
plaso/ test /parsers/sqlite plugins/ios_health_workout_latest.py
plaso/ test /parsers/sqlite plugins/ios_health_workouts.py
plaso/ test /parsers/sqlite plugins/ios_health_wrist_temperature.py

SQLite database froom Digital Corpora places on plaso/test_data/:
healthdb_secure_iOS_13_3_1.sqlite
healthdb_secure_iOS_13_4_1.sqlite
healthdb_secure_iOS_15.sqlite
healthdb_secure_iOS_16.sqlite
healthdb_secure_iOS_17.sqlite

Notes:

All contributions to Plaso undergo code review.
This makes sure that the code has appropriate test coverage and conforms to the
Plaso style guide.

One of the maintainers will examine your code, and may request changes. Check off the items below in
order, and then a maintainer will review your code.

Checklist:

  • No new new dependencies are required or l2tdevtools has been updated.
  • Test data has a Plaso compatible license. If the test data was not authored by you (the contributor), make sure to mention its orginal source in ACKNOWLEDGEMENTS.
  • Reviewer assigned.
  • Automated checks (GitHub Actions, AppVeyor) pass.

The parser created consists of achievements, all watch sleep, headphone audio levels, heart rate, height, resting heart rate, steps, source devices, all watch by sleep period, watch worn, weight, workouts and wrist temperature
@joachimmetz joachimmetz self-assigned this Feb 7, 2026
@joachimmetz joachimmetz self-requested a review February 7, 2026 09:10
@joachimmetz
Copy link
Copy Markdown
Member

Thanks for the changes, unfortunately "Digital Corpora" is public domain. For context see https://opensource.org/blog/public-domain-is-not-open-source

@joachimmetz joachimmetz added the pending reporter input Issue is pending input from the reporter label Feb 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pending reporter input Issue is pending input from the reporter

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants