{"id":72978,"date":"2025-02-07T05:22:14","date_gmt":"2025-02-07T05:22:14","guid":{"rendered":"https:\/\/peraltafinancing.com\/apple-2\/follow-on-to-dfir-summit-talk-lucky-ios-13-time-to-press-your-bets-via-bizzybarney\/"},"modified":"2025-02-07T05:22:14","modified_gmt":"2025-02-07T05:22:14","slug":"follow-on-to-dfir-summit-talk-lucky-ios-13-time-to-press-your-bets-via-bizzybarney","status":"publish","type":"post","link":"https:\/\/fivemor.com\/?p=72978","title":{"rendered":"Follow-on to DFIR Summit Talk: Lucky (iOS) 13: Time To Press Your Bets (via @bizzybarney)"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<h2>Facial Recognition in Photos<\/h2>\n<p class=\"\">One facet of my DFIR Summit talk I want to expand upon is a look into the Photos application, and a few of the derivative pieces of that endeavor.&nbsp; While trying to focus on the topic of facial recognition, it seemed prudent to include a brief progression from snapping a photo thru to a persons name being placed beside their face in the Photos application. &nbsp;<\/p>\n<p class=\"\">When you use the Native camera and snap a photo, depending on user options, at least a few standard things occur.&nbsp; It ultimately writes the newly taken photo to \/private\/var\/mobile\/Media\/DCIM\/1**APPLE\/IMG_0001.HEIC \/ .JPG.&nbsp; As the photo is taken, the Photos.sqlite database is updated to reflect a lot of the metadata about the photo,&nbsp; which will be covered a bit later.&nbsp; Additionally, the \u201cPreviewWellImage.tiff\u201d is created.&nbsp; The \u201cPreviewWellImage.tiff\u201d represents the photo you see when you open your Photos application and see a preview of the most recent image, which is the photo just taken by the camera in this instance.<\/p>\n<figure class=\"\n              sqs-block-image-figure\n              intrinsic\n            \"><\/p>\n<p>                <img decoding=\"async\" data-stretch=\"false\" data-image=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208285426-3MRG0HXVDCCC0HB2ZPF0\/1.png\" data-image-dimensions=\"2136x906\" data-image-focal-point=\"0.5,0.5\" alt=\"\" data-load=\"false\" src=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208285426-3MRG0HXVDCCC0HB2ZPF0\/1.png?format=1000w\" width=\"2136\" height=\"906\" loading=\"lazy\" data-loader=\"sqs\"><\/p>\n<\/figure>\n<p class=\"\">The beginning of the user\u2019s photos reside in the ..\/100APPLE\/ directory, but this directory iterates upwards (101APPLE, 102APPLE, etc) as more and more photos and videos are saved.&nbsp; If iCloud syncing is turned on by the user, then several others behaviors occur &#8211; but that is for another time.<\/p>\n<p class=\"\">Let\u2019s focus on the analysis and intelligence built into the Photos application.&nbsp; I\u2019m able to type text strings and my photos are immediately searched for matching objects within them.&nbsp; There is a section of my Photos dedicated to \u201cPeople\u201d where a name has been associated with a face that Apple has analyzed. &nbsp;<\/p>\n<figure class=\"\n              sqs-block-image-figure\n              intrinsic\n            \"><\/p>\n<p>                <img decoding=\"async\" data-stretch=\"false\" data-image=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208356080-VLA8JGJPN6XDXXIBSCKL\/2.png\" data-image-dimensions=\"694x1150\" data-image-focal-point=\"0.5,0.5\" alt=\"\" data-load=\"false\" src=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208356080-VLA8JGJPN6XDXXIBSCKL\/2.png?format=1000w\" width=\"694\" height=\"1150\" loading=\"lazy\" data-loader=\"sqs\"><\/p>\n<\/figure>\n<figure class=\"\n              sqs-block-image-figure\n              intrinsic\n            \"><\/p>\n<p>                <img decoding=\"async\" data-stretch=\"false\" data-image=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208371806-6BODWO0T8BC2C72HFI8P\/3.png\" data-image-dimensions=\"526x1146\" data-image-focal-point=\"0.5,0.5\" alt=\"\" data-load=\"false\" src=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208371806-6BODWO0T8BC2C72HFI8P\/3.png?format=1000w\" width=\"526\" height=\"1146\" loading=\"lazy\" data-loader=\"sqs\"><\/p>\n<\/figure>\n<p class=\"\">Some of the analysis pieces occurring with the Photos happens in the mediaanalysis.db file.&nbsp; This file is analyzing and scoring the media files and producing results that seems to feed into other pieces of the analysis.&nbsp; Some scoring results to highlight are ones that focus on Humans, Faces, and Pets. &nbsp;<\/p>\n<p class=\"\">Path: \/private\/var\/mobile\/Media\/MediaAnalysis\/mediaanalysis.db<\/p>\n<p class=\"\"> The \u2018Results\u2019 table of the mediaanalysis.db file contains the \u2018assetId\u2019 which represents a media file, a \u2018resultsType\u2019 which is the specific analytical type and score value found in that media file, and a BLOB (binary large object) which is a binary .plist (bplist).&nbsp; You can see in the image below, the \u2018assetId\u2019 3 has numerous \u2018resultsType\u2019 associated with it and the BLOB for \u2018resultsType\u2019 of 1 is selected and on the right you can see the bplist. &nbsp;<\/p>\n<figure class=\"\n              sqs-block-image-figure\n              intrinsic\n            \"><\/p>\n<p>                <img decoding=\"async\" data-stretch=\"false\" data-image=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208405189-G5BZENVJCIKT1KFP7A9L\/4.png\" data-image-dimensions=\"677x311\" data-image-focal-point=\"0.5,0.5\" alt=\"\" data-load=\"false\" src=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208405189-G5BZENVJCIKT1KFP7A9L\/4.png?format=1000w\" width=\"677\" height=\"311\" loading=\"lazy\" data-loader=\"sqs\"><\/p>\n<\/figure>\n<p class=\"\">That bplist can be printed to a text file by saving the bplist as a file and then using \u2018plutil\u2019 to print it to a text file. As you can see below beside the red star, the printed text is a clean presentation of that .bplist and it tells us that \u2018resultsType\u2019 of 1 is associated with Faces based on the scoring. &nbsp;<\/p>\n<figure class=\"\n              sqs-block-image-figure\n              intrinsic\n            \"><\/p>\n<p>                <img decoding=\"async\" data-stretch=\"false\" data-image=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208426269-JUAQL60347KZEQQG784Z\/image-asset.png\" data-image-dimensions=\"2430x978\" data-image-focal-point=\"0.5,0.5\" alt=\"\" data-load=\"false\" src=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208426269-JUAQL60347KZEQQG784Z\/image-asset.png?format=1000w\" width=\"2430\" height=\"978\" loading=\"lazy\" data-loader=\"sqs\"><\/p>\n<\/figure>\n<p class=\"\">I repeated that process for the remaining pieces of data and wrote a brief description of the results type for each, although my device still had a few types that did not have any results.<\/p>\n<figure class=\"\n              sqs-block-image-figure\n              intrinsic\n            \"><\/p>\n<p>                <img decoding=\"async\" data-stretch=\"false\" data-image=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208492015-YPXEVM42LD6EQ9DWPLDZ\/6.png\" data-image-dimensions=\"578x812\" data-image-focal-point=\"0.5,0.5\" alt=\"\" data-load=\"false\" src=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208492015-YPXEVM42LD6EQ9DWPLDZ\/6.png?format=1000w\" width=\"578\" height=\"812\" loading=\"lazy\" data-loader=\"sqs\"><\/p>\n<\/figure>\n<figure class=\"\n              sqs-block-image-figure\n              intrinsic\n            \"><\/p>\n<p>                <img decoding=\"async\" data-stretch=\"false\" data-image=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208508279-QS6EVSM4HWXRWWXKZ0SN\/image-asset.png\" data-image-dimensions=\"1974x802\" data-image-focal-point=\"0.5,0.5\" alt=\"\" data-load=\"false\" src=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208508279-QS6EVSM4HWXRWWXKZ0SN\/image-asset.png?format=1000w\" width=\"1974\" height=\"802\" loading=\"lazy\" data-loader=\"sqs\"><\/p>\n<\/figure>\n<p class=\"\">After running a SQL Query against this database, you can sort the results to potentially see just files that have the results type for \u2018humanBounds\u2019 and \u2018humanConfidence\u2019.&nbsp; The \u2018localIdentifier\u2019 column from the \u201cassets\u2019 table is a UUID which matches up to the ZGENERICASSETS table of the Photos.sqlite. &nbsp;<\/p>\n<p class=\"\">Here is the query for the mediaanalysis.db file.&nbsp; It\u2019s big and ugly but please test it out if you\u2019re interested, but this piece just seems to build into what we will see later in the Photos.sqlite where this all comes together.<\/p>\n<pre><code>select<\/code><\/pre>\n<pre><code>\ta.id,<\/code><\/pre>\n<pre><code>\ta.localIdentifier as \"Local Identifier\",<\/code><\/pre>\n<pre><code>\ta.analysisTypes as \"Analysis Types\",<\/code><\/pre>\n<pre><code>\tdatetime(a.dateModified+978307200, 'unixepoch') as \"Date Modified (UTC)\",<\/code><\/pre>\n<pre><code>\tdatetime(a.dateAnalyzed+978307200, 'unixepoch') as \"Date Analyzed (UTC)\",<\/code><\/pre>\n<pre><code>CASE<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 1 then \"Face Bounds \/ Position \/ Quality\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 2 then \"Shot Type\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 3 then \"Duration \/ Quality \/ Start\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 4 then \"Duration \/ Quality \/ Start\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 5 then \"Duration \/ Quality \/ Start\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 6 then \"Duration \/ Flags \/ Start\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 7 then \"Duration \/ Flags \/ Start\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 15 then \"Duration \/ Quality \/ Start\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 19 then \"Duration \/ Quality \/ Start\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 22 then \"Duration \/ Quality \/ Start\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 23 then \"Duration \/ Quality \/ Start\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 24 then \"Duration \/ Quality \/ Start\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 25 then \"Duration \/ Quality \/ Start\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 27 then \"Duration \/ Quality \/ Start\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 36 then \"Duration \/ Quality \/ Start\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 37 then \"Duration \/ Quality \/ Start\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 38 then \"Duration \/ Quality \/ Start\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 39 then \"Duration \/ Quality \/ Start\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 48 then \"Duration \/ Quality \/ Start\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 8 then \"UNK\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 11 then \"UNK\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 13 then \"UNK\"<\/code><\/pre>\n<pre><code> \twhen results.resultsType = 21 then \"UNK\u201d <\/code><\/pre>\n<pre><code>\twhen results.resultsType = 26 then \"UNK\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 31 then \"UNK\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 42 then \"UNK\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 45 then \"UNK\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 49 then \"UNK\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 9 then \"Attributes - junk\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 10 then 'Attributes - sharpness'<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 12 then \"Attributes - featureVector\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 14 then \"Attributes - Data\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 16 then \"Attributes - orientation\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 17 then 'Quality'<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 18 then \"Attributes - objectBounds\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 20 then \"Saliency Bounds and Confidence\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 28 then \"Attributes - faceId \/ facePrint\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 29 then \"Attributes - petsBounds and Confidence\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 30 then \"Various Scoring Values\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 32 then \"Attributes - bestPlaybackCrop\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 33 then \"Attributes - keyFrameScore \/ keyFrameTime\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 34 then \"Attributes - underExpose\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 35 then \"Attributes - longExposureSuggestionState \/ loopSuggestionState\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 40 then \"Attributes - petBounds and Confidence\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 41 then \"Attributes - humanBounds and Confidence\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 43 then \"Attributes - absoluteScore\/ humanScore\/ relativeScore\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 44 then \"Attributes - energyValues\/ peakValues\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 46 then \"Attributes - sceneprint\/ EspressoModelImagePrint\"<\/code><\/pre>\n<pre><code>\twhen results.resultsType = 47 then \"Attributes - flashFired, sharpness, stillTime, texture\"<\/code><\/pre>\n<pre><code>end as \"Results Type\",<\/code><\/pre>\n<pre><code>\thex(results.results) as \"Results BLOB\"<\/code><\/pre>\n<pre><code>from assets a<\/code><\/pre>\n<pre><code>left join results on results.assetId=a.id<\/code><\/pre>\n<figure class=\"\n              sqs-block-image-figure\n              intrinsic\n            \"><\/p>\n<p>                <img decoding=\"async\" data-stretch=\"false\" data-image=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208668792-HTA4O36GQGLNZ9JGEXNJ\/8.png\" data-image-dimensions=\"908x439\" data-image-focal-point=\"0.5,0.5\" alt=\"\" data-load=\"false\" src=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208668792-HTA4O36GQGLNZ9JGEXNJ\/8.png?format=1000w\" width=\"908\" height=\"439\" loading=\"lazy\" data-loader=\"sqs\"><\/p>\n<\/figure>\n<p class=\"\">Before diving into the Photos.sqlite file, I want to first point out the file recording the text strings as an apparent result of Apple\u2019s object analysis of the photos.&nbsp; This file stores the text results which empower our ability to search text strings in the Photos application and return results.&nbsp; The text strings are not necessarily a result of any specific user activity, but instead an output from analysis automatically being deployed by Apple against the user\u2019s media files. &nbsp;<\/p>\n<p class=\"\">Path: \/private\/var\/mobile\/Media\/PhotoData\/Caches\/search\/psi.sqlite<\/p>\n<p class=\"\">The \u2018word_embedding\u2019 table within psi.sqlite contains columns \u2018word\u2019 and \u2018extended_word\u2019 which are just strings stored in BLOB\u2019s.&nbsp; Using DB Browser for SQLite you can export the table to a CSV and it prints the strings from the BLOB\u2019s pretty cleanly.&nbsp; Separately there is also a table named \u2018collections\u2019 that has \u2018title\u2019 and \u2018subtitle\u2019 columns that appear to be a history of the Memories and Categories that have been used or ones that will be used.<\/p>\n<figure class=\"\n              sqs-block-image-figure\n              intrinsic\n            \"><\/p>\n<p>                <img decoding=\"async\" data-stretch=\"false\" data-image=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208719735-B1TKCXOYV7EU836IC729\/9.png\" data-image-dimensions=\"286x574\" data-image-focal-point=\"0.5,0.5\" alt=\"\" data-load=\"false\" src=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208719735-B1TKCXOYV7EU836IC729\/9.png?format=1000w\" width=\"286\" height=\"574\" loading=\"lazy\" data-loader=\"sqs\"><\/p>\n<\/figure>\n<figure class=\"\n              sqs-block-image-figure\n              intrinsic\n            \"><\/p>\n<p>                <img decoding=\"async\" data-stretch=\"false\" data-image=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208736650-0OPPRJ593VIZ46G5QBGO\/10.png\" data-image-dimensions=\"652x1428\" data-image-focal-point=\"0.5,0.5\" alt=\"\" data-load=\"false\" src=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208736650-0OPPRJ593VIZ46G5QBGO\/10.png?format=1000w\" width=\"652\" height=\"1428\" loading=\"lazy\" data-loader=\"sqs\"><\/p>\n<\/figure>\n<p class=\"\">The last table in psi.sqlite to mention for this piece is the \u2018groups\u2019 table.&nbsp; Within the groups table the \u2018content_string\u2019 contains some really interesting data.&nbsp; I initially set out to find just the words \u201cGreen Bay\u201d as it was something populated in my text search for the letter \u201cg\u201d.&nbsp; What I found was far more interesting.&nbsp; I did find \u201cGreen Bay\u201d but additionally found in one of the other BLOB\u2019s, \u201cGreen Bay Packers vs. Miami Dolphins\u201d.&nbsp; That BLOB has a little extra flavor added by Apple for me.&nbsp; Whether they simply used my geo coordinates baked into my photos from being at Lambeau Field, or analyzed the content of the photos and found the various Miami Dolphins jerseys &#8211; I\u2019m not sure.&nbsp; But a very interesting artifact that is absolutely accurate, dropped in there for me.&nbsp; Thanks Apple!<\/p>\n<figure class=\"\n              sqs-block-image-figure\n              intrinsic\n            \"><\/p>\n<p>                <img decoding=\"async\" data-stretch=\"false\" data-image=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208757359-XBR120KHPRYTEH5TT8HG\/image-asset.png\" data-image-dimensions=\"1143x216\" data-image-focal-point=\"0.5,0.5\" alt=\"\" data-load=\"false\" src=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208757359-XBR120KHPRYTEH5TT8HG\/image-asset.png?format=1000w\" width=\"1143\" height=\"216\" loading=\"lazy\" data-loader=\"sqs\"><\/p>\n<\/figure>\n<p class=\"\">Now let\u2019s tackle Photos.sqlite, but only as it pertains to facial recognition and associating photos of people to an actual name.&nbsp; Because quite honestly this singular file is nearly a full time job if someone wanted to parse every inch of it, and maintain that support.<\/p>\n<p class=\"\">Path: \/private\/var\/mobile\/Media\/PhotoData\/Photos.sqlite<\/p>\n<p class=\"\">My instance of Photos.sqlite is a beast, weighing in at over 300MB and containing 67 tables packed full of data about my Photos.&nbsp; We are going to focus on two tables &#8211; ZDETECTEDFACE and ZPERSON. &nbsp;<\/p>\n<h3>ZDETECTEDFACE&nbsp;<\/h3>\n<p class=\"\">This table contains values that indicate features about faces to include an estimate of age, hair color, baldness, gender, eye glasses, and facial hair.&nbsp; Additionally there are indicators for if the left or right eyes were closed, and X and Y axis measurements for the left eye, right eye, mouth and center.&nbsp; So the data in this table is extremely granular, and was quite fun to work through.&nbsp; Who doesn\u2019t like looking at old photos?<\/p>\n<figure class=\"\n              sqs-block-image-figure\n              intrinsic\n            \"><\/p>\n<p>                <img decoding=\"async\" data-stretch=\"false\" data-image=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208807585-Z42C5X378ML8VP7J8L5Y\/image-asset.png\" data-image-dimensions=\"701x155\" data-image-focal-point=\"0.5,0.5\" alt=\"\" data-load=\"false\" src=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208807585-Z42C5X378ML8VP7J8L5Y\/image-asset.png?format=1000w\" width=\"701\" height=\"155\" loading=\"lazy\" data-loader=\"sqs\"><\/p>\n<\/figure>\n<h3>ZPERSON<\/h3>\n<p class=\"\">This table contains a count for the number of times Apple has been able to identify a certain face from the media files.&nbsp; So in my device, I am recognized by name for hundreds of photos, but there are also photos of me where it hasn\u2019t associated my name with my face. &nbsp; For each face identified, a UUID (Unique Identifier) is assigned.&nbsp; So although the analytics piece may not be able to connect a face with a name, it can group all identified instances of the unknown faces as being the same person.&nbsp;<\/p>\n<figure class=\"\n              sqs-block-image-figure\n              intrinsic\n            \"><\/p>\n<p>                <img decoding=\"async\" data-stretch=\"false\" data-image=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208836134-9YE0SW7SH6KK4O2FHOQ8\/13.png\" data-image-dimensions=\"1329x265\" data-image-focal-point=\"0.5,0.5\" alt=\"\" data-load=\"false\" src=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208836134-9YE0SW7SH6KK4O2FHOQ8\/13.png?format=1000w\" width=\"1329\" height=\"265\" loading=\"lazy\" data-loader=\"sqs\"><\/p>\n<\/figure>\n<p class=\"\">If there is an association made between the person\u2019s face and a saved contact, the ZCONTACTMATCHINGDICTIONARY column\u2019s BLOB data can possibly reveal a full name and the phone number.&nbsp; This again can be achieved by printing the bplist to a .txt file.<\/p>\n<figure class=\"\n              sqs-block-image-figure\n              intrinsic\n            \"><\/p>\n<p>                <img decoding=\"async\" data-stretch=\"false\" data-image=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208852893-BXA7TXJV1XTZ8KBALHF0\/14.png\" data-image-dimensions=\"1306x232\" data-image-focal-point=\"0.5,0.5\" alt=\"\" data-load=\"false\" src=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208852893-BXA7TXJV1XTZ8KBALHF0\/14.png?format=1000w\" width=\"1306\" height=\"232\" loading=\"lazy\" data-loader=\"sqs\"><\/p>\n<\/figure>\n<figure class=\"\n              sqs-block-image-figure\n              intrinsic\n            \"><\/p>\n<p>                <img decoding=\"async\" data-stretch=\"false\" data-image=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208869366-240JNT6KM7Q74EL7T4BI\/image-asset.png\" data-image-dimensions=\"2272x1428\" data-image-focal-point=\"0.5,0.5\" alt=\"\" data-load=\"false\" src=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595208869366-240JNT6KM7Q74EL7T4BI\/image-asset.png?format=1000w\" width=\"2272\" height=\"1428\" loading=\"lazy\" data-loader=\"sqs\"><\/p>\n<\/figure>\n<pre><code>select<\/code><\/pre>\n<pre><code>\tzga.z_pk,<\/code><\/pre>\n<pre><code>\tzga.ZDIRECTORY as \"Directory\",<\/code><\/pre>\n<pre><code>\tzga.ZFILENAME as \"File Name\",<\/code><\/pre>\n<pre><code>CASE<\/code><\/pre>\n<pre><code>\twhen zga.ZFACEAREAPOINTS &gt; 0 then \"Yes\"<\/code><\/pre>\n<pre><code>\telse \"N\/A\"<\/code><\/pre>\n<pre><code>\tend as \"Face Detected in Photo\",<\/code><\/pre>\n<pre><code>CASE <\/code><\/pre>\n<pre><code>\twhen zdf.ZAGETYPE = 1 then \"Baby \/ Toddler\"<\/code><\/pre>\n<pre><code>\twhen zdf.ZAGETYPE = 2 then \"Baby \/ Toddler\"<\/code><\/pre>\n<pre><code>\twhen zdf.ZAGETYPE = 3 then \"Child \/ Young Adult\"<\/code><\/pre>\n<pre><code>\twhen zdf.ZAGETYPE = 4 then \"Young Adult \/ Adult\"<\/code><\/pre>\n<pre><code>\twhen zdf.ZAGETYPE = 5 then \"Adult\"<\/code><\/pre>\n<pre><code>end as \"Age Type Estimate\",<\/code><\/pre>\n<pre><code>case<\/code><\/pre>\n<pre><code>\twhen zdf.ZGENDERTYPE = 1 then \"Male\"<\/code><\/pre>\n<pre><code>\twhen zdf.ZGENDERTYPE = 2 then \"Female\"<\/code><\/pre>\n<pre><code>\telse \"UNK\"<\/code><\/pre>\n<pre><code>end as \"Gender\",<\/code><\/pre>\n<pre><code>\tzp.ZDISPLAYNAME as \"Display Name\", <\/code><\/pre>\n<pre><code>\tzp.ZFULLNAME as \"Full Name\",<\/code><\/pre>\n<pre><code>\tzp.ZFACECOUNT as \"Face Count\",<\/code><\/pre>\n<pre><code>CASE\t<\/code><\/pre>\n<pre><code>\twhen zdf.ZGLASSESTYPE = 3 then \"None\"<\/code><\/pre>\n<pre><code>\twhen zdf.ZGLASSESTYPE = 2 then \"Sun\"<\/code><\/pre>\n<pre><code>\twhen zdf.ZGLASSESTYPE = 1 then \"Eye\"<\/code><\/pre>\n<pre><code>\telse \"UNK\"<\/code><\/pre>\n<pre><code>end as \"Glasses Type\",<\/code><\/pre>\n<pre><code>CASE<\/code><\/pre>\n<pre><code>\twhen zdf.ZFACIALHAIRTYPE = 1 then \"None\"<\/code><\/pre>\n<pre><code>\twhen zdf.ZFACIALHAIRTYPE = 2 then \"Beard \/ Mustache\"<\/code><\/pre>\n<pre><code>\twhen zdf.ZFACIALHAIRTYPE = 3 then \"Goatee\"<\/code><\/pre>\n<pre><code>\twhen zdf.ZFACIALHAIRTYPE = 5 then \"Stubble\"<\/code><\/pre>\n<pre><code>\telse \"UNK\"<\/code><\/pre>\n<pre><code>end as \"Facial Hair Type\",<\/code><\/pre>\n<pre><code>CASE\t<\/code><\/pre>\n<pre><code>\twhen zdf.ZBALDTYPE = 2 then \"Bald\"<\/code><\/pre>\n<pre><code>\twhen zdf.ZBALDTYPE = 3 then \"Not Bald\"<\/code><\/pre>\n<pre><code>end as \"Baldness\",<\/code><\/pre>\n<pre><code>CASE<\/code><\/pre>\n<pre><code>\twhen zga.zlatitude = -180<\/code><\/pre>\n<pre><code>\tthen 'N\/A'<\/code><\/pre>\n<pre><code>\telse zga.ZLATITUDE<\/code><\/pre>\n<pre><code>end as \"Latitude\",<\/code><\/pre>\n<pre><code>CASE<\/code><\/pre>\n<pre><code>\twhen zga.ZLONGITUDE = -180 <\/code><\/pre>\n<pre><code>\tthen 'N\/A' <\/code><\/pre>\n<pre><code>\telse zga.ZLONGITUDE<\/code><\/pre>\n<pre><code>end as \"Longitude\",<\/code><\/pre>\n<pre><code>\tdatetime(zga.zaddeddate+978307200, 'unixepoch') as \"Date Added (UTC)\",<\/code><\/pre>\n<pre><code>\tZMOMENT.ztitle as \"Location Title\"<\/code><\/pre>\n<pre><code>from zgenericasset zga<\/code><\/pre>\n<pre><code>left join zmoment on zmoment.Z_PK=zga.ZMOMENT<\/code><\/pre>\n<pre><code>left join ZDETECTEDFACE zdf on zdf.ZASSET=zga.Z_PK<\/code><\/pre>\n<pre><code>left join ZPERSON zp on zp.Z_PK=zdf.ZPERSON<\/code><\/pre>\n<pre><code>where zga.ZFACEAREAPOINTS &gt; 0<\/code><\/pre>\n<p class=\"\">Below is a sample of the output of this analysis, paired with the photo the metadata came from.&nbsp; You can see it is able to identify me and my two daughters by name, and accurately assess our genders, my sunglasses and facial hair. &nbsp;<\/p>\n<figure class=\"\n              sqs-block-image-figure\n              intrinsic\n            \"><\/p>\n<p>                <img decoding=\"async\" data-stretch=\"false\" data-image=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595209068087-KOVF70E7B2869M7RC10J\/16.png\" data-image-dimensions=\"933x88\" data-image-focal-point=\"0.5,0.5\" alt=\"\" data-load=\"false\" src=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595209068087-KOVF70E7B2869M7RC10J\/16.png?format=1000w\" width=\"933\" height=\"88\" loading=\"lazy\" data-loader=\"sqs\"><\/p>\n<\/figure>\n<figure class=\"\n              sqs-block-image-figure\n              intrinsic\n            \"><\/p>\n<p>                <img decoding=\"async\" data-stretch=\"false\" data-image=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595209080538-4MZ69W78CEAUF73I24LL\/17.png\" data-image-dimensions=\"514x617\" data-image-focal-point=\"0.5,0.5\" alt=\"\" data-load=\"false\" src=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/53836afce4b0ea0513df946a\/1595209080538-4MZ69W78CEAUF73I24LL\/17.png?format=1000w\" width=\"514\" height=\"617\" loading=\"lazy\" data-loader=\"sqs\"><\/p>\n<\/figure>\n<p class=\"\">Please test, verify, and give me a shout on Twitter <a href=\"https:\/\/twitter.com\/bizzybarney\">@bizzybarney<\/a> with any questions or concerns. &nbsp;<\/p>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><br \/>\n<br \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Facial Recognition in Photos One facet of my DFIR Summit talk I want to expand upon is a look into the Photos application, and a few of the derivative pieces of that endeavor.&nbsp; While trying to focus on the topic of facial recognition, it seemed prudent to include a brief progression from snapping a photo [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":72979,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11768],"tags":[15668,25027,37923,37922,3554,3117,1549,3687,3061,1231],"dealstore":[],"offerexpiration":[],"class_list":["post-72978","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-apple-2","tag-bets","tag-bizzybarney","tag-dfir","tag-followon","tag-ios","tag-lucky","tag-press","tag-summit","tag-talk","tag-time"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Follow-on to DFIR Summit Talk: Lucky (iOS) 13: Time To Press Your Bets (via @bizzybarney) - Som2ny Network<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fivemor.com\/?p=72978\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Follow-on to DFIR Summit Talk: Lucky (iOS) 13: Time To Press Your Bets (via @bizzybarney) - Som2ny Network\" \/>\n<meta property=\"og:description\" content=\"Facial Recognition in Photos One facet of my DFIR Summit talk I want to expand upon is a look into the Photos application, and a few of the derivative pieces of that endeavor.&nbsp; While trying to focus on the topic of facial recognition, it seemed prudent to include a brief progression from snapping a photo [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fivemor.com\/?p=72978\" \/>\n<meta property=\"og:site_name\" content=\"Som2ny Network\" \/>\n<meta property=\"article:published_time\" content=\"2025-02-07T05:22:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/02\/17.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"365\" \/>\n\t<meta property=\"og:image:height\" content=\"438\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fivemor.com\/?p=72978#article\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/?p=72978\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371\"},\"headline\":\"Follow-on to DFIR Summit Talk: Lucky (iOS) 13: Time To Press Your Bets (via @bizzybarney)\",\"datePublished\":\"2025-02-07T05:22:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fivemor.com\/?p=72978\"},\"wordCount\":1348,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fivemor.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/?p=72978#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/02\/17.jpg\",\"keywords\":[\"bets\",\"bizzybarney\",\"DFIR\",\"Followon\",\"iOS\",\"Lucky\",\"Press\",\"Summit\",\"Talk\",\"Time\"],\"articleSection\":[\"Apple\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fivemor.com\/?p=72978#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fivemor.com\/?p=72978\",\"url\":\"https:\/\/fivemor.com\/?p=72978\",\"name\":\"Follow-on to DFIR Summit Talk: Lucky (iOS) 13: Time To Press Your Bets (via @bizzybarney) - Som2ny Network\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fivemor.com\/?p=72978#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/?p=72978#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/02\/17.jpg\",\"datePublished\":\"2025-02-07T05:22:14+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fivemor.com\/?p=72978#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fivemor.com\/?p=72978\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/?p=72978#primaryimage\",\"url\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/02\/17.jpg\",\"contentUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/02\/17.jpg\",\"width\":365,\"height\":438},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fivemor.com\/?p=72978#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fivemor.com\/?bp_activities=1\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Follow-on to DFIR Summit Talk: Lucky (iOS) 13: Time To Press Your Bets (via @bizzybarney)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fivemor.com\/#website\",\"url\":\"https:\/\/fivemor.com\/\",\"name\":\"Som2ny Network\",\"description\":\"Daily Deals\",\"publisher\":{\"@id\":\"https:\/\/fivemor.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fivemor.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/fivemor.com\/#organization\",\"name\":\"Som2ny Network\",\"url\":\"https:\/\/fivemor.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png\",\"contentUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png\",\"width\":300,\"height\":86,\"caption\":\"Som2ny Network\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/fivemor.com\"],\"url\":\"https:\/\/fivemor.com\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Follow-on to DFIR Summit Talk: Lucky (iOS) 13: Time To Press Your Bets (via @bizzybarney) - Som2ny Network","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fivemor.com\/?p=72978","og_locale":"en_US","og_type":"article","og_title":"Follow-on to DFIR Summit Talk: Lucky (iOS) 13: Time To Press Your Bets (via @bizzybarney) - Som2ny Network","og_description":"Facial Recognition in Photos One facet of my DFIR Summit talk I want to expand upon is a look into the Photos application, and a few of the derivative pieces of that endeavor.&nbsp; While trying to focus on the topic of facial recognition, it seemed prudent to include a brief progression from snapping a photo [&hellip;]","og_url":"https:\/\/fivemor.com\/?p=72978","og_site_name":"Som2ny Network","article_published_time":"2025-02-07T05:22:14+00:00","og_image":[{"width":365,"height":438,"url":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/02\/17.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fivemor.com\/?p=72978#article","isPartOf":{"@id":"https:\/\/fivemor.com\/?p=72978"},"author":{"name":"admin","@id":"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371"},"headline":"Follow-on to DFIR Summit Talk: Lucky (iOS) 13: Time To Press Your Bets (via @bizzybarney)","datePublished":"2025-02-07T05:22:14+00:00","mainEntityOfPage":{"@id":"https:\/\/fivemor.com\/?p=72978"},"wordCount":1348,"commentCount":0,"publisher":{"@id":"https:\/\/fivemor.com\/#organization"},"image":{"@id":"https:\/\/fivemor.com\/?p=72978#primaryimage"},"thumbnailUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/02\/17.jpg","keywords":["bets","bizzybarney","DFIR","Followon","iOS","Lucky","Press","Summit","Talk","Time"],"articleSection":["Apple"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fivemor.com\/?p=72978#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fivemor.com\/?p=72978","url":"https:\/\/fivemor.com\/?p=72978","name":"Follow-on to DFIR Summit Talk: Lucky (iOS) 13: Time To Press Your Bets (via @bizzybarney) - Som2ny Network","isPartOf":{"@id":"https:\/\/fivemor.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fivemor.com\/?p=72978#primaryimage"},"image":{"@id":"https:\/\/fivemor.com\/?p=72978#primaryimage"},"thumbnailUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/02\/17.jpg","datePublished":"2025-02-07T05:22:14+00:00","breadcrumb":{"@id":"https:\/\/fivemor.com\/?p=72978#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fivemor.com\/?p=72978"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/?p=72978#primaryimage","url":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/02\/17.jpg","contentUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/02\/17.jpg","width":365,"height":438},{"@type":"BreadcrumbList","@id":"https:\/\/fivemor.com\/?p=72978#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fivemor.com\/?bp_activities=1"},{"@type":"ListItem","position":2,"name":"Follow-on to DFIR Summit Talk: Lucky (iOS) 13: Time To Press Your Bets (via @bizzybarney)"}]},{"@type":"WebSite","@id":"https:\/\/fivemor.com\/#website","url":"https:\/\/fivemor.com\/","name":"Som2ny Network","description":"Daily Deals","publisher":{"@id":"https:\/\/fivemor.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fivemor.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/fivemor.com\/#organization","name":"Som2ny Network","url":"https:\/\/fivemor.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/#\/schema\/logo\/image\/","url":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png","contentUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png","width":300,"height":86,"caption":"Som2ny Network"},"image":{"@id":"https:\/\/fivemor.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png","caption":"admin"},"sameAs":["https:\/\/fivemor.com"],"url":"https:\/\/fivemor.com\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts\/72978","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=72978"}],"version-history":[{"count":0,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts\/72978\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/media\/72979"}],"wp:attachment":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=72978"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=72978"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=72978"},{"taxonomy":"dealstore","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fdealstore&post=72978"},{"taxonomy":"offerexpiration","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fofferexpiration&post=72978"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}