Terms of Service
These terms are an agreement between you and [Legal entity name], [Registered address] ([Company registration number, VAT number]) ("Thunderclap", "we", "us"). They govern your use of the Thunderclap realtime service, the website at thunderclap.dev and its dashboard, and the APIs the service exposes.
By creating an account or using the service, you accept these terms. If you accept them for an organisation, you confirm that you are authorised to bind it, and "you" means that organisation.
1. Who may use Thunderclap
Thunderclap is a service for businesses and developers. You may use it only for purposes related to your trade, business, craft or profession, and you must be at least 18 years old. It is not offered to consumers.
2. Definitions
- Service: the managed realtime service: client connections, channels, publishing, presence, webhooks and the related APIs, together with the dashboard.
- SDKs: the client and server libraries we publish (
@thunderclapjs/clientand@thunderclapjs/server). - Organisation: the account unit that holds a plan, members and apps.
- App: a set of credentials (an app id, a public key and secrets) your software uses to connect to and publish through the service.
- Customer Data: data your apps, your end users or your backend send through the service: channel names, messages, user ids and presence information, webhook payloads.
- End Users: the people and devices that connect to the service through your apps.
- Plan: the subscription tier of an organisation, as described on our pricing page.
3. Accounts and organisations
- Keep the information in your account accurate. You sign in with one-time codes sent to your email address, so keep that mailbox secure.
- App secrets are yours to protect. Anyone holding a secret can publish to your app and sign tokens for it. We show a secret only once, when it is created. If one leaks, create a new secret, deploy it and revoke the old one.
- You are responsible for everything done through your account, your organisations and your apps, including by members you invite.
- To prevent abuse, a person may own at most one free organisation. We may refuse or close accounts created to get around plan limits.
4. The service
- What it does. Thunderclap delivers messages between your backend and your End Users in real time. It does not store message history: each channel carries sequence numbers so clients can detect missed messages, and your application is responsible for keeping and backfilling any data it needs. Cache channels keep only their latest event, for a limited time.
- Changes. We improve the service continuously. We may add, change or remove features. If we remove or materially reduce a feature you depend on in a paid plan, we will tell you at least 30 days in advance, unless the change is needed for security or legal reasons.
- Pusher compatibility. The service accepts some requests in the format of the Pusher protocol, to help you migrate. Pusher is a trademark of its owner; Thunderclap is not affiliated with it.
- Previews. Features marked as preview or beta are provided as they are, may change or end at any time, and are excluded from any availability commitment.
5. Plans, usage and limits
- Free plan (Spark). The free plan includes the usage shown on the pricing page and is hard-capped: at the limit, new connections are refused and publishes are rejected until the month resets or you upgrade.
- Paid plans include an amount of usage per month. Usage above it is not capped: it is billed as overage at the rates on the pricing page.
- How usage is measured. Messages are counted once per channel an event is published to, and once per client event; delivering a message to its subscribers is never counted. Peak connections are the highest number of concurrent connections in each hour; billing uses the 95th percentile of the month's hourly peaks. Our metering is the basis for billing, except for a manifest error.
- Protective limits. On every plan, we apply technical limits (message size, rates, subscriptions per connection) and rate limits against abuse. They are documented in the docs.
6. Fees and payment
These terms apply once paid plans are available for purchase.
- Prices are those on the pricing page when you subscribe, and exclude taxes. You pay any applicable VAT or sales tax.
- Billing. The plan price is billed monthly in advance, and overage monthly in arrears. If overage in a month exceeds a threshold shown in the dashboard, we may invoice it before the end of the month.
- Spending controls. You can set a monthly spending limit and choose to be alerted or to cap usage when it is reached.
- Late payment. If a payment fails, we will tell you and retry. If it is still unpaid after a grace period of at least 7 days, we may suspend your paid apps until it is paid.
- Price changes. We will give at least 30 days' notice of a price increase. It applies from your next billing period after the notice.
- Refunds. Fees are not refundable, except where these terms say otherwise or the law requires it.
7. Acceptable use
You must not use the service, or let anyone use it through your apps, to:
- break the law, or infringe anyone's rights, including intellectual property and privacy rights;
- send spam, malware, phishing, or content that sexually exploits minors, incites violence or harassment;
- attack, probe or overload the service or other systems, or try to get around its limits, metering, authentication or isolation between customers;
- access another customer's apps or data, or impersonate anyone;
- resell the service as a standalone realtime service without our written agreement;
- build a competing product by copying the service, its documentation or its interfaces; or
- process special categories of personal data (such as health data) or payment card data, unless you have agreed it with us in writing and put appropriate safeguards in place.
We may investigate suspected breaches of this section and act on them as described in section 11.
8. Customer Data and privacy
- Your data stays yours. You keep all rights in Customer Data. You give us the rights we need to process it to provide, secure and support the service, and for nothing else.
- Data Processing Agreement. When Customer Data includes personal data, we process it on your behalf under our Data Processing Agreement, which forms part of these terms.
- Your responsibilities. You are responsible for Customer Data and for having a lawful basis to process it, including informing your End Users and obtaining any consent you need.
- Account data. Personal data about you and your team (such as email addresses) is processed under our Privacy Policy.
- Aggregated data. We may use aggregated, anonymous information about how the service is used (such as connection and message counts) to operate, bill for and improve it.
9. Security
We protect the service and Customer Data with appropriate technical and organisational measures, described in the DPA. Connections are encrypted in transit, app secrets are stored encrypted, and each app's data is isolated from other apps.
If you find a vulnerability, please report it to thunderclap@bside-tech.com and give us reasonable time to fix it before disclosing it.
10. Availability and support
We aim to keep the service available around the clock and to fix problems quickly. The uptime targets shown on the pricing page for a plan are objectives we work to meet, not commitments: unless we have signed a separate service-level agreement with you, they do not give rise to service credits or other remedies.
We may carry out maintenance, preferably without interrupting the service. Support is available through the channels included in your plan.
11. Suspension and termination
- By you. You can stop using the service at any time and delete your account from the dashboard, or ask us to. Paid plans can be cancelled with effect from the end of the current billing period.
- Suspension. We may suspend an app or an account immediately if it breaches section 7, puts the service or other customers at risk, if payment is overdue as described in section 6, or if the law requires it. We will tell you why and restore access once the cause is resolved, where possible.
- Termination by us. We may terminate these terms with 30 days' notice for any reason, or immediately for a serious or repeated breach.
- Effect. When the agreement ends, your apps stop working, and we delete your account data and Customer Data as described in the Privacy Policy and the DPA. Fees owed until then remain payable. Sections 8, 12 to 16 and 19 survive termination.
12. Intellectual property
The service, the website, the dashboard and the documentation belong to us and our licensors. These terms give you the right to use them while the agreement lasts; they transfer no ownership. The SDKs are open source under the MIT licence, which governs your use of them.
If you send us feedback or suggestions, we may use them without obligation to you.
13. Confidentiality
Each party will keep confidential the non-public information the other shares in connection with the service, use it only to perform these terms, and protect it with at least reasonable care. This does not apply to information that is public, already known to the recipient, independently developed, or that must be disclosed by law (after notifying the other party, where allowed).
14. Warranties and disclaimers
We will provide the service with reasonable skill and care. Apart from that, and to the extent the law allows, the service is provided "as is" and "as available", without other warranties, express or implied, including fitness for a particular purpose. Realtime delivery depends on networks we don't control: we don't guarantee that every message is delivered, which is why the service reports gaps.
15. Limitation of liability
To the extent the law allows:
- Neither party is liable for indirect or consequential losses, or for loss of profits, revenue, business or data, however caused.
- Each party's total liability arising out of or in connection with these terms in any 12-month period is limited to the fees you paid us in the 12 months before the event giving rise to the claim, or €100 if you use only the free plan.
These limits do not apply to your obligation to pay fees, to breaches of section 7, to your obligations under section 16, or to liability that cannot be limited by law, such as liability for wilful misconduct, gross negligence, fraud, or death or personal injury caused by negligence.
16. Indemnity
You will defend us against claims by third parties arising from Customer Data or from your use of the service in breach of these terms, and pay the damages and reasonable costs finally awarded or agreed in settlement, provided we tell you promptly about the claim and let you control its defence.
17. Changes to these terms
We may update these terms. We will announce material changes by email or in the dashboard at least 30 days before they take effect, unless they are required by law sooner. If you don't agree with a change, you may stop using the service before it takes effect; continuing to use it afterwards means you accept the new terms.
18. Governing law and disputes
These terms are governed by the law of [Country], excluding its conflict-of-law rules and the UN Convention on Contracts for the International Sale of Goods. The courts of [City, Country] have exclusive jurisdiction, unless mandatory law provides otherwise. Before going to court, both parties will try in good faith to settle the dispute by discussion for at least 30 days.
19. General
- Entire agreement. These terms, the DPA and any order or plan you choose are the whole agreement about the service. If they conflict, the DPA prevails on the processing of personal data, and these terms on everything else.
- Assignment. You may not transfer these terms without our consent. We may transfer them to a company that takes over the service, after notifying you.
- Force majeure. Neither party is liable for delays or failures caused by events beyond its reasonable control.
- Severability and waiver. If a provision is unenforceable, the rest remains in force. Not enforcing a right is not a waiver of it.
- Notices. We send notices to the email address of your account or of your organisation's owners, and you send them to thunderclap@bside-tech.com.
- Language. These terms are written in English, which prevails over any translation.
Contact
[Legal entity name], [Registered address]. Email: thunderclap@bside-tech.com.