Hi! I am dealing with the exact same issue in my app. I don't have a good answer for you, but I am pursuing option C from your list above. So far I am able to get a shared record from another user to appear in my shared database, so I don't think it will be a problem to create a core data entity from that shared record and subscribe to changes from that cloud record to update the local record whenever the other user makes a change. Seems overly complicated but I have not found a better way to do it yet. Have you figured out how to get the CKSubscription to work on the shared database?Let me know if you want to exchange code on this problem. Cheers.