Becky, I think I’d get the local storage sorted out first. I like the idea of referring to a file, blobs seem icky to me too.

You could write a “sync” mechanism to save data using CloudKit and keep local last saved and sync’d times so you can know when you need to push and/or pull data.

Using iCloud for storing the free standing files sounds like a winner to me, especially if you can keep the names consistent.

I’ve worked on a few solutions that do what you’re after but I’ve never used CloudKit, so I can’t give you any decent feedback there. Maybe someone else has experience worth sharing.

Good luck. It sounds like a fun project.