Hi, I have added widgets to my iOS app and I would like to make this feature only accessible to pro users that have made a non-consumable in-app purchase. Currently, I am doing the following: I store an isUnlocked property in the Keychain after the purchase is made I read data to be displayed in the widget and here I also query the Keychain and store whether the widget is unlocked I have no refresh policy, but only change the widget data on a significant time change a different view is displayed when the app is locked Some dummy code snippets: func getTimeline(in context: Context, completion: @escaping (Timeline) -> Void) { ttlet entry = readContents() ttlet timeline = Timeline(entries: [entry], policy: .never) ttcompletion(timeline) } struct WidgetEntryView: View { ttlet entry: Provider.Entry @Environment(.widgetFamily) var family @ViewBuilder var body: some View { switch family { case .systemSmall: if !entry.isUnlocked { LockedWidgetView() } else if let event = entry.event { SmallWidgetEventView