VersePanel 选经板
🔒

VersePanel Privacy Policy

Last Updated: 2026-10-11  |  Effective Date: 2026-10-11 v6.2

Core Commitment: This app is a fully offline local Bible study tool. We do not collect any user data, do not connect to any business backend, and never upload your notes, plans, meditations, posters or any other content.

1. Information We Collect

This app does not collect any form of user information. Specifically:

  • Account Information: Not collected. The app has no login, no registration, no account system.
  • Personal Data: Not collected. All user-generated content (UGC) such as your notes, plans, meditations, posters, verse highlights, etc. is stored locally in your device CoreData / Keychain. It never leaves your device.
  • Device Information: Not collected. Standard App Store device model / iOS version metrics are collected by Apple and shown only on the App Store listing, out of the developer's control.
  • Location Information: Not collected.
  • Contacts / Address Book: Not collected.
  • Biometric Data: Not collected.
  • Usage Analytics / Behavior: Not collected. This app does not integrate any analytics SDK (Firebase Analytics, AppsFlyer, Adjust, Umeng, Sensors, etc.).

2. In-App Purchase Receipt Verification

Both auto-renewable subscriptions (weekly / monthly / yearly) and the lifetime one-time purchase are handled by Apple StoreKit 2. After a purchase, a renewal, a restore or a refund update, the app sends the transaction receipt in JWS (JSON Web Signature) format — produced and signed on your device by StoreKit 2 — to https://versepanel.com/ios/api/verify_receipt.php for server-side verification.

The server cryptographically verifies the JWS signature and its certificate chain up to the pinned Apple Root CA - G3, and never forwards your data to any third party. The only information kept is purchase information already contained inside Apple's signed receipt — Apple transaction identifiers, product ID, purchase / expiration / revocation timestamps and the Sandbox/Production flag — used solely to manage subscribers and lifetime licenses (for example detecting renewals and refunds). No user identity, device identifier, location or profile is ever collected. Your purchase state on the device is written to iOS Keychain with kSecAttrAccessibleAfterFirstUnlock, and unlocking works fully offline even when the verification server cannot be reached.

3. Offline Caches

This app stores cached data at the following locations. All storage is local, and everything is wiped automatically when you delete the app:

  • CoreData (SQLite): All your 8 user objects (V.P. verses / Notes / Plans / Meditations / Posters / Highlights / Search History / Bookmarks).
  • Keychain: Trial status (first-launch timestamp, trial ongoing / purchased flag) and purchase receipt bundle (transactionId + productId + purchasedAt).
  • Library/Caches/vsp-html/: Decompressed Bible HTML resources grouped by language, with a 500 MB LRU eviction cap.
  • NSURLCache: WKWebView H5 asset cache (default 50 MB cap).

When you delete the app, the CoreData and Library/Caches directories are automatically wiped by iOS. Keychain entries persist because of kSecAttrAccessibleAfterFirstUnlock — they remain visible only to the same app re-installed on this device.

4. Permissions Explained

All permission declarations (Info.plist NS*UsageDescription entries) are fully optional. They are only requested when you proactively trigger the corresponding feature:

  • NSCameraUsageDescription: Only requested when you capture a photo to attach to a note.
  • NSPhotoLibraryUsageDescription / NSPhotoLibraryAddUsageDescription: Only requested when you pick an existing photo or save a poster to Photos.
  • NSUserNotificationsUsageDescription: Only requested when you proactively subscribe to announcement push notifications (off by default).

This app does not integrate IDFA (Identifier for Advertisers). NSUserTrackingUsageDescription is explicitly false, fully compliant with App Tracking Transparency requirements.

5. Third-Party SDKs

This app does not integrate any third-party SDKs. Every feature (WKWebView, CoreData, StoreKit 2, SQLite FTS5, AVSpeechSynthesizer) is powered by Apple system native APIs only.

When WebKit loads the in-app H5 pages (browse.html / notes.html / plans.html / history.html), the H5 layer uses a wrapper named edge-tts.js (actually a thin Web Speech API shim) which invokes window.speechSynthesis backed by iOS system AVSpeechSynthesizer. No cloud TTS service is ever contacted, no audio is transferred over the network.

6. Children's Privacy

The app content is Bible study material. It contains no targeted content or advertising aimed at children under 13, fully compliant with COPPA (Children's Online Privacy Protection Act) requirements. Since this app is fully offline and collects zero data, no parental consent scenario ever applies.

7. Subscriptions, Lifetime Purchase & Refunds

VIP access is offered either as an auto-renewable subscription (weekly / monthly / yearly) or as a one-time lifetime purchase (Non-Consumable). Subscriptions renew automatically until cancelled in iPhone/iPad Settings → Apple ID → Subscriptions; the lifetime purchase unlocks all features forever. Refunds follow Apple's standard process only:

  • Log in to reportaproblem.apple.com and submit a refund request.
  • Or go to App Store → Account → Purchase History → locate this app → "Report a Problem" → select "I didn't mean to purchase this item".

The developer has no way to bypass Apple's refund flow and issue refunds directly. After Apple processes a refund, the app rolls the license back to "Trial Ongoing" through StoreKit transaction updates and the dual Keychain + server verification path.

8. Data Security

  • Local Storage Encryption: Keychain is protected by iOS system-level encryption by default (accessible after device unlock).
  • Transit Security: The purchase receipt verification connection uses HTTPS (TLS 1.3).
  • Server-side: The receipt verification endpoint only performs cryptographic verification and keeps the Apple purchase records described in Section 2; it processes no personal data.

9. Policy Changes

If material changes are made to this policy, they will be announced via the in-app announcement page, and the "Last Updated" date on this document will be bumped. Continuing to use the app after a policy update constitutes acceptance of the revised terms.

10. Contact Us

If you have any questions regarding this policy, please contact the developer through: