Openly by North Tumbleweed LLC · Last updated April 25, 2026
North Tumbleweed LLC (“we”, “us”) publishes the Openly iOS app, an AI chat client that routes your messages through a Cloudflare Worker proxy to a curated set of open-source language models (DeepSeek V4, DeepSeek V4 Pro, Kimi K2.6, Qwen 3.6, GLM 5.1).
Openly is built around a no-log architecture. We do not store the content of your prompts, the content of model replies, or your IP address on our servers. The only data we keep is what is strictly required to enforce a monthly fair-use cap on your paid subscription. This page details what that means on iOS.
When the app launches, it derives a pseudonymous identifier from Apple’s identifierForVendor. This identifier is unique to Openly on your device and is stable across app launches as long as the app is installed. It is not your AppleID, not your IDFA, and not visible to any other app.
Every request from the app to our backend includes this identifier in the X-Device-ID HTTP header. We use it for one purpose: tracking how much of your monthly fair-use cap you have consumed, so we can enforce the cap on your subscription tier.
When you purchase or restore a subscription, the iOS app passes Apple’s receipt to our backend. The backend validates the receipt against Apple’s receipt-validation endpoint and stores only the validation result (subscription tier and expiration date), keyed against your anonymous device identifier.
Your conversation history is stored on your device using Apple’s SwiftData framework. It never leaves your iPhone. Our servers do not see, store, or back up your conversations.
Specifically, the Openly iOS app does not collect or use:
Openly intentionally ships with no analytics, advertising, attribution, or measurement SDKs. The complete list of third parties that ever see anything from the iOS app is:
| Third party | What it receives | Why |
|---|---|---|
| Cloudflare | The HTTPS request as it transits the edge (request line and your X-Device-ID header). The Worker handler discards the source IP and never writes the prompt or reply to any log. |
Hosts the Worker proxy and the cap-counter Durable Object at api.openly.chat. |
| Novita | The text of your prompt and the chosen model name. No device identifier, no IP, no subscription information, no other identifier. | Generates the model response. Contractually bound to a no-log clause — the prompt and reply are not retained, not used for training, and not used for any other purpose. |
| Apple | Subscription purchase events through StoreKit (purchase, renewal, cancellation, refund). Standard iOS crash signatures if you have crash reporting enabled in iOS Settings. | Processes payment, issues the receipt, manages auto-renewal. We never see your AppleID, billing address, or payment card. |
That is the entire third-party surface. There are no other SDKs, no other endpoints, and no other recipients of any data from Openly.
Openly requests no iOS runtime permissions. The following permission prompts you have seen in other apps will never appear in Openly because the corresponding capability is not used:
Apple requires apps to show the App Tracking Transparency (ATT) prompt before collecting the device’s Advertising Identifier (IDFA) for tracking across apps and websites owned by other companies. Openly does not show the ATT prompt because Openly does not collect the IDFA, does not perform cross-app or cross-site tracking, and does not share any data with data brokers.
Per Apple’s definition of “tracking,” nothing Openly does qualifies. The anonymous device identifier we use is a per-vendor value that exists only inside Openly’s data scope; it is not linked to data from other apps and is not shared with third parties for advertising purposes.
| Data | Where it lives | How long |
|---|---|---|
| Anonymous device identifier + monthly cap counter | Cloudflare Workers KV / Durable Object | Active month plus a short rolling window. Auto-deleted after 90 days of inactivity. |
| Receipt-validation cache entry | Cloudflare Workers KV | Until your subscription expires plus a short grace window. |
| Conversations (prompts and replies) | Locally on your device (SwiftData) | Until you delete them in-app or uninstall. |
| Subscription records | Apple’s App Store | Per Apple’s policies and applicable tax / accounting law. |
One-tap reset. Open Openly, then go to Settings → Delete all data. This wipes:
By email. If you cannot open the app, email support@openly.chat and we will manually delete any cap counter and receipt-validation entry tied to a device identifier you provide.
GDPR / CCPA. Because the only personal data we hold is the device identifier and the cap counter, “right of access” and “right of erasure” are functionally identical to the in-app reset. For the formal legal basis under GDPR and the rights conferred by CCPA, see the general Privacy Policy.
Openly offers two auto-renewing monthly subscriptions through Apple’s App Store: Openly ($9.99 / month) and Openly Plus ($29.99 / month). Current pricing is shown in the app at the moment of purchase.
Auto-renewal. Payment is charged to your Apple Account at confirmation of purchase. Subscriptions automatically renew unless cancelled at least 24 hours before the end of the current period. Your payment method is charged for renewal within 24 hours prior to the end of the current period.
How to cancel. Open iOS Settings → [your name] → Subscriptions → Openly and tap Cancel Subscription. You can also reach the same screen from inside Openly at Settings → Manage Subscription.
Refunds. Refund requests for App Store purchases are handled by Apple at reportaproblem.apple.com.
We may update this Privacy Policy from time to time. When we do, we update the “Last updated” date at the top. Continued use of Openly after a change constitutes acceptance of the updated policy. For material changes we will make reasonable efforts to notify you in-app.
Questions about this iOS Privacy Policy or your data? Reach us at support@openly.chat.
North Tumbleweed LLC
Wyoming, United States
support@openly.chat