Hi,
We are developing an iOS/watchOS app that uses CloudKit private database and CKShare to let athletes share training data with their coaches.
Current architecture:
- Each athlete owns their data in their privateCloudDatabase.
- The athlete can share selected records with a coach using CKShare.
- The coach accesses the shared data through the sharedCloudDatabase.
- This works very well for privacy, ownership, and permission management.
The issue: Many athletes do not have enough available personal iCloud storage. When their iCloud storage is full, our app cannot save/sync/share new records in their privateCloudDatabase. This breaks the coach-athlete sharing flow, even if the coach is paying for a subscription in our app.
Question: Is there any Apple-supported way for an app developer, or a coach/team organization using our app, to sponsor, allocate, or purchase additional iCloud storage specifically for a user’s app-specific CloudKit private database data?
What we would like to preserve:
- Records stay in the athlete’s privateCloudDatabase.
- The athlete remains the owner of the data.
- CKShare continues to manage sharing permissions and consent.
- The app or coach organization covers the storage cost, instead of requiring every athlete to upgrade their personal iCloud+ plan.
I understand that:
- privateCloudDatabase data counts against the user’s personal iCloud storage quota.
- publicCloudDatabase data counts against the app/container quota.
- CloudKit Database app can be used to manage the app’s CloudKit containers.
However, moving this data to publicCloudDatabase would require us to rebuild part of the permission and sharing model ourselves, and it would not be equivalent to user-owned private records shared via CKShare.
So I would like to confirm:
-
Is there any way to sponsor or allocate app-specific privateCloudDatabase storage for selected users?
-
Is there any Apple Business, Managed Apple Account, enterprise, or developer program option that supports this for sports teams or organizations?
-
If this is not supported, are the only Apple-native alternatives:
- asking users to upgrade iCloud+,
- moving shared/team data to publicCloudDatabase,
- or using a third-party/app-managed backend?
Use case: Our app is used in strength training. A coach may manage many athletes. The coach is willing to pay for the subscription and storage, but athletes often do not want to pay for additional iCloud storage individually.
Thanks.