diff --git a/test/fixtures/instagram-json-2026-03.md b/test/fixtures/instagram-json-2026-03.md new file mode 100644 index 0000000..4d02577 --- /dev/null +++ b/test/fixtures/instagram-json-2026-03.md @@ -0,0 +1,14 @@ +# instagram-json-2026-03 + +## Manual edits / notes + +* `ads_information/ads_and_topics` + * Both `posts_viewer.json` and `videos_watcher.json` have this weird array list to get the information for a single entry. "label values" They all combine to basically make one entry + * The URL in the "dict"/owner it's tied to is the external URL of that profile (like to a link tree or external website, blank if none was set) + * they were 3 long so I had to manually add some info back because scrub only keeps 2... +* `personal_information/personal_information` + * Some of the values store key-type information. You'd have to re-enter all those because scrub removes them + * A lot of `timestamp: 0` which seem to indicate no timestamp, but scrub overwrite these to `timestamp: 1` +* `your_instagram_activity/messages` + * Have to prune all the folders per-user to get to one, also updating the images to do placeholders + * There's both a "photos" and a "videos" diff --git a/test/fixtures/instagram-json-2026-03/ads_information/ads_and_topics/posts_viewed.json b/test/fixtures/instagram-json-2026-03/ads_information/ads_and_topics/posts_viewed.json new file mode 100644 index 0000000..cacb0be --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/ads_information/ads_and_topics/posts_viewed.json @@ -0,0 +1,76 @@ +[ + { + "timestamp": 1709290000, + "media": [], + "label_values": [ + { + "label": "xxxxxxxxxxxxxxxxxxxxx" + }, + { + "label": "xxx", + "value": "url://somewhere", + "href": "url://somewhere" + }, + { + "dict": [ + { + "dict": [ + { + "label": "URL", + "value": "url://somewhere" + }, + { + "label": "Name", + "value": "xxx" + }, + { + "label": "Username", + "value": "xxxx" + } + ], + "title": "" + } + ], + "title": "Owner" + } + ], + "fbid": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + }, + { + "timestamp": 1709290000, + "media": [], + "label_values": [ + { + "label": "xxxxxxxxxxxxxxxxxxxxx" + }, + { + "label": "xxx", + "value": "url://somewhere", + "href": "url://somewhere" + }, + { + "dict": [ + { + "dict": [ + { + "label": "URL", + "value": "url://somewhere" + }, + { + "label": "Name", + "value": "xxx" + }, + { + "label": "Username", + "value": "xxxx" + } + ], + "title": "" + } + ], + "title": "Owner" + } + ], + "fbid": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + } +] diff --git a/test/fixtures/instagram-json-2026-03/ads_information/ads_and_topics/posts_you're_not_interested_in.json b/test/fixtures/instagram-json-2026-03/ads_information/ads_and_topics/posts_you're_not_interested_in.json new file mode 100644 index 0000000..c1700ba --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/ads_information/ads_and_topics/posts_you're_not_interested_in.json @@ -0,0 +1,26 @@ +{ + "impressions_history_posts_not_interested": [ + { + "string_list_data": [ + { + "href": "url://somewhere", + "value": "xxxx" + }, + { + "timestamp": 1707535000 + } + ] + }, + { + "string_list_data": [ + { + "href": "url://somewhere", + "value": "xxxx" + }, + { + "timestamp": 1707150000 + } + ] + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/ads_information/ads_and_topics/videos_watched.json b/test/fixtures/instagram-json-2026-03/ads_information/ads_and_topics/videos_watched.json new file mode 100644 index 0000000..f9085fd --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/ads_information/ads_and_topics/videos_watched.json @@ -0,0 +1,76 @@ +[ + { + "timestamp": 1709415000, + "media": [], + "label_values": [ + { + "label": "xxxxxxxxxxxxxxxxxxxxx" + }, + { + "label": "xxx", + "value": "url://somewhere", + "href": "url://somewhere" + }, + { + "dict": [ + { + "dict": [ + { + "label": "URL", + "value": "url://somewhere" + }, + { + "label": "Name", + "value": "xxx" + }, + { + "label": "Username", + "value": "xxxx" + } + ], + "title": "" + } + ], + "title": "Owner" + } + ], + "fbid": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + }, + { + "timestamp": 1709415000, + "media": [], + "label_values": [ + { + "label": "xxxxxxxxxxxxxxxxxxxxx" + }, + { + "label": "xxx", + "value": "url://somewhere", + "href": "url://somewhere" + }, + { + "dict": [ + { + "dict": [ + { + "label": "URL", + "value": "url://somewhere" + }, + { + "label": "Name", + "value": "xxx" + }, + { + "label": "Username", + "value": "xxxx" + } + ], + "title": "" + } + ], + "title": "Owner" + } + ], + "fbid": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + } +] diff --git a/test/fixtures/instagram-json-2026-03/ads_information/instagram_ads_and_businesses/ad_preferences.json b/test/fixtures/instagram-json-2026-03/ads_information/instagram_ads_and_businesses/ad_preferences.json new file mode 100644 index 0000000..7196349 --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/ads_information/instagram_ads_and_businesses/ad_preferences.json @@ -0,0 +1,49 @@ +{ + "media": [], + "label_values": [ + { + "label": "xxxxxxxxxxxxxxxxxx", + "vec": [] + }, + { + "dict": [ + { + "dict": [ + { + "label": "xxxxx", + "value": "xxxxxxxxxx" + }, + { + "label": "xxxxxxxx", + "value": "xxxxxxxxxxxxxxxxxxxxxxxx" + }, + { + "label": "Creation time", + "timestamp_value": 1709290000 + } + ], + "title": "" + }, + { + "dict": [ +{ + "label": "Event", + "value": "Hide an Ad" + }, + { + "label": "Ad title", + "value": "xxx" + }, + { + "label": "Creation time", + "timestamp_value": 1709290000 + } + ], + "title": "" + } + ], + "title": "xxxxxxxxxx" + } + ], + "fbid": "11111111111111111" +} diff --git a/test/fixtures/instagram-json-2026-03/ads_information/instagram_ads_and_businesses/ads_about_meta.json b/test/fixtures/instagram-json-2026-03/ads_information/instagram_ads_and_businesses/ads_about_meta.json new file mode 100644 index 0000000..f69939f --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/ads_information/instagram_ads_and_businesses/ads_about_meta.json @@ -0,0 +1,14 @@ +{ + "media": [], + "label_values": [ + { + "label": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "value": "xxxxx" + }, + { + "label": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "timestamp_value": 1 + } + ], + "fbid": "1111111111111111" +} diff --git a/test/fixtures/instagram-json-2026-03/ads_information/instagram_ads_and_businesses/advertisers_using_your_activity_or_information.json b/test/fixtures/instagram-json-2026-03/ads_information/instagram_ads_and_businesses/advertisers_using_your_activity_or_information.json new file mode 100644 index 0000000..1edbb5b --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/ads_information/instagram_ads_and_businesses/advertisers_using_your_activity_or_information.json @@ -0,0 +1,16 @@ +{ + "ig_custom_audiences_all_types": [ + { + "advertiser_name": "xxxxxxxxxxxxxxxxx", + "has_data_file_custom_audience": false, + "has_remarketing_custom_audience": false, + "has_in_person_store_visit": false + }, + { + "advertiser_name": "xxxxxxxxx", + "has_data_file_custom_audience": false, + "has_remarketing_custom_audience": false, + "has_in_person_store_visit": false + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/ads_information/instagram_ads_and_businesses/other_categories_used_to_reach_you.json b/test/fixtures/instagram-json-2026-03/ads_information/instagram_ads_and_businesses/other_categories_used_to_reach_you.json new file mode 100644 index 0000000..85bdebf --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/ads_information/instagram_ads_and_businesses/other_categories_used_to_reach_you.json @@ -0,0 +1,17 @@ +{ + "media": [], + "label_values": [ + { + "label": "xxxx", + "vec": [ + { + "value": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + }, + { + "value": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + } + ] + } + ], + "fbid": "11111111111111111" +} diff --git a/test/fixtures/instagram-json-2026-03/apps_and_websites_off_of_instagram/apps_and_websites/your_activity_off_meta_technologies.json b/test/fixtures/instagram-json-2026-03/apps_and_websites_off_of_instagram/apps_and_websites/your_activity_off_meta_technologies.json new file mode 100644 index 0000000..9657a1b --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/apps_and_websites_off_of_instagram/apps_and_websites/your_activity_off_meta_technologies.json @@ -0,0 +1,24 @@ +{ + "apps_and_websites_off_meta_activity": [ + { + "name": "xxxxxxxx", + "events": [ + { + "id": 1111111111111111, + "type": "xxxxxxxxx", + "timestamp": 1716350000 + } + ] + }, + { + "name": "xxxxxxxxxxxxxxxx", + "events": [ + { + "id": 111111111111111, + "type": "xxxxxxxxxxxx", + "timestamp": 1705390000 + } + ] + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/apps_and_websites_off_of_instagram/apps_and_websites/your_activity_off_meta_technologies_settings.json b/test/fixtures/instagram-json-2026-03/apps_and_websites_off_of_instagram/apps_and_websites/your_activity_off_meta_technologies_settings.json new file mode 100644 index 0000000..3f8a73a --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/apps_and_websites_off_of_instagram/apps_and_websites/your_activity_off_meta_technologies_settings.json @@ -0,0 +1,15 @@ +{ + "timestamp": 1720710000, + "media": [], + "label_values": [ + { + "label": "xxxxxxxxxxxxxxxxxxxxxxxxx", + "value": "xxxxxxxxxxxxxxxxxxxxxxxxxxx" + }, + { + "label": "xxxxxxxxxxxxxxxxxxxxxxxxx", + "timestamp_value": 1 + } + ], + "fbid": "11111111111111111" +} diff --git a/test/fixtures/instagram-json-2026-03/connections/followers_and_following/blocked_profiles.json b/test/fixtures/instagram-json-2026-03/connections/followers_and_following/blocked_profiles.json new file mode 100644 index 0000000..ed6181d --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/connections/followers_and_following/blocked_profiles.json @@ -0,0 +1,22 @@ +{ + "relationships_blocked_users": [ + { + "title": "xxxxxxxxxxx", + "string_list_data": [ + { + "href": "https://www.instagram.com/_u/xxxxxxxxxxx", + "timestamp": 1706055000 + } + ] + }, + { + "title": "xxxxxxxxx", + "string_list_data": [ + { + "href": "https://www.instagram.com/_u/xxxxxxxxx", + "timestamp": 1731920000 + } + ] + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/connections/followers_and_following/followers_1.json b/test/fixtures/instagram-json-2026-03/connections/followers_and_following/followers_1.json new file mode 100644 index 0000000..c5690e3 --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/connections/followers_and_following/followers_1.json @@ -0,0 +1,24 @@ +[ + { + "title": "", + "media_list_data": [], + "string_list_data": [ + { + "href": "https://www.instagram.com/xxx", + "value": "xxxxxxxxxxxxxxxxxxx", + "timestamp": 1726180000 + } + ] + }, + { + "title": "", + "media_list_data": [], + "string_list_data": [ + { + "href": "https://www.instagram.com/xxx", + "value": "xxxxxxxx", + "timestamp": 1715235000 + } + ] + } +] diff --git a/test/fixtures/instagram-json-2026-03/connections/followers_and_following/following.json b/test/fixtures/instagram-json-2026-03/connections/followers_and_following/following.json new file mode 100644 index 0000000..69a5761 --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/connections/followers_and_following/following.json @@ -0,0 +1,22 @@ +{ + "relationships_following": [ + { + "title": "xxxxxxxxxxx", + "string_list_data": [ + { + "href": "https://www.instagram.com/xxx", + "timestamp": 1709895000 + } + ] + }, + { + "title": "xxxxxxxxx", + "string_list_data": [ + { + "href": "https://www.instagram.com/xxx", + "timestamp": 1709360000 + } + ] + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/connections/followers_and_following/pending_follow_requests.json b/test/fixtures/instagram-json-2026-03/connections/followers_and_following/pending_follow_requests.json new file mode 100644 index 0000000..485ae76 --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/connections/followers_and_following/pending_follow_requests.json @@ -0,0 +1,26 @@ +{ + "relationships_follow_requests_sent": [ + { + "title": "", + "media_list_data": [], + "string_list_data": [ + { + "href": "https://www.instagram.com/xxx", + "value": "xxxxxxxxxxxxx", + "timestamp": 1706355000 + } + ] + }, + { + "title": "", + "media_list_data": [], + "string_list_data": [ + { + "href": "https://www.instagram.com/xxx", + "value": "xxxxxxxxxxx", + "timestamp": 1735340000 + } + ] + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/connections/followers_and_following/recently_unfollowed_profiles.json b/test/fixtures/instagram-json-2026-03/connections/followers_and_following/recently_unfollowed_profiles.json new file mode 100644 index 0000000..4c5132a --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/connections/followers_and_following/recently_unfollowed_profiles.json @@ -0,0 +1,15 @@ +{ + "relationships_unfollowed_users": [ + { + "title": "", + "media_list_data": [], + "string_list_data": [ + { + "href": "https://www.instagram.com/xxx", + "value": "xxxxxxxxxx", + "timestamp": 1707535000 + } + ] + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/connections/followers_and_following/removed_suggestions.json b/test/fixtures/instagram-json-2026-03/connections/followers_and_following/removed_suggestions.json new file mode 100644 index 0000000..22b7fca --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/connections/followers_and_following/removed_suggestions.json @@ -0,0 +1,26 @@ +{ + "relationships_dismissed_suggested_users": [ + { + "title": "", + "media_list_data": [], + "string_list_data": [ + { + "href": "https://www.instagram.com/xxx", + "value": "xxxxxxxxxxxxxx", + "timestamp": 1716255000 + } + ] + }, + { + "title": "", + "media_list_data": [], + "string_list_data": [ + { + "href": "https://www.instagram.com/xxx", + "value": "xxxxxxxxxxxxxxxx", + "timestamp": 1716255000 + } + ] + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/logged_information/link_history/your_link_history_settings.json b/test/fixtures/instagram-json-2026-03/logged_information/link_history/your_link_history_settings.json new file mode 100644 index 0000000..febf62c --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/logged_information/link_history/your_link_history_settings.json @@ -0,0 +1,14 @@ +{ + "timestamp": 1734985000, + "media": [], + "label_values": [ + { + "label": "xxxxxxxxxxxxxxxxxxxxxxxx" + }, + { + "label": "xxxxxxxxxxxxxxxxx", + "timestamp_value": 1733805000 + } + ], + "fbid": "111111111111111" +} diff --git a/test/fixtures/instagram-json-2026-03/personal_information/device_information/devices.json b/test/fixtures/instagram-json-2026-03/personal_information/device_information/devices.json new file mode 100644 index 0000000..996a186 --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/personal_information/device_information/devices.json @@ -0,0 +1,36 @@ +{ + "devices_devices": [ + { + "title": "", + "media_map_data": {}, + "string_map_data": { + "Last Login": { + "href": "", + "value": "", + "timestamp": 1731745000 + }, + "User Agent": { + "href": "", + "value": "some/path", + "timestamp": 1 + } + } + }, + { + "title": "", + "media_map_data": {}, + "string_map_data": { + "Last Login": { + "href": "", + "value": "", + "timestamp": 1722175000 + }, + "User Agent": { + "href": "", + "value": "some/path", + "timestamp": 1 + } + } + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/personal_information/information_about_you/profile_based_in.json b/test/fixtures/instagram-json-2026-03/personal_information/information_about_you/profile_based_in.json new file mode 100644 index 0000000..5842e79 --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/personal_information/information_about_you/profile_based_in.json @@ -0,0 +1,15 @@ +{ + "inferred_data_primary_location": [ + { + "title": "", + "media_map_data": {}, + "string_map_data": { + "City Name": { + "href": "", + "value": "xxxxxxxxxxxxxx", + "timestamp": 1 + } + } + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/personal_information/personal_information/instagram_friend_map.json b/test/fixtures/instagram-json-2026-03/personal_information/personal_information/instagram_friend_map.json new file mode 100644 index 0000000..6524d64 --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/personal_information/personal_information/instagram_friend_map.json @@ -0,0 +1,20 @@ +{ + "profile_friend_map": [ + { + "title": "", + "media_map_data": {}, + "string_map_data": { + "Incoming requests": { + "href": "", + "value": "", + "timestamp": 1 + }, + "Outgoing requests": { + "href": "", + "value": "", + "timestamp": 1 + } + } + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/personal_information/personal_information/instagram_profile_information.json b/test/fixtures/instagram-json-2026-03/personal_information/personal_information/instagram_profile_information.json new file mode 100644 index 0000000..3e9cdbf --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/personal_information/personal_information/instagram_profile_information.json @@ -0,0 +1,50 @@ +{ + "profile_account_insights": [ + { + "title": "", + "media_map_data": {}, + "string_map_data": { + "Contact Syncing": { + "href": "", + "value": "xxxxx", + "timestamp": 1 + }, + "First Country Code": { + "href": "", + "value": "xx", + "timestamp": 1 + }, + "Has Shared Live Video": { + "href": "", + "value": "xxxxx", + "timestamp": 1 + }, + "Last Login": { + "href": "", + "value": "", + "timestamp": 1731745000 + }, + "Last Logout": { + "href": "", + "value": "", + "timestamp": 1723505000 + }, + "First Story Time": { + "href": "", + "value": "", + "timestamp": 1 + }, + "Last Story Time": { + "href": "", + "value": "", + "timestamp": 1 + }, + "First Close Friends Story Time": { + "href": "", + "value": "", + "timestamp": 1 + } + } + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/personal_information/personal_information/note_interactions.json b/test/fixtures/instagram-json-2026-03/personal_information/personal_information/note_interactions.json new file mode 100644 index 0000000..8692ff2 --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/personal_information/personal_information/note_interactions.json @@ -0,0 +1,15 @@ +{ + "profile_note_interactions": [ + { + "title": "", + "media_map_data": {}, + "string_map_data": { + "Last Notes Seen Time": { + "href": "", + "value": "", + "timestamp": 1733380000 + } + } + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/personal_information/personal_information/personal_information.json b/test/fixtures/instagram-json-2026-03/personal_information/personal_information/personal_information.json new file mode 100644 index 0000000..fe0afb6 --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/personal_information/personal_information/personal_information.json @@ -0,0 +1,45 @@ +{ + "profile_user": [ + { + "title": "xxxxxxxxxxxxxxxx", + "media_map_data": {}, + "string_map_data": { + "Email": { + "href": "", + "value": "not_a_real_email@example.com", + "timestamp": 1 + }, + "Phone Confirmed": { + "href": "", + "value": "xxxxx", + "timestamp": 1 + }, + "Username": { + "href": "", + "value": "xxx", + "timestamp": 1 + }, + "Name": { + "href": "", + "value": "xxx", + "timestamp": 1 + }, + "Gender": { + "href": "", + "value": "xxx", + "timestamp": 1 + }, + "Date of birth": { + "href": "", + "value": "2020-04-13", + "timestamp": 1 + }, + "Private Account": { + "href": "", + "value": "xxxxx", + "timestamp": 1 + } + } + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/personal_information/personal_information/professional_information.json b/test/fixtures/instagram-json-2026-03/personal_information/personal_information/professional_information.json new file mode 100644 index 0000000..9fb2188 --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/personal_information/personal_information/professional_information.json @@ -0,0 +1,9 @@ +{ + "profile_business": [ + { + "title": "Business Information", + "media_map_data": {}, + "string_map_data": {} + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/personal_information/personal_information/profile_changes.json b/test/fixtures/instagram-json-2026-03/personal_information/personal_information/profile_changes.json new file mode 100644 index 0000000..db8d2d2 --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/personal_information/personal_information/profile_changes.json @@ -0,0 +1,30 @@ +{ + "profile_profile_change": [ + { + "title": "Profile Change", + "media_map_data": {}, + "string_map_data": { + "Changed": { + "href": "", + "value": "Email", + "timestamp": 0 + }, + "Previous Value": { + "href": "", + "value": "", + "timestamp": 0 + }, + "New Value": { + "href": "", + "value": "not_a_real_email@example.com", + "timestamp": 0 + }, + "Change Date": { + "href": "", + "value": "", + "timestamp": 1716255000 + } + } + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/preferences/settings/comments_allowed_from.json b/test/fixtures/instagram-json-2026-03/preferences/settings/comments_allowed_from.json new file mode 100644 index 0000000..a066ac3 --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/preferences/settings/comments_allowed_from.json @@ -0,0 +1,15 @@ +{ + "settings_allow_comments_from": [ + { + "title": "", + "media_map_data": {}, + "string_map_data": { + "Comments Allowed From": { + "href": "", + "value": "xxxxxxxx", + "timestamp": 1 + } + } + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/preferences/settings/consents.json b/test/fixtures/instagram-json-2026-03/preferences/settings/consents.json new file mode 100644 index 0000000..86fbd7c --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/preferences/settings/consents.json @@ -0,0 +1,14 @@ +{ + "timestamp": 1716255000, + "media": [], + "label_values": [ + { + "label": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + }, + { + "label": "xxxxxxxxxxx", + "timestamp_value": 1716255000 + } + ], + "fbid": "11111111111111111" +} diff --git a/test/fixtures/instagram-json-2026-03/preferences/settings/notification_preferences.json b/test/fixtures/instagram-json-2026-03/preferences/settings/notification_preferences.json new file mode 100644 index 0000000..e3249ab --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/preferences/settings/notification_preferences.json @@ -0,0 +1,30 @@ +{ + "settings_notification_preferences": [ + { + "string_map_data": { + "Channel": { + "value": "xxxxx" + }, + "Type": { + "value": "xxxxxxxxxxxx" + }, + "Value": { + "value": "xxx" + } + } + }, + { + "string_map_data": { + "Channel": { + "value": "xxxxx" + }, + "Type": { + "value": "xxxxxxxxxxxxx" + }, + "Value": { + "value": "xxx" + } + } + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/preferences/settings/use_cross-app_messaging.json b/test/fixtures/instagram-json-2026-03/preferences/settings/use_cross-app_messaging.json new file mode 100644 index 0000000..879bfd6 --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/preferences/settings/use_cross-app_messaging.json @@ -0,0 +1,20 @@ +{ + "settings_upgraded_to_cross_app_messaging": [ + { + "title": "", + "media_map_data": {}, + "string_map_data": { + "Upgraded To Cross-App Messaging": { + "href": "", + "value": "xxxxx", + "timestamp": 1 + }, + "Time Upgraded": { + "href": "", + "value": "", + "timestamp": 1 + } + } + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/preferences/your_topics/recommended_topics.json b/test/fixtures/instagram-json-2026-03/preferences/your_topics/recommended_topics.json new file mode 100644 index 0000000..af4d8c9 --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/preferences/your_topics/recommended_topics.json @@ -0,0 +1,26 @@ +{ + "topics_your_topics": [ + { + "title": "", + "media_map_data": {}, + "string_map_data": { + "Name": { + "href": "", + "value": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "timestamp": 1 + } + } + }, + { + "title": "", + "media_map_data": {}, + "string_map_data": { + "Name": { + "href": "", + "value": "xxxxxxxxxx", + "timestamp": 1 + } + } + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/security_and_login_information/login_and_profile_creation/last_known_location.json b/test/fixtures/instagram-json-2026-03/security_and_login_information/login_and_profile_creation/last_known_location.json new file mode 100644 index 0000000..126e3bc --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/security_and_login_information/login_and_profile_creation/last_known_location.json @@ -0,0 +1,35 @@ +{ + "account_history_imprecise_last_known_location": [ + { + "title": "", + "media_map_data": {}, + "string_map_data": { + "Imprecise Latitude": { + "href": "", + "value": "1", + "timestamp": 1 + }, + "Imprecise Longitude": { + "href": "", + "value": "1", + "timestamp": 1 + }, + "Precise Latitude": { + "href": "", + "value": "1", + "timestamp": 1 + }, + "Precise Longitude": { + "href": "", + "value": "1", + "timestamp": 1 + }, + "GPS Time Uploaded": { + "href": "", + "value": "", + "timestamp": 1 + } + } + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/security_and_login_information/login_and_profile_creation/login_activity.json b/test/fixtures/instagram-json-2026-03/security_and_login_information/login_and_profile_creation/login_activity.json new file mode 100644 index 0000000..03671bb --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/security_and_login_information/login_and_profile_creation/login_activity.json @@ -0,0 +1,76 @@ +{ + "account_history_login_history": [ + { + "title": "2020-04-13T10:09:08+00:00", + "media_map_data": {}, + "string_map_data": { + "Cookie Name": { + "href": "", + "value": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "timestamp": 1 + }, + "IP Address": { + "href": "", + "value": "1.1.1.1", + "timestamp": 1 + }, + "Port": { + "href": "", + "value": "11111", + "timestamp": 1 + }, + "Language Code": { + "href": "", + "value": "xx", + "timestamp": 1 + }, + "Time": { + "href": "", + "value": "", + "timestamp": 1731745000 + }, + "User Agent": { + "href": "", + "value": "some/path", + "timestamp": 1 + } + } + }, + { + "title": "2020-04-13T10:09:08+00:00", + "media_map_data": {}, + "string_map_data": { + "Cookie Name": { + "href": "", + "value": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "timestamp": 1 + }, + "IP Address": { + "href": "", + "value": "1.1.1.1", + "timestamp": 1 + }, + "Port": { + "href": "", + "value": "11111", + "timestamp": 1 + }, + "Language Code": { + "href": "", + "value": "xx", + "timestamp": 1 + }, + "Time": { + "href": "", + "value": "", + "timestamp": 1722175000 + }, + "User Agent": { + "href": "", + "value": "some/path", + "timestamp": 1 + } + } + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/security_and_login_information/login_and_profile_creation/logout_activity.json b/test/fixtures/instagram-json-2026-03/security_and_login_information/login_and_profile_creation/logout_activity.json new file mode 100644 index 0000000..d00b87f --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/security_and_login_information/login_and_profile_creation/logout_activity.json @@ -0,0 +1,40 @@ +{ + "account_history_logout_history": [ + { + "title": "2020-04-13T10:09:08+00:00", + "media_map_data": {}, + "string_map_data": { + "Cookie Name": { + "href": "", + "value": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "timestamp": 1 + }, + "IP Address": { + "href": "", + "value": "1.1.1.1", + "timestamp": 1 + }, + "Port": { + "href": "", + "value": "11111", + "timestamp": 1 + }, + "Language Code": { + "href": "", + "value": "xx", + "timestamp": 1 + }, + "Time": { + "href": "", + "value": "", + "timestamp": 1723505000 + }, + "User Agent": { + "href": "", + "value": "some/path", + "timestamp": 1 + } + } + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/security_and_login_information/login_and_profile_creation/signup_details.json b/test/fixtures/instagram-json-2026-03/security_and_login_information/login_and_profile_creation/signup_details.json new file mode 100644 index 0000000..629bf53 --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/security_and_login_information/login_and_profile_creation/signup_details.json @@ -0,0 +1,40 @@ +{ + "account_history_registration_info": [ + { + "title": "", + "media_map_data": {}, + "string_map_data": { + "Username": { + "href": "", + "value": "xxxxxxxxxxxx", + "timestamp": 1 + }, + "IP Address": { + "href": "", + "value": "1.1.1.1", + "timestamp": 1 + }, + "Time": { + "href": "", + "value": "", + "timestamp": 1716255000 + }, + "Email": { + "href": "", + "value": "not_a_real_email@example.com", + "timestamp": 1 + }, + "Phone Number": { + "href": "", + "value": "", + "timestamp": 1 + }, + "Device": { + "href": "", + "value": "", + "timestamp": 1 + } + } + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/your_instagram_activity/comments/post_comments_1.json b/test/fixtures/instagram-json-2026-03/your_instagram_activity/comments/post_comments_1.json new file mode 100644 index 0000000..353b5c9 --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/your_instagram_activity/comments/post_comments_1.json @@ -0,0 +1,38 @@ +[ + { + "media_list_data": [ + { + "uri": "" + } + ], + "string_map_data": { + "Comment": { + "value": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + }, + "Media Owner": { + "value": "xxxxxxxxx" + }, + "Time": { + "timestamp": 1708465000 + } + } + }, + { + "media_list_data": [ + { + "uri": "" + } + ], + "string_map_data": { + "Comment": { + "value": "xxxxxxxxxxxxxxxxxxxxxxxxxx" + }, + "Media Owner": { + "value": "xxxxxxxxx" + }, + "Time": { + "timestamp": 1727790000 + } + } + } +] diff --git a/test/fixtures/instagram-json-2026-03/your_instagram_activity/likes/liked_comments.json b/test/fixtures/instagram-json-2026-03/your_instagram_activity/likes/liked_comments.json new file mode 100644 index 0000000..be343d8 --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/your_instagram_activity/likes/liked_comments.json @@ -0,0 +1,24 @@ +{ + "likes_comment_likes": [ + { + "title": "xxxxxxxxxxxxxxx", + "string_list_data": [ + { + "href": "https://www.instagram.com/reel/xxx/", + "value": "xxxx", + "timestamp": 1728395000 + } + ] + }, + { + "title": "xxxxxxxxxxx", + "string_list_data": [ + { + "href": "https://www.instagram.com/reel/xxx/", + "value": "xxxx", + "timestamp": 1717495000 + } + ] + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/your_instagram_activity/likes/liked_posts.json b/test/fixtures/instagram-json-2026-03/your_instagram_activity/likes/liked_posts.json new file mode 100644 index 0000000..333660c --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/your_instagram_activity/likes/liked_posts.json @@ -0,0 +1,62 @@ +[ + { + "timestamp": 1710230000, + "media": [], + "label_values": [ + { + "label": "xxx", + "value": "https://www.instagram.com/reel/xxx/", + "href": "https://www.instagram.com/reel/xxx/" + }, + { + "dict": [ + { + "dict": [ + { + "label": "xxx", + "value": "https://www.example.com" + }, + { + "label": "xxxx", + "value": "xxxxxxxx" + } + ], + "title": "" + } + ], + "title": "xxxxx" + } + ], + "fbid": "11111111111111111" + }, + { + "timestamp": 1710230000, + "media": [], + "label_values": [ + { + "label": "xxx", + "value": "url://somewhere", + "href": "url://somewhere" + }, + { + "dict": [ + { + "dict": [ + { + "label": "xxx", + "value": "url://somewhere" + }, + { + "label": "xxxx", + "value": "xxxxxxxxx" + } + ], + "title": "" + } + ], + "title": "xxxxx" + } + ], + "fbid": "11111111111111111" + } +] diff --git a/test/fixtures/instagram-json-2026-03/your_instagram_activity/messages/inbox/username_11111111111111/message_1.json b/test/fixtures/instagram-json-2026-03/your_instagram_activity/messages/inbox/username_11111111111111/message_1.json new file mode 100644 index 0000000..ccf18b7 --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/your_instagram_activity/messages/inbox/username_11111111111111/message_1.json @@ -0,0 +1,59 @@ +{ + "participants": [ + { + "name": "xxxxx" + }, + { + "name": "xxxxxxxxxxxx" + } + ], + "messages": [ + { + "sender_name": "xxxxx", + "timestamp_ms": 1700000000000, + "content": "xxxxxxxxxxxxxxxxxxxxxxxxx", + "share": { + "link": "url://somewhere", + "share_text": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "original_content_owner": "xxxxxxxxxxxxxxxxx" + }, + "is_geoblocked_for_viewer": false, + "is_unsent_image_by_messenger_kid_parent": false + }, + { + "sender_name": "xxxxx", + "timestamp_ms": 1700000000000, + "content": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "is_geoblocked_for_viewer": false, + "is_unsent_image_by_messenger_kid_parent": false + }, + { + "sender_name": "xxx", + "timestamp_ms": 1700000000000, + "photos": [ + { + "uri": "your_instagram_activity/messages/inbox/username_111111111/photos/xxx.png", + "creation_timestamp": 1700000000 + }, + { + "uri": "your_instagram_activity/messages/inbox/username_111111111/photos/xxx.png", + "creation_timestamp": 1700000000 + }, + { + "uri": "your_instagram_activity/messages/inbox/username_111111111/photos/xxx.png", + "creation_timestamp": 1700000000 + }, + { + "uri": "your_instagram_activity/messages/inbox/username_111111111/photos/xxx.png", + "creation_timestamp": 1700000000 + } + ], + "is_geoblocked_for_viewer": false, + "is_unsent_image_by_messenger_kid_parent": false + } + ], + "title": "xxxxx", + "is_still_participant": false, + "thread_path": "some/path", + "magic_words": [] +} diff --git a/test/fixtures/instagram-json-2026-03/your_instagram_activity/messages/inbox/username_11111111111111/photos/xxx.png b/test/fixtures/instagram-json-2026-03/your_instagram_activity/messages/inbox/username_11111111111111/photos/xxx.png new file mode 100644 index 0000000..abc6b4a Binary files /dev/null and b/test/fixtures/instagram-json-2026-03/your_instagram_activity/messages/inbox/username_11111111111111/photos/xxx.png differ diff --git a/test/fixtures/instagram-json-2026-03/your_instagram_activity/monetization/eligibility.json b/test/fixtures/instagram-json-2026-03/your_instagram_activity/monetization/eligibility.json new file mode 100644 index 0000000..2455a83 --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/your_instagram_activity/monetization/eligibility.json @@ -0,0 +1,25 @@ +{ + "monetization_eligibility": [ + { + "title": "", + "media_map_data": {}, + "string_map_data": { + "Product Name": { + "href": "", + "value": "xxxxxxxxxxxxxxx", + "timestamp": 1 + }, + "Decision": { + "href": "", + "value": "xxxxxxxxxxxx", + "timestamp": 1 + }, + "Reason": { + "href": "", + "value": "", + "timestamp": 1 + } + } + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/your_instagram_activity/other_activity/your_information_download_requests.json b/test/fixtures/instagram-json-2026-03/your_instagram_activity/other_activity/your_information_download_requests.json new file mode 100644 index 0000000..066fbd2 --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/your_instagram_activity/other_activity/your_information_download_requests.json @@ -0,0 +1,32 @@ +[ + { + "timestamp": 1710420000, + "media": [], + "label_values": [ + { + "label": "xxxxxxxxxxxxxxxxxxxxxxx", + "timestamp_value": 1 + }, + { + "label": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "value": "1" + } + ], + "fbid": "111111111111111" + }, + { + "timestamp": 1717720000, + "media": [], + "label_values": [ + { + "label": "xxxxxxxxxxxxxxxxxxxxxxx", + "timestamp_value": 1717720000 + }, + { + "label": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "value": "1" + } + ], + "fbid": "1111111111111111" + } +] diff --git a/test/fixtures/instagram-json-2026-03/your_instagram_activity/saved/saved_posts.json b/test/fixtures/instagram-json-2026-03/your_instagram_activity/saved/saved_posts.json new file mode 100644 index 0000000..61d0381 --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/your_instagram_activity/saved/saved_posts.json @@ -0,0 +1,22 @@ +{ + "saved_saved_media": [ + { + "title": "xxxxxxxxxxxxxxxxxxxx", + "string_map_data": { + "Saved on": { + "href": "https://www.instagram.com/reel/xxx/", + "timestamp": 1706285000 + } + } + }, + { + "title": "xxxxxxxxxxxxxxxxxxxxxxxxxxx", + "string_map_data": { + "Saved on": { + "href": "https://www.instagram.com/reel/xxx/", + "timestamp": 1728990000 + } + } + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/your_instagram_activity/shopping/recently_viewed_items.json b/test/fixtures/instagram-json-2026-03/your_instagram_activity/shopping/recently_viewed_items.json new file mode 100644 index 0000000..98bfe08 --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/your_instagram_activity/shopping/recently_viewed_items.json @@ -0,0 +1,24 @@ +{ + "checkout_saved_recently_viewed_products": [ + { + "string_map_data": { + "Product Name": { + "value": "xxxxxxxxxxxxxxxxx" + }, + "Merchant Name": { + "value": "xxxxxxxx" + } + } + }, + { + "string_map_data": { + "Product Name": { + "value": "xxxxxxxxxxxxx" + }, + "Merchant Name": { + "value": "xxxxxxxx" + } + } + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/your_instagram_activity/story_interactions/emoji_sliders.json b/test/fixtures/instagram-json-2026-03/your_instagram_activity/story_interactions/emoji_sliders.json new file mode 100644 index 0000000..da14015 --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/your_instagram_activity/story_interactions/emoji_sliders.json @@ -0,0 +1,22 @@ +{ + "story_activities_emoji_sliders": [ + { + "title": "xxxxxxxxxxxxxxxxxxxxxxxx", + "string_list_data": [ + { + "value": "11.111111", + "timestamp": 1725205000 + } + ] + }, + { + "title": "xxxxxxxxxxxxx", + "string_list_data": [ + { + "value": "11.111111", + "timestamp": 1722800000 + } + ] + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/your_instagram_activity/story_interactions/polls.json b/test/fixtures/instagram-json-2026-03/your_instagram_activity/story_interactions/polls.json new file mode 100644 index 0000000..237a790 --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/your_instagram_activity/story_interactions/polls.json @@ -0,0 +1,22 @@ +{ + "story_activities_polls": [ + { + "title": "xxxxxxxxxx", + "string_list_data": [ + { + "value": "xxx", + "timestamp": 1717115000 + } + ] + }, + { + "title": "xxxxxxxxxxxxxx", + "string_list_data": [ + { + "value": "xxxxxxxxxxxxx", + "timestamp": 1706355000 + } + ] + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/your_instagram_activity/subscriptions/show_exclusive_story_promo_setting.json b/test/fixtures/instagram-json-2026-03/your_instagram_activity/subscriptions/show_exclusive_story_promo_setting.json new file mode 100644 index 0000000..3fa23ba --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/your_instagram_activity/subscriptions/show_exclusive_story_promo_setting.json @@ -0,0 +1,15 @@ +{ + "subscriptions_show_story_teaser_setting": [ + { + "title": "", + "media_map_data": {}, + "string_map_data": { + "Exclusive Story Promo Setting": { + "href": "", + "value": "xxxxx", + "timestamp": 1 + } + } + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/your_instagram_activity/subscriptions/your_muted_story_teaser_creators.json b/test/fixtures/instagram-json-2026-03/your_instagram_activity/subscriptions/your_muted_story_teaser_creators.json new file mode 100644 index 0000000..8e26da6 --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/your_instagram_activity/subscriptions/your_muted_story_teaser_creators.json @@ -0,0 +1,15 @@ +{ + "subscriptions_muted_story_teaser_creators": [ + { + "title": "", + "media_map_data": {}, + "string_map_data": { + "Muted Creators": { + "href": "", + "value": "", + "timestamp": 1 + } + } + } + ] +} diff --git a/test/fixtures/instagram-json-2026-03/your_instagram_activity/threads/threads_viewed.json b/test/fixtures/instagram-json-2026-03/your_instagram_activity/threads/threads_viewed.json new file mode 100644 index 0000000..41161d2 --- /dev/null +++ b/test/fixtures/instagram-json-2026-03/your_instagram_activity/threads/threads_viewed.json @@ -0,0 +1,30 @@ +{ + "text_post_app_text_post_app_posts_seen": [ + { + "string_map_data": { + "Author": { + "value": "xxxxxxxxxxxxxxx" + }, + "Time": { + "timestamp": 1709290000 + }, + "URL": { + "href": "https://www.instagram.com/p/xxx/" + } + } + }, + { + "string_map_data": { + "Author": { + "value": "xxxxxxxx" + }, + "Time": { + "timestamp": 1709290000 + }, + "URL": { + "href": "https://www.instagram.com/p/xxx/" + } + } + } + ] +} diff --git a/util/scrub.ts b/util/scrub.ts index 20f12b1..b076128 100755 --- a/util/scrub.ts +++ b/util/scrub.ts @@ -76,11 +76,8 @@ assert(overrideType === undefined || overrideType === "" || overrideType === "cs console.log(`Matching files against passed file_or_glob: '${fileOrGlob}'`); -const filePaths: string[] = []; -for await (const file of fs.glob(fileOrGlob)) { - const resolved = path.resolve(file); - filePaths.push(resolved); -} +const filePaths = (await Array.fromAsync(fs.glob(fileOrGlob))) + .map(p => path.resolve(p)); console.log("filePaths", filePaths); assert(filePaths.length > 0, `No files found matching: ${fileOrGlob}`);