Hi everyone,
I'm an independent iOS developer currently working on a family sharing feature for an app designed to support children with additional communication and care needs.
I'm using CloudKit and CKShare, and I'd really appreciate some architectural guidance before moving into live sharing.
The idea is to allow a parent to manage their child's profile and invite family members or teachers to access specific information.
For example:
- Family members could share communication boards, routines and visual supports.
- Teachers could access school-related information and make authorised changes.
- Teachers may also need to record daily observations such as toileting, seizures, eating, drinking and sensory events.
- Parents would control which categories of information teachers can access.
- Private family wellbeing records and caregiver notes must remain inaccessible unless explicitly shared.
I've already successfully tested CloudKit Development connectivity on a physical iPhone, including account status, user identity and private database zone discovery.
Before implementing the actual sharing functionality, I'd like to understand the best approach to managing permissions and keeping sensitive information separate.
My main questions are:
- Would separate custom record zones and CKShare relationships be the recommended approach for isolating school-shared data from family-private data?
- Since CKShare permissions apply at the share level, what's the recommended way to let teachers edit selected information without accessing other sensitive records?
- For parent-controlled access to individual categories such as toileting or seizure observations, would separate shares or zones per category be advisable?
- When a parent revokes a teacher's access, what guarantees does CloudKit provide regarding future access, particularly for previously downloaded data?
- Is there a recommended approach for synchronising school-created observations back into a parent's private history without exposing unrelated family records?
My aim is to keep the experience simple for parents and teachers while ensuring that privacy is enforced by the underlying CloudKit architecture rather than relying solely on UI restrictions.
I'd really appreciate any advice, recommendations or examples from developers or Apple engineers who have worked with similar sharing requirements.
Many thanks!