NoteSync — Hardening Checklist

1. Functional correctness

  • Notes sync between two iCloud devices on the same account within 30 s
  • Sharing a note to a different iCloud account works end-to-end
  • Read-only sharing actually prevents writes (CloudKit enforces; verify)
  • Three-way merge correctly combines non-overlapping edits
  • Conflict UI appears for overlapping edits and resolves without data loss
  • AppIntents all work in Shortcuts and Siri
  • Spotlight returns hits within 1 s after note save

2. Security & privacy

  • All user data lives in user’s iCloud — no third-party servers
  • Privacy Nutrition Label: User Content (Linked, Not used for tracking)
  • PrivacyInfo.xcprivacy declares User Defaults + File Timestamp APIs with reasons
  • No analytics, no crash reporters that ship PII
  • Share URLs are not logged or persisted anywhere outside CloudKit
  • No force-unwraps
  • All try? are deliberate (verify each)

3. CloudKit hygiene

  • Production schema deployed
  • Indexes created on Note.modifiedAt and Note.folderID for query performance
  • Subscriptions cleaned up on sign-out
  • Server change tokens persisted per zone, not globally
  • Recovery from “ChangeTokenExpired” implemented (full re-sync of zone)
  • Quota-exceeded surfaced with actionable UI

4. Performance

  • Cold launch < 1.5 s on both platforms
  • Sync triggered by silent push completes in < 5 s for typical deltas
  • Spotlight reindex on save < 500 ms
  • No retain cycles
  • Memory peak during initial sync of 1000 notes < 100 MB

5. Accessibility

  • VoiceOver navigates note list and detail
  • Dynamic Type up to accessibility5 works
  • Color contrast meets WCAG AA for all text
  • Keyboard navigation full on macOS

6. Localization

  • All UI strings via String(localized:)
  • Date formatting via Date.FormatStyle (locale-aware)
  • Sharing UI labels respect locale
  • AppIntent parameter prompts localized

7. App Store Review

  • iOS: demo iCloud account in Review notes if testing sharing
  • macOS: notarization passes
  • Privacy policy URL live
  • Sign in with Apple flow tested by reviewer can complete in sandbox

8. Documentation

  • README with architecture diagram + screenshots
  • CloudKit zone topology documented
  • Conflict resolution algorithm documented with examples
  • AppIntents listed with example Shortcuts use cases
  • Interview talking points rehearsed

Sign-off

Read interview-talking-points.md.