3 ms·
Ask HN: Does macOS create a behavioral analytics database with your contacts?
I am curious why the SQLite structures in ~/Library/IntelligencePlatform/ have attracted only little attention so far.
They are created by Apple's intelligenceplatformd respectively knowledgeconstructiond - which actually come with a manpage:
apropos intelligenceplatformd knowledgeconstructiond
> intelligenceplatformd(8) - A daemon that analyzes content on the device to build and query a general purpose knowledge graph
> knowledgeconstructiond(8) - A daemon that analyzes content on the device to build a general purpose knowledge graph
let me propose the following command line:
find ~/Library/IntelligencePlatform/ -name "*.db" -type f -exec echo {} \; -exec sqlite3 {} .dump \;
Here are some examples of the tables defined in ~/Library/IntelligencePlatform/ontology.db
INSERT INTO class VALUES('CS36','religion relationship type');
INSERT INTO predicate VALUES('PS424','member of political party',NULL);
INSERT INTO class VALUES('CS25','type of profession');
Obviously the tables in ~/Library/IntelligencePlatform/views.db define signals to indicate relationships between entities in the graph:
INSERT INTO view_config_hash VALUES('personToPersonInteractionSignals', /* Hash value removed for privacy */ '****');
INSERT INTO view_config_hash VALUES('familyNameEquivalencyFeature', /* Hash value removed for privacy */ '****');
INSERT INTO view_config_hash VALUES('soundAnalysisSignal', /* Hash value removed for privacy */ '****');
INSERT INTO view_config_hash VALUES('sameEmployerSignal', /* Hash value removed for privacy */ '****');
INSERT INTO view_config_hash VALUES('physicalSocialSignal', /* Hash value removed for privacy */ '****');
In general, these types of data could be used to build a detailed profile of an individual, including their habits, preferences, relationships, and more. They could also be used to analyze and predict a person's behavior, and to understand the structure and dynamics of their social network. In addition the structures in ~/Library/IntelligencePlatform/behaviours.db explicitly define histograms, suggesting the tracking of various features over time.
It will most likely not come to your surprise, that Apple embedded your contacts in this framework:
Phone Numbers
sqlite3 ~/Library/IntelligencePlatform/graph.db .dump \; | grep -E '\+\d{8,12}'
E-Mail Addresses
sqlite3 ~/Library/IntelligencePlatform/graph.db .dump \; | grep -E "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b"
What thoughts or additional documentation would you like to share concerning these graphs routinely created by MacOS?
- julienreszka 3y agoWhen I use the find command I get Operation not permitted how do you do it?
- warrenm 3y agopretty sure you need to `sudo su - ` first
- niob 3y agoOn the current release of MacOS Ventura, the framework should be accessible by the default user. If this is not the case for you, it would be interesting to share you system version (output of sw_vers) and post the exact command line with its output. expected behaviour: sw_vers > ProductName: macOS > ProductVersion: 13.5.2 > BuildVersion: 22G91 ll ~/Library/ | grep IntelligencePlatform > drwxr-xr-x 25 [user] staff 800B Sep 15 04:30 IntelligencePlatform/ find ~/Library/IntelligencePlatform/ -name "*.db" -type f -exec echo {} \; -exec sqlite3 {} .dump \; > /Users/[user]/Library/IntelligencePlatform//ontology.db > PRAGMA foreign_keys=OFF; > BEGIN TRANSACTION; > CREATE TABLE grdb_migrations (identifier TEXT NOT NULL PRIMARY KEY); > [all mentioned SQL dumps should follow here]
- julienreszka 3y ago% sw_vers ProductName: macOS ProductVersion: 13.5.2 BuildVersion: 22G91
- pndy 3y agoCould be this a part of new Health app feature - mood tracking? Whatever this is and how long it exist, sounds like it will provide a valuable data for predicting customer behavior. Three letter agencies may also benefit from this - in theory.