Lukas Kubanek
lukaskubanek.com
Lukas Kubanek
@lukaskubanek.com
Obsessed with structuring things.
macOS & iOS app developer /// Maker of Diagrams for Mac /// Freelancer
#Swift #SwiftUI #AppKit #TCA #CloudKit

🌍 https://lukaskubanek.com
👨‍💻 https://github.com/lukaskubanek
🐘 https://mastodon.social/@lukaskubanek
Here’s more context should you be interested: github.com/pointfreeco/...
October 25, 2025 at 5:06 AM
If it’s reconstructed from system fields only with `CKRecord.encodeSystemFields(with:)` and `CKRecord.init(coder:)`, the ancestor will contain just the metadata.
October 25, 2025 at 5:06 AM
I found that if the record you upload was created from a complete archive using `CKRecord.encode(with:)` or fetched directly from CloudKit, the ancestor record is fully populated.
October 25, 2025 at 5:06 AM
Turns out the behavior isn’t related to encryption after all, but rather to how the record sent to CloudKit is constructed.
October 25, 2025 at 5:06 AM
In my tests, it seems to include values for encrypted fields but not for unencrypted ones. Though, I couldn’t find any documentation confirming this.

Any hints would be much appreciated. Thanks! 🙏
October 24, 2025 at 2:43 PM