Terms of use
Effective August 17, 2026 · AppGlance is made by Ludyem AS, Norway
The short version: AppGlance is a small, independent product. It gives you a fast, approximate picture of what your apps are doing - not an authoritative record. Numbers can be delayed, incomplete or plain wrong, the service can be down, and data can be lost. Keep your own copies of anything you can't afford to lose, and check anything that really matters against an authoritative source such as App Store Connect, Google Play Console, your payment processor or your own servers. If something does go wrong, our liability to you is capped - see section 13. Nothing here takes away rights you have under law that can't be signed away.
- Who this agreement is with
- What AppGlance is, and is not
- Accuracy: numbers are estimates
- Availability and changes
- Your data, retention and loss
- Your account and write keys
- Your responsibilities as a developer
- Acceptable use
- Suspension, termination, shutdown
- Plans, billing and refunds
- Third parties and the SDKs
- No warranty
- Limitation of liability
- Indemnity
- Time limit on claims
- Changes to these terms
- Governing law and disputes
- General
1. Who this agreement is with
AppGlance is operated by Ludyem AS, a limited company registered in Norway ("we", "us", "our"). "You" means the person or organisation using AppGlance - whoever holds the dashboard account, and whoever ships an app containing the AppGlance SDK. If you accept these terms for a company, you confirm you are allowed to bind it.
You accept these terms by doing any of the following: creating an account, signing in, installing or shipping the SDK, or sending events to our endpoints. If you don't accept them, don't use AppGlance.
These terms, together with the privacy policy and the data processing agreement, are the whole agreement between us about AppGlance.
2. What AppGlance is, and is not
AppGlance is a hosted analytics service: an SDK that sends anonymous usage events from your apps, a pipeline that stores them, and a dashboard that charts them. It is sold as a convenience tool for getting a quick, human-readable sense of how your apps are doing.
AppGlance is not a system of record. It is not an accounting, billing, audit, compliance, security, safety or legal record, and it is not a substitute for App Store Connect, Google Play Console, your payment processor, your own server logs, or any other authoritative source. Do not use it as the sole basis for anything with financial, legal, medical, safety or regulatory consequences, and do not use it where wrong or missing numbers could cause harm.
3. Accuracy: numbers are estimates
Everything AppGlance shows you is a best-effort estimate assembled from events that survived a long journey. We make no promise that any number, chart, count, funnel, cohort, session, alert, push notification or export is accurate, complete, timely or correct.
Ordinary, expected reasons a number can be wrong include, among others:
- Events never leaving the device - the app was killed, storage was full, the user was offline and the queue was dropped, or the OS suspended the app before it could send.
- Events lost in transit, at the network edge, or during an outage at us or at one of our providers.
- Events discarded on purpose: quota limits, rate limits, replay de-duplication, payload validation, or abuse protection.
- Wrong device clocks, timezone handling, or a user changing their device's region or language setting.
- Duplicate installs (reinstalls, restores, multiple devices, simulators, CI) counting as separate users, because an install id is per-install and never a person.
- Bugs - in the SDK, the ingest Worker, the database, the queries, or the dashboard.
- Changes by Apple, Google, or any provider, to how apps or networks behave.
We may also correct, recalculate, backfill or change how a metric is computed at any time, which can change historical figures you have already seen. You are responsible for verifying anything that matters before you rely on it.
4. Availability and changes
AppGlance is provided on an "as available" basis. There is no uptime commitment and no service level agreement, on any plan. The service may be unavailable, slow, degraded or partly broken at any time, planned or not, with or without notice. Support is offered on a best-effort basis and response times are not guaranteed, whatever a plan's description calls them.
We may change, add, limit or remove any part of AppGlance at any time - features, metrics, API shapes, retention windows, quotas, plan contents and prices included. Anything labelled beta, preview, experimental or "soon" may change or disappear entirely, and is provided with no expectation of any kind.
5. Your data, retention and loss
Keep your own copies. We do not guarantee that any data you send to AppGlance will be stored, retained, remain available, or be recoverable. Do not use AppGlance as the only place your data exists.
Deletion is permanent and immediate. Deleting an app, a user or your account erases that data at once. There is no undo, no trash, no grace period, and we cannot bring it back - not for you, not by request, not for a fee. That is a deliberate privacy property of the product, and it is also a real risk you accept when you press the button.
Backups are ours, not yours. We take operational backups for our own disaster recovery. They are not a service to you: we do not promise that any backup exists, is current, is complete, or can be restored, and we have no obligation to restore data for you or to help you reconstruct it.
Retention is limited. How far back you can browse individual events depends on your plan and can change. Presence heartbeats are deleted within the hour. Events beyond your plan's quota are not stored at all. We may delete data belonging to closed, suspended, unpaid or long-inactive accounts.
If you need history, an audit trail, or anything durable, export it and keep it yourself. We are not liable for the loss, deletion, corruption, truncation, unavailability or inaccessibility of any data, however caused. See sections 12 and 13.
6. Your account and write keys
Keep your sign-in credentials safe; you are responsible for everything that happens under your account. Tell us promptly at [email protected] if you think it has been compromised.
A write key is embedded in your app and is therefore not a secret in the way a password is: anyone who has your app binary can extract it and send events with it. It is write-only and cannot read your data, but you are responsible for the events it produces, including junk sent by someone else, and those events count toward your quota. Rotate a key from the dashboard if you need to. We may rate-limit, rotate or revoke a key that is causing problems for us or for other customers.
7. Your responsibilities as a developer
You decide what your app sends. For the data your app sends about your end users, you are the controller and we process it on your behalf and on your instructions. The contract GDPR Article 28 requires for that is our data processing agreement: it applies to every account automatically, with nothing to sign, and it sets out our security measures, our sub-processors, and how deletion, audits and breach notification work. This section is your side of it. That means:
- You must have the legal right and a lawful basis to collect and send everything you send, and to have us process it - including any consent your jurisdiction requires.
- You must tell your own users what you collect, in your own privacy policy, and complete your own App Store App Privacy answers and Google Play Data safety form truthfully. Our documentation, setup wizard and label tool give you guidance, not legal advice; the answers you file are yours and you are responsible for them.
- Do not send personal data in event names, metadata or user properties.
The
identifycall is the only place identifying labels belong, and only if you have the basis to use it. - Never send special-category or high-risk data at all: health, biometric, genetic, precise location, financial account, government identifier, racial or ethnic origin, political opinion, religious belief, sex life or sexual orientation, trade union membership, or data from children below the age of consent that applies to them.
- You handle your own users' requests for access or deletion. The dashboard gives you a per-user delete and an app-wide delete; use them. We are not the point of contact for your users, and we may forward any request we receive from them to you.
If you self-host the schema or the ingest Worker, everything about that deployment - its security, its uptime, its data, its compliance - is entirely yours, and none of it is supported by us.
8. Acceptable use
Don't use AppGlance to do anything illegal, and don't:
- Track people across apps or websites, build advertising profiles, fingerprint devices, or otherwise defeat the anonymity the product is built around.
- Send data you have no right to send, or use it to surveil, profile, harass or harm anyone.
- Attack, probe, overload, or attempt to gain unauthorised access to the service, other customers' data, or our providers' systems.
- Circumvent quotas, rate limits or plan restrictions, including by splitting one product across accounts or by sending artificial traffic.
- Resell, sublicense, or provide AppGlance to third parties as your own service, or use it to build a directly competing product.
9. Suspension, termination, shutdown
You can stop using AppGlance at any time and delete your account from the dashboard.
We may suspend or terminate your account or any part of your access at any time, with or without notice, if you breach these terms, if payment fails, if your usage puts the service or other customers at risk, if we are required to, or if we simply stop offering the service. On termination your data is deleted as described in section 5.
If we ever discontinue AppGlance, we will try to give reasonable advance notice and a window to export your data, but we do not promise it and we are not liable for the consequences of the service ending.
10. Plans, billing and refunds
Paid plans can be bought in two places, and where you buy decides who bills you:
- On our website, plans are sold through Stripe, which acts as merchant of record for the transaction; Stripe's own terms govern the payment itself. Prices shown are exclusive of tax, and tax is added at checkout. Subscriptions renew automatically until cancelled. You can cancel any time from the customer portal (Plan & billing → Manage subscription in the dashboard); cancellation takes effect at the end of the period you have paid for, and you keep access until then.
- In the iOS app, plans are App Store auto-renewable subscriptions, sold and billed by Apple under Apple's own terms. They renew automatically until cancelled, and they are managed and cancelled in your App Store subscription settings on the device, not in our dashboard. Refunds for App Store purchases are requested from and decided by Apple, under Apple's process, not by us.
Whichever way you bought:
- Fees are non-refundable, including for partial periods, unused capacity, downgrades, suspension for breach, or time the service was unavailable or wrong - except where mandatory law gives you a refund right we cannot exclude, and except anything Apple refunds under its own process for App Store purchases.
- We may change prices or what a plan includes. Changes take effect at your next renewal; if you don't like them, cancel before it.
- Quotas are enforced. Over your monthly cap you keep recording for a short grace window shown in the dashboard, after which billable events stop being stored until the month resets. Events not stored during that period are gone and are not recoverable.
- Auto-upgrade, website subscriptions only. On a paid plan billed through Stripe, if your usage exceeds the plan's cap in two consecutive months we may move your subscription up one tier, effective at your next renewal, at that tier's then-current price. This is disclosed at checkout, is on by default, and can be switched off at any time in the dashboard's Plan & billing page; with it off, the grace-then-pause rule above applies instead. We never move you more than one tier at a time, never mid-cycle, and never above the largest self-serve plan. A plan bought in the iOS app is never changed automatically: an App Store subscription only changes when you change it yourself, so if you outgrow one, the grace-then-pause rule applies until you do.
- The free plan is provided at no charge and with no commitment of any kind. We may change or end it at any time.
11. Third parties and the SDKs
AppGlance runs on infrastructure we don't control - currently Cloudflare, Supabase and Stripe - and depends on platforms we don't control, including Apple and Google. We are not responsible for their outages, changes, decisions, pricing, or the way they handle data, and a failure caused by any of them is not a breach of these terms by us. The same goes for anywhere you send data yourself, such as a webhook destination you configure.
The client SDKs are distributed from their own public repositories under the licence stated there, and that licence's warranty disclaimer applies to the SDK code. Nothing in these terms gives you any ownership of AppGlance, its software, its brand or its content; you get a limited, revocable, non-exclusive right to use the service while these terms are in force. You keep ownership of your own data, and you grant us the limited right to host, process and display it in order to provide the service to you.
12. No warranty
To the fullest extent permitted by law, AppGlance is provided "as is" and "as available", with no warranties of any kind, express, implied or statutory. We specifically disclaim any implied warranty of merchantability, fitness for a particular purpose, non-infringement, accuracy, completeness, quiet enjoyment, and any warranty that the service will be uninterrupted, secure, error-free, free of data loss, or that defects will be corrected.
No advice or information you get from us, from the documentation, from the dashboard or from support creates any warranty not stated here.
13. Limitation of liability
To the fullest extent permitted by law, we are not liable for any indirect, incidental, special, consequential, exemplary or punitive damages, and we are not liable for lost profits, lost revenue, lost sales, lost customers or users, lost or corrupted data, business interruption, wasted advertising or development spend, reputational harm, the cost of substitute services, or any loss arising from a decision you made in reliance on AppGlance - even if we were told such damages were possible, and however the claim is framed (contract, tort, negligence, strict liability, statute or otherwise).
Our total aggregate liability for all claims relating to AppGlance is capped at the greater of (a) the fees you actually paid us for AppGlance in the twelve months before the event giving rise to the claim, and (b) USD 50. If you are on the free plan, that cap is USD 50 in total.
These limits are a fundamental part of the deal: AppGlance is priced as a small indie tool, and it could not be offered at that price carrying open-ended risk. They apply to us and to anyone working for or with us.
What these limits never cover
Nothing in these terms excludes or limits our liability for death or personal injury caused by our negligence, for fraud or fraudulent misrepresentation, for gross negligence or wilful misconduct, or for anything else that cannot lawfully be excluded or limited. If you are a consumer, your mandatory statutory rights are unaffected by these terms, and if any exclusion above is not permitted where you live, it applies only to the extent it is permitted and the rest of this section stays in force.
14. Indemnity
You will defend, indemnify and hold us harmless from any claim, demand, investigation, loss, liability, fine and reasonable legal cost arising out of your apps, the data you send, your use of AppGlance, your breach of these terms, your breach of any law (including privacy and data-protection law), your privacy disclosures and store declarations, or a claim brought by one of your end users. We will tell you about any such claim and let you control the defence, provided any settlement that admits fault or binds us needs our agreement. This does not apply to the extent the claim is caused by our own wilful misconduct.
15. Time limit on claims
To the extent permitted by law, any claim relating to AppGlance must be brought within twelve months of the date you knew, or should reasonably have known, of the facts giving rise to it. After that it is permanently barred.
16. Changes to these terms
We may update these terms. The effective date above changes with them, and for material changes we will make a reasonable effort to tell you by email or in the dashboard before they take effect. Continuing to use AppGlance after that means you accept the new version. If you don't accept it, stop using the service and delete your account.
17. Governing law and disputes
These terms are governed by Norwegian law, without regard to its conflict-of-law rules, and the ordinary courts of Norway have jurisdiction, with the venue of our registered office as the agreed legal venue. If you are a consumer resident in the EEA, this does not deprive you of the protection of the mandatory law of your country of residence or of the right to bring proceedings there.
Before filing anything, please email [email protected]. Most problems are a bug and are cheaper for both of us to fix than to litigate.
18. General
- Severability. If a provision is held unenforceable, it is narrowed to the minimum extent needed to make it enforceable, or severed if it can't be, and the rest of these terms stay in full force.
- No waiver. Not enforcing something once doesn't waive it later.
- Assignment. You may not assign these terms without our written consent. We may assign them to a successor in a merger, acquisition or sale of the business.
- Notices. We reach you at your account email; you reach us at [email protected]. Please don't use a public GitHub issue for anything about your account or your data.
- Force majeure. Neither of us is liable for a failure caused by something outside our reasonable control.
- No third-party rights. Nobody other than you and us can enforce these terms.
- Survival. Sections 3, 5, 7, and 11 through 18 survive termination.
- Language. The English version of these terms governs.
Questions
Email [email protected]. For questions about the code rather than your account, an issue at github.com/AppGlance/appglance-apple is fine.