How does an app like Jomo access Screen Time data on parent devices (not just child devices)?

Hi all,

I'm working on a Screen Time-based app with gamification features for families, where both children and parents interact and compare usage stats. The endgoal of the app is to motivate for less screentime or more use of productive apps. I'm testing Apple's Family Controls API, which works great for getting data from child devices. However, this API doesn't support fetching screen time data on the parent device itself.

Apps like Jomo appear to provide insights and even their own "calculations" on screen time usage directly on the parent device. I have tested a few apps that showed both the usage data for my children and myself and did some nice things with it like creating stats. I've gone through the documentation and APIs extensively, but I can’t figure out how they’re doing this.

As far as I can tell the only solution would be a custom VPN or MDM. However as far as I can tell Jomo for example does not use either of those.

My questions are:

  • Am I missing some API
  • Are apps like Jomo using private APIs which they have been granted access to from Apple?
  • Is there any way to access similar data on a parent device without using MDM or VPN?

Any guidance or clarification would be greatly appreciated!

Update: made some progress, since IOS 16 it seems possible to request individual screen time data from the api's. I am now using the com.apple.deviceactivityui.report-extension and com.apple.deviceactivity.monitor-extensio to get something working. However, still it only returns a view and I am looking for more raw data to do some calculations, challenges, etc. It should be possible as apps like Opal and Jomo do it but from all I can read iOS has restricted everything to return views. Or am I missing some newer API possibilities? Jomo also claims to do their own screen time calculation. Maybe they do something else I am not aware of. Any ideas still very welcom!

How does an app like Jomo access Screen Time data on parent devices (not just child devices)?
 
 
Q