peregrine
LegalDemo

Draft — pending legal review. This document has not been reviewed by a lawyer and is not yet in effect. Bracketed [TBD] items are still open.

Legal

Terms of Service

Effective date: [TBD — set on publication]

These terms are the agreement between you and Peregrine, the service at justperegrine.com (“Peregrine”, “we”, “us”). Postal address: [TBD — postal address].

“You” means the person or business that holds a Peregrine account. If you accept these terms for a business, you confirm you are allowed to bind it. You accept them by creating an account, starting a trial, subscribing, or using Peregrine.

Two other documents form part of this agreement: the Privacy Policy and the Data Processing Agreement.

1. What Peregrine is

Peregrine is web analytics that credits each sale to the channel that first brought the buyer to your site. It has three parts:

  • a tracking script you add to your own website, which records pageviews, outbound link clicks and custom events you choose to send;
  • optional connections to your payment provider (Polar, Lemon Squeezy or Dodo Payments), which tell Peregrine about paid orders so they can be matched to the visitor who placed them; and
  • a dashboard where you see the results.

2. Your account

You sign in through Clerk, our authentication provider. Keep your sign-in method secure and your email address current — it is where we send notices about your subscription, your usage and changes to these terms. You are responsible for what happens under your account.

3. Plans and limits

PlanSitesEvents a monthMonthlyYearly
Solo110,000$9$90
Pro3100,000$19$190

Prices are in US dollars. A yearly plan costs ten months of the monthly price. Both plans include every feature; they differ only in how many sites and events they cover.

An event is every record the tracker or a payment connection writes: a pageview, an outbound click, a custom event and a purchase each count as one. Usage is counted across all your sites, per calendar month (UTC) — not per billing period.

4. Free trial

New subscriptions start with a 7-day free trial. A payment card is required to start it. Polar, our payment provider, charges the plan you chose automatically when the trial ends unless you cancel before then. You can cancel from Settings at any time during the trial and you will not be charged.

If you cancel during the trial, or the trial ends without a successful payment, the analytics data collected for your account is deleted 7 days after the trial ends.

You can add a site and install the tracker before choosing a plan, to confirm it works. If you never start a subscription, that site and the data it collected are deleted 7 days after the site was added.

5. Payment

Payments are handled by Polar (polar.sh) as Merchant of Record. That means Polar is the seller of record for the payment itself: it takes your card, charges it, applies VAT or sales tax where it is due, and issues invoices and receipts. Polar’s own terms apply to the payment. Peregrine never sees or stores your card number.

Subscriptions renew automatically at the end of each monthly or yearly period until cancelled. Invoices, receipts and your payment method are managed in Polar’s customer portal, reached from Settings in the dashboard.

6. Upgrades, billing periods and downgrades

  • Upgrading (Solo to Pro) takes effect immediately. The prorated difference for the rest of your current period is charged immediately to the card Polar already holds. If that charge is declined, nothing changes and nothing is charged.
  • Switching between monthly and yearly during a subscription is not supported. To change billing period, cancel and subscribe again when the current period ends.
  • Downgrading (Pro to Solo) is done from Polar’s customer portal. Nothing is deleted when you do. If you have more sites than the smaller plan covers, the oldest stay covered and the others are locked: they keep recording but cannot be viewed, and you can switch which site is covered at any time. A locked site and its data are deleted 30 days after it was locked, unless you move back up or switch it in before then. Switching does not restart that period.

7. Cancellation

You can cancel at any time from Settings. Cancellation takes effect at the end of the period you have already paid for: the dashboard stays available until then and you are not charged again. Until that date you can resume the subscription from the same place, and nothing will have changed. After it, the only way back is a new subscription.

8. Failed payments

If a renewal payment fails, your subscription becomes “past due”. Access continues while Polar retries the card. If the payment ultimately fails, the subscription ends, and section 11 applies to your data.

9. Refunds

The free trial is your window to cancel. Cancel at any point during the 7 days and you are never charged. Once the trial ends and a period is paid, that period is not refunded, in whole or in part — including after a cancellation, which takes effect at the end of the period you have already paid for.

Nothing in this section removes a right that the law gives you and does not allow a contract to take away. Where a refund is given, it is processed through Polar, to the original payment method.

10. Using more than your plan

Events are never dropped for being over your plan’s limit. Collection continues regardless of usage, because visits that are not recorded cannot be recovered later.

  • Usage is counted per calendar month (UTC), across all of your sites that your plan covers. Sites locked after a downgrade (section 6) are not counted.
  • When a month’s usage reaches 80% of your plan’s event limit, we tell you on the dashboard and by email.
  • Once usage passes the limit, the dashboard is locked until you move to a plan that covers that month’s usage, or until the count resets on the 1st of the next month. Data continues to be collected and kept while it is locked, so the month is complete when it opens again.
  • If no plan covers your usage, contact us and we will agree one with you.

11. Your data: how long it is kept

  • While your subscription is active, your analytics data is kept with no fixed time limit.
  • If the subscription lapses (cancelled and reached its end date, or payment finally failed), the dashboard becomes unavailable. Data already collected is kept, and collection continues, until deletion.
  • 30 days after the subscription ends, the analytics data for your sites is deleted. Subscribing again within those 30 days restores the dashboard with the data intact.
  • After a trial that does not convert, the data is deleted 7 days after the trial ends (section 4).
  • A site added before any subscription is deleted with its data 7 days after it was added, unless a subscription starts first (section 4).
  • Deleting a site in Settings deletes that site’s visitors, events and orders immediately. This cannot be undone.
  • Your account (your email address and sign-in) is deleted when you ask us to at support@justperegrine.com.

Data export: Peregrine does not currently offer a way to export your data. [TBD — not yet available]

12. Your responsibilities

For the data the tracker collects on your website, you are the controller and Peregrine is your processor (see the DPA). That means some things are yours to do:

  • Tell your visitors. Your site’s privacy notice must describe your use of analytics, including Peregrine.
  • Have a lawful basis, and consent where your law requires it. The tracker sets a persistent first-party cookie (peregrine_vid, two years) and a session cookie (peregrine_sid), and writes the same identifiers to the browser’s localStorage and sessionStorage. In the EU, the UK and some other places, storing identifiers like these on a visitor’s device may require their prior consent. Whether it does on your site is your decision to make and your obligation to meet.
  • Handle your visitors’ requests. Visitors who want to access or delete their data will contact you, not us. We will help you answer them (see the DPA).
  • Do not send personal data in custom events. The metadata you can attach to an event (up to 1 KB) must not contain names, email addresses, phone numbers or anything else that identifies a person directly. Peregrine is not designed to hold it.
  • Only track sites you control or are authorised to measure.
  • Keep connected credentials valid. Lemon Squeezy API keys expire after one year. When yours expires, syncing stops without an error on your dashboard; reconnect with a new key to resume. If your checkout runs on a custom domain, configure it with the tracker’s data-checkout attribute, or sales through it will not be attributed.

13. Connecting a payment provider

Connecting your payment provider is optional. What Peregrine does with the credential you give it:

  • Polar: you paste an access token scoped to orders:read. Peregrine uses it only to read your paid orders.
  • Lemon Squeezy: you paste an API key. Peregrine uses it to list your stores, read the orders of the one store you choose, and create or update one webhook endpoint in that store so orders are delivered to us. Lemon Squeezy API keys have no scopes, so the key you give us can do more than Peregrine uses it for. We use it only for the actions listed here.
  • Dodo Payments: you paste an API key, and we ask for a read-only one. Peregrine uses it to list your brands and read the paid payments of the one brand you choose. A key created with write access can do more than Peregrine uses it for; we use it only for the actions listed here.

Stored credentials are encrypted at rest. Disconnecting deletes the stored credential and signing secret. The webhook endpoint we created in your Lemon Squeezy store is not removed automatically; after you disconnect, Peregrine rejects its deliveries, and you can delete it in Lemon Squeezy.

14. Acceptable use

You agree not to:

  • install the tracker on, or send events for, a website you do not control;
  • send fabricated, automated or excessive traffic to the collection endpoint, or use it to store data unrelated to analytics;
  • try to access another customer’s data, or probe, disrupt or overload the service;
  • use Peregrine in breach of any law, including data-protection law; or
  • resell or sublicense access to Peregrine without our written agreement.

15. What the numbers mean

Attribution is first-touch and best-effort. A sale is credited to the channel through which the buyer’s browser first reached your site. Some visits and sales will be missed or left unattributed, for example when:

  • a visitor uses an ad or tracker blocker, or has storage and cookies disabled;
  • a visitor switches browser or device between first visit and purchase;
  • your checkout runs on a custom domain not configured with data-checkout;
  • your payment provider is unavailable, or a connected credential has expired.

Peregrine’s figures are analytics, not accounting records. Do not rely on them for tax, bookkeeping or financial reporting; use your payment provider’s records for that.

16. Availability

Peregrine is provided “as is” and “as available”. There is no service-level agreement and no guaranteed uptime. We may change, add or remove features; if a change materially reduces what you are paying for, we will tell you by email first.

17. Ownership

Your data is yours. You give us permission to store and process it only to provide Peregrine to you, as described in the DPA. We do not sell it and do not use it for advertising. Peregrine itself — the software, the tracker and the site — is ours, and these terms do not transfer any rights in it beyond your right to use the service while your subscription is active. If you send us feedback, we may use it without obligation to you.

18. Suspension and termination

You can stop using Peregrine at any time by cancelling (section 7) and, if you wish, asking us to delete your account.

We may suspend or close your account if you materially breach these terms — in particular section 14 — or if we are required to by law. Where it is reasonable, we will warn you first and give you a chance to fix the problem. If we close your account without cause, we will refund the unused part of any prepaid period. We may also stop offering Peregrine altogether; if we do, we will give at least 30 days’ notice by email and refund the unused part of any prepaid period.

19. Limitation of liability

To the extent the law allows, Peregrine is not liable for indirect or consequential loss, lost profits, lost revenue or lost data, and our total liability arising out of or in connection with Peregrine in any 12-month period is limited to the fees you paid for Peregrine in the 12 months before the event giving rise to the claim.

Nothing in these terms limits liability that cannot be limited by law, such as liability for fraud, for wilful misconduct, or under mandatory consumer-protection law.

20. Indemnity

If a third party — for example a visitor to your site or a regulator — brings a claim against us because you installed the tracker without a lawful basis, sent personal data in custom events, or otherwise broke section 12 or 14, you will cover our reasonable costs of dealing with that claim.

21. Changes to these terms

We may update these terms. For a material change, we will email you at least 30 days before it takes effect. If you do not agree, you can cancel before then. Continuing to use Peregrine after the change takes effect means you accept it.

22. General

  • These terms, the Privacy Policy and the DPA are the entire agreement between us about Peregrine. If they conflict on how personal data is processed, the DPA prevails.
  • If any part of these terms is unenforceable, the rest still applies.
  • Not enforcing a right straight away does not waive it.
  • You may not transfer this agreement without our consent. We may transfer it to a successor operating Peregrine, and will tell you if we do.
  • We send notices to the email address on your account.

23. Contact

Support, privacy and anything about these terms: support@justperegrine.com. Post: Peregrine, [TBD — postal address].

peregrine
Demo
© 2026
Privacy
hello@justperegrine.com