Effective date: October 15, 2026
This Privacy Policy explains how Pinchart (the "App") handles information. Pinchart is operated by JoCoding, Inc., a Delaware corporation ("JoCoding", "we", "us").
Installation identity. When you first open the App, our server creates a random installation ID (for example inst_…) and an access token. The token stays on your device; our server stores only a salted hash of it. These are used to authenticate the App's requests to our server.
Device settings. Your device's language/region setting (locale) and time zone, sent when the installation is created and when you save alert rules. We use them to evaluate quiet hours and to send the daily summary at 08:00 in your local time.
Your Pinchart content. The App Store apps you choose to track (their public App Store IDs), your alert rules (rule types, thresholds, storefront scope, quiet hours, daily summary setting), and the state of the initial scan for each tracked app.
Alert delivery. If you allow notifications, your device's Apple Push Notification service (APNs) token. We store it encrypted (AES-GCM) together with a hash used to avoid duplicates, and we keep a record of alert events generated for your tracked apps and their delivery status.
Subscriptions. Purchases are processed by Apple. RevenueCat manages subscription status for us, using your installation ID as the RevenueCat app user ID. We store your Pinchart Pro entitlement state (active or not, expiration date) and the subscription event notifications RevenueCat sends us (for example purchase, renewal, cancellation or expiration events, which include the product, store, dates, price and country information that RevenueCat provides). We never receive your payment card details.
Support emails. "Contact support" in Settings opens your mail app with a draft that lists the app version, iOS version, device model, plan (Free or Pro) and your installation ID, so we can look into the problem. You see and can edit all of it before sending; nothing is sent unless you send the email.
App Store Connect connection (optional, Pinchart Pro). If you connect App Store Connect, you provide an API key: issuer ID, key ID, private key, and optionally a vendor number. We store the issuer ID and private key encrypted at rest (AES-GCM); the key ID and vendor number are stored alongside them. We use the key only for read-only requests to Apple's App Store Connect API on your behalf (your app list, version state, review status, and available sales reports). We never edit metadata, upload builds, or change releases. The data returned by Apple is shown to you and is not stored by us.
Sign in with Apple (only if offered and you choose to use it). If a version of the App offers linking your installation to Sign in with Apple and you use it, we store only the stable user identifier that Apple provides for Pinchart, after verifying Apple's signed token. We do not request your name or email address.
Technical request data. Our hosting provider (Cloudflare) processes the IP address and standard request information of each connection to deliver the service and protect it from abuse. We use the IP address transiently to rate-limit creation of new installations; we do not store IP addresses in our database.
Public App Store data (not personal data about you). Pinchart collects public App Store chart rankings, app metadata, and customer reviews from Apple's public feeds for 175 storefronts. Rank history is kept per App Store app, not per user. Reviews are fetched on request, cached on our server for up to 24 hours, and translated on your device using Apple's on-device translation; review text is never sent to a translation server by us.
Crash reports. If the App crashes or freezes, it sends a crash report to Sentry: the stack trace, device model, operating system and app version, and an anonymous device-generated identifier. Crash reports do not include your IP address (we turn that off), your tracked apps, or anything you type. Crash reporting does not depend on analytics consent because it is needed to keep the App working.
We do not collect your name, email address, phone number, contacts, photos, precise or approximate location from GPS, or the advertising identifier (IDFA). We do not request App Tracking Transparency permission. Analytics events never include review text, App Store Connect credentials, push tokens, web addresses, free text you type, or report contents.
You can also allow analytics from the one-time card on the Home screen.
Analytics are off until you turn on Settings → Analytics consent → Allow anonymous usage analytics. You can turn it off at any time; the change applies immediately on your device.
When it is on, the App sends usage events to:
These providers also receive technical information from your device, such as device model, operating system version, app version, and IP address, as part of any network request.
| Purpose | Information | Legal basis (EEA/UK) |
|---|---|---|
| Provide rank tracking, history, alerts, widgets, reviews and share cards | Installation ID, token hash, tracked apps, alert rules, locale, time zone, APNs token | Performance of a contract (providing the service you request) |
| Provide and verify Pinchart Pro | Installation ID, entitlement state, subscription events | Performance of a contract; legal obligations (accounting, tax) |
| Read-only App Store Connect features | Encrypted API credentials | Performance of a contract, at your request |
| Security, abuse prevention and reliability | Token hash, IP address (transient), request information | Legitimate interests in operating a secure service |
| Product analytics and advertising measurement | Usage events, device information | Consent (you can withdraw it at any time) |
| Diagnose and fix crashes | Crash reports, device information | Legitimate interests in keeping the App stable |
We do not sell your personal information for money. We share information only with service providers that process it for us:
| Provider | Role | Information |
|---|---|---|
| Cloudflare, Inc. | Hosting, database, storage, network delivery | All server-side information described in Section 2 |
| Apple Inc. | Push notification delivery (APNs); App Store purchases; App Store Connect API (only if you connect it) | APNs token and alert text; purchase data handled by Apple; your API key when making read-only requests |
| RevenueCat, Inc. | Subscription management | Installation ID (as app user ID), purchase and subscription status |
| PostHog, Inc. | Product analytics (consent only) | Usage events and device information |
| Meta Platforms, Inc. | App event measurement for advertising (consent only) | Usage events and device information |
| Functional Software, Inc. (Sentry) | Crash reporting | Crash reports and device information |
We may also disclose information if required by law, to protect rights and safety, or as part of a merger, acquisition, or sale of assets, in which case this policy continues to apply to the transferred information.
JoCoding, Inc. is located in the United States. Our providers process information in the United States and other countries where they operate (Cloudflare operates a global network). Where the law of your country requires it, we rely on appropriate safeguards for transfers, such as the European Commission's Standard Contractual Clauses included in our providers' data processing terms, or your consent.
Because Pinchart does not use accounts, we identify your data by the installation on your device. To exercise a right that you cannot exercise in the App, email mu07010@jocoding.net and include your installation ID if you can; we may need to verify the request before acting on it. We will respond within the time required by applicable law.
JoCoding, Inc. is the controller of the personal data described in this policy. You have the right to access, rectify, erase, restrict, or object to the processing of your personal data, the right to data portability, and the right to withdraw consent at any time without affecting the lawfulness of processing before withdrawal. You also have the right to lodge a complaint with your local data protection supervisory authority. We do not make decisions based solely on automated processing that produce legal or similarly significant effects on you.
In the last 12 months, the categories of personal information we have collected are: identifiers (installation ID, APNs token, RevenueCat app user ID), commercial information (subscription status and events), internet or other electronic network activity information (app usage events, only with consent), and approximate location derived from IP address or locale settings as processed by our providers. We collect this information from you and your device, and from RevenueCat and Apple for subscriptions. We use it for the purposes described in Section 5 and disclose it to the service providers listed in Section 6.
We do not sell personal information for money. If you opt in to analytics, sending app events to Meta for advertising measurement may be considered "sharing" for cross-context behavioral advertising under California law; you can opt out at any time by turning off analytics in Settings. We do not use or disclose sensitive personal information for purposes that require a right to limit. Depending on your state, you have the right to know, access, correct, and delete your personal information, to opt out of sale, sharing, or targeted advertising, and not to be discriminated against for exercising your rights. You may use an authorized agent; we may ask for proof of authorization.
We also collect diagnostic information (crash reports) to keep the App working; it is disclosed only to Sentry as a service provider.
This section is provided under the Personal Information Protection Act (PIPA).
Pinchart is a tool for app developers and publishers and is not directed to children. We do not knowingly collect personal information from children under 13 (or under 16 in the EEA and UK, or under 14 in Korea). If you believe a child has provided us personal information, contact us and we will delete it.
We protect information with encryption in transit (TLS), encryption at rest for App Store Connect credentials and push tokens (AES-GCM), salted hashing of access tokens, and least-privilege access. No method of transmission or storage is completely secure, but we work to protect your information.
This section applies when you visit https://pinchart.jocoding.io (the "Website"). Everything else in this policy also applies to the Website unless this section says otherwise. Features described below that are not yet available on the Website apply from the day they become available.
Cookies and local storage. The Website uses only what it needs to work, plus analytics if you allow them:
| Name | Type | Purpose | When it is set | Duration |
|---|---|---|---|---|
pinchart.consent | Local storage (your browser only, never sent to our server) | Remembers whether you accepted or rejected analytics | When you choose in the banner | Until you change it or clear your browser data |
| Session cookie | First-party cookie, HttpOnly, Secure, SameSite=Lax, this site only | Keeps you signed in. It contains a random session ID; our server stores only a hash of it | When you sign in | Until you sign out, the session expires, or you delete your account |
PostHog (ph_… cookie and local storage) | Analytics | Product analytics, see below | Only after you accept | Up to one year, or until you reject |
Meta Pixel (_fbp cookie) | Advertising measurement | Measures our advertising, see below | Only after you accept, and only if a pixel is configured | Up to 90 days, or until you reject |
The strictly necessary items (your consent choice and the session cookie) do not require consent. Nothing in the analytics rows loads, and no request is sent to PostHog or Meta, before you choose Accept in the banner.
Your consent choice and how to withdraw it. On your first visit the Website shows a banner with Accept and Reject buttons of equal weight. If you reject, or ignore the banner, no analytics or advertising scripts load. You can change your choice at any time with the Cookie settings link at the bottom of every page. When you withdraw consent, we stop analytics immediately in your browser, tell PostHog to stop capturing and clear its identifier, and revoke consent for the Meta Pixel. Withdrawing consent does not affect processing that took place before.
Analytics on the Website (only with your consent). With consent, the Website loads PostHog (product analytics; events such as page views, Website session started, sign-up, sign-in, tracked app added, chart browsed, paywall viewed, and purchase started or completed, with properties limited to values such as a public app ID, storefront code, chart type, or product ID) and, if configured, the Meta Pixel (Meta Platforms; page views and the sign-up, checkout, trial and subscription events, used to measure our advertising). Automatic click capture and session replay are disabled. When you are signed in and have consented, we identify you to PostHog by your Pinchart account ID, never by your email address. For sign-up, trial and subscription events we may also send the same events from our server to Meta (Conversions API) with a hashed account ID, only if you have consented.
Signing in with Apple or Google. Signing in is optional for browsing the Website and required to use the web app and to purchase on the web. When you sign in, we receive from Apple or Google a stable user identifier for Pinchart and, if you share it, your email address and whether it is verified (Apple may give us a private relay address). Google also provides your name and profile picture under its "profile" scope; we do not store them. We store the identifier, the provider, your email address (if provided) and, for Apple, an encrypted refresh token used only to revoke the link when you delete your account. We use your email address only to operate your account and to contact you about it; we never send it to analytics or advertising providers, and we never merge accounts by email automatically. If you sign in to the same account in the iPhone App, your tracked apps, alerts and Pinchart Pro are shared between the App and the Website. Apple Inc. and Google LLC process your sign-in under their own privacy policies.
Purchases on the Website. Web subscriptions are sold by JoCoding, Inc. through RevenueCat Billing (RevenueCat, Inc.), with payments processed by Stripe (Stripe, Inc. and its affiliates). Stripe receives your payment card or other payment details, billing country and email address directly; we never receive your full card number. RevenueCat and Stripe send us the purchase status, product, price, currency, country, dates and transaction identifiers. Your Pinchart account ID is used as the RevenueCat customer ID. These records are kept like the subscription records in Section 8.
Security and abuse prevention. Cloudflare processes your IP address and request information for every visit. We use your IP address transiently to apply rate limits on public pages and sign-in, and the Website may show a Cloudflare Turnstile check on sign-in, which processes browser and device signals to tell people from bots. We do not store IP addresses in our database. Legal basis (EEA/UK): legitimate interests in a secure service.
Additional providers for the Website.
| Provider | Role | Information |
|---|---|---|
| Google LLC | Sign in with Google | Sign-in identifier, email address, name and picture (name and picture not stored by us) |
| Apple Inc. | Sign in with Apple on the web | Sign-in identifier, email address (may be a relay address) |
| RevenueCat, Inc. | Web subscription management (RevenueCat Billing) | Account ID, purchase and subscription status |
| Stripe, Inc. | Payment processing for web purchases | Payment details, billing country, email address |
| Cloudflare, Inc. | Website hosting, rate limiting, Turnstile | IP address, request and browser information |
| PostHog, Inc. | Website analytics (consent only) | Usage events, browser and device information, account ID if signed in |
| Meta Platforms, Inc. | Advertising measurement (consent only) | Page views and conversion events, browser information, hashed account ID |
These providers process information in the United States and other countries; Section 7 applies. For users in Korea, these providers are part of the entrustment and overseas transfer described in Section 12; analytics and advertising transfers happen only with consent, and the others are necessary to provide the Website features you use.
Retention for the Website. Account and sign-in identities: until you delete your account. Sessions: until you sign out or they expire, then deleted. Your consent choice stays in your browser until you change it or clear browser data.
Deleting your account. When account deletion is available on the Website, deleting your account removes your account, sign-in identities, sessions, tracked apps and alert data from our server and revokes the Apple sign-in link. Deleting your account does not cancel a subscription: cancel a web subscription through the subscription management link on the Website, and an App Store subscription in your Apple Account settings.
We may update this policy. We will post the updated version with a new effective date and, where changes are material, notify you in the App or by other appropriate means before they take effect.
JoCoding, Inc. 1111B S Governors Ave, STE 80543, Dover, DE 19904, United States mu07010@jocoding.net · +1 (231) 450-5622