Terms of Service
The agreement between us. It is written to be read: short sections, plain wording, and the awkward parts — who pays AWS, what our cost figures are worth, what we do not promise — stated where you can find them rather than buried.
- Last updated
- 9 August 2026
- Effective date
- [EFFECTIVE DATE]
Draft pending legal review — not yet in force
Every value highlighted in brackets below — for example [LEGAL ENTITY NAME] — is a placeholder that must be completed before this document is relied on. The substance describes how SparkPilot actually works today; the bracketed items are the corporate and jurisdictional facts still to be filled in.
1Who these terms are between
These terms are an agreement between [LEGAL ENTITY NAME], a [ENTITY TYPE] organised under the laws of [STATE], [COUNTRY] ("SparkPilot", "we", "us"), and the person or organisation that signs up for or uses the SparkPilot service ("you").
By creating a SparkPilot account, connecting an AWS account to SparkPilot, or using the service in any other way, you agree to these terms. If you are accepting on behalf of a company, you confirm you are authorised to bind it. If you do not agree, do not use the service.
2What the service is
SparkPilot is a control plane for Apache Spark workloads that run on AWS. It validates a run before dispatch, dispatches it to an AWS engine, tracks what happened, and reports estimated and — where you have enabled reconciliation — billed cost.
You keep your own AWS account. The Spark work itself executes on infrastructure you own, under an execution role you create. SparkPilot is not a hosting provider, a compute provider, or a data processor for the datasets your jobs read and write.
Product coverage is uneven, and we publish where the edges are rather than hiding them. Our honest limitations page is part of what you are agreeing to: where it and our marketing copy disagree, the limitations page governs.
3Accounts, sign-in, and credentials
Sign-in is handled by our identity provider, Auth0 — with an email and password you set with Auth0, or by signing in with a Google or Microsoft account. We never see, receive, or store your password.
You are responsible for the people you invite into your organisation, the roles you assign them, and everything done with credentials issued to your organisation. That includes machine-to-machine API credentials: the secret is shown once at creation and never again, and you can revoke it in the product at any time.
Tell us promptly at [email protected] if you believe an account or credential has been compromised.
4Your AWS account and the access you grant us
To use SparkPilot you deploy a CloudFormation stack into your own AWS account. That stack creates an IAM role our control-plane account may assume, and the trust policy restricts the assumption to a per-tenant ExternalId we issue to you. We hold no long-lived keys into your account; every action uses short-lived credentials from AWS STS.
What the role permits is exactly what the template you deploy says, and you can read it before you deploy it. In outline, it allows us to manage the EMR virtual clusters and job runs SparkPilot creates, read the EKS and IAM configuration preflight needs, read and write the single job-artifacts bucket you nominate, and read log events under the SparkPilot log-group prefix. It grants no access to your other buckets or your data lake.
You can end that access at any time by deleting the stack or the role. Doing so stops SparkPilot from dispatching, tracking, or cancelling runs in that account.
The configuration of your AWS account remains yours: networking, encryption, service quotas, cluster and namespace isolation, and the policies you attach to your execution role. SparkPilot checks parts of that configuration before dispatch. It does not replace your responsibility for it.
5AWS charges are yours, and what our cost figures mean
AWS bills you directly for everything that runs in your account — the EKS control plane, worker nodes, storage, data transfer, and the Spark work itself. Those charges are yours and are not part of what you pay us. An idle environment keeps billing until you delete it.
Cost figures in SparkPilot are estimates of the incremental compute for a run unless the product labels them reconciled, and they exclude shared and idle infrastructure. Treat them as an operational signal, not as your AWS invoice.
Budgets in SparkPilot are a governance control. They can warn and block a run before we dispatch it, but they do not stop charges AWS has already begun, and runs submitted at the same time can together exceed the amount you set. Set AWS Budgets or billing alarms in your own account as well; do not rely on SparkPilot as your only financial control.
6Fees, billing, and cancellation
Plan tiers and prices are published on our pricing page. Paid tiers are currently billed by invoice. When Stripe card checkout is enabled, payment happens on Stripe's own hosted checkout page and subscriptions are managed in Stripe's customer portal — card numbers never pass through SparkPilot's servers and we do not store them.
Fees are charged in advance for each billing period and are stated exclusive of taxes, which are your responsibility unless we are required to collect them. Our refund position is: [REFUND POLICY].
If a payment fails, is reversed, or is disputed, we may suspend your paid entitlement until it is resolved. You can cancel at any time; cancellation takes effect at the end of the period you have already paid for, after which paid features end. The free compatibility scan remains available without a plan.
7Acceptable use
When you use SparkPilot, you agree to the following.
- Connect only AWS accounts you are authorised to operate, and submit only workloads you are authorised to run in them.
- Do not use the service to break the law, infringe anyone's rights, or process data you have no right to process.
- Do not attempt to reach another customer's data, bypass role, policy, or budget checks, or probe our infrastructure for weaknesses without written permission. Genuine security findings are welcome — send them to [email protected].
- Do not resell, sublicense, or offer SparkPilot to third parties as your own service without our written agreement.
- Do not degrade the service for others, including through automated request volumes beyond documented limits.
8Your content, and ours
You keep all rights in what you bring: your Spark applications, notebooks, job arguments, configuration, and the data your jobs process. We claim no ownership of any of it.
You grant us only the licence we need to run the service for you — to store and display the configuration and notebook content you save in SparkPilot, to pass your job definitions to AWS on your instruction, and to process run metadata so we can show you state, diagnostics, and cost.
We keep all rights in SparkPilot itself: the software, the preflight checks, the interfaces, and our documentation. If you send us feedback or suggestions, we may use them freely and without obligation to you.
9Confidentiality
Each of us may learn non-public information about the other. Both sides will use the other's confidential information only to perform under these terms, protect it with at least reasonable care, and disclose it only to people who need it and are bound to keep it confidential.
Your ExternalId, your machine-credential secrets, and the contents of your account are your confidential information.
10Early access and unfinished features
Parts of SparkPilot are explicitly unfinished, and we publish that list rather than hiding it. Anything labelled early access, preview, or beta is provided as-is, may change or be withdrawn without notice, and should not be relied on for production decisions without your own verification.
11Availability, support, and changes to the service
Our service-level and uptime commitment is: [SLA / UPTIME COMMITMENT]. Support is by email at [email protected], with response targets of [SUPPORT RESPONSE TARGETS].
We may change, add, or remove features. If a change materially reduces a capability you depend on, we will make a reasonable effort to tell you before it takes effect.
12Disclaimer of warranties
The service is provided "as is" and "as available". To the extent the law allows, we disclaim all implied warranties, including merchantability, fitness for a particular purpose, and non-infringement.
Specifically, we do not warrant that preflight will catch every misconfiguration, that a dispatched run will succeed, that a cost estimate will match what AWS bills you, or that the service will be uninterrupted or error-free.
SparkPilot holds no formal security certification today, and nothing in these terms implies one. What we do and do not claim is set out on our security page.
13Limitation of liability
Neither of us is liable to the other for indirect, incidental, special, consequential, or punitive damages, or for lost profits, revenue, or data, even if the possibility was known.
Our aggregate liability arising out of or relating to these terms is limited to [LIABILITY CAP].
For the avoidance of doubt: AWS charges incurred in your own account are not damages we are liable for, and you remain responsible for them.
Nothing here limits liability that cannot be limited by law, including for fraud, or for death or personal injury caused by negligence.
14Indemnity
You will defend and indemnify us against third-party claims arising from your use of the service in breach of these terms, from the workloads you dispatch, or from data you process without the rights to do so.
We will tell you promptly about any such claim, let you control the defence, and cooperate reasonably. You will not settle in a way that admits fault on our part without our consent.
15Term, suspension, and termination
These terms apply for as long as you have a SparkPilot account. You can stop at any time: cancel any paid plan, delete your environments, and delete the CloudFormation stack from your AWS account.
We may suspend or terminate access for material breach of these terms, for non-payment, or where the law requires it — with notice wherever we are able to give it.
After termination we delete or de-identify your control-plane data as described in our privacy policy. Everything in your own AWS account — clusters, buckets, logs, and data — stays yours and stays where it is. Closing your SparkPilot account does not delete AWS resources and does not stop AWS charges.
16Changes to these terms
We may update these terms. If a change is material we will give notice — by email to your organisation's administrators, or in the product — at least [NOTICE PERIOD FOR TERMS CHANGES] before it takes effect.
The "last updated" date at the top of this page always reflects the current version. Continuing to use the service after a change takes effect means you accept it.
17Governing law and disputes
These terms are governed by the laws of [STATE], [COUNTRY], without regard to its conflict-of-law rules. The courts located in [VENUE — CITY OR COUNTY, STATE] have exclusive jurisdiction, and both parties consent to that venue.
Our dispute-resolution position — including any arbitration agreement or class-action waiver — is: [DISPUTE RESOLUTION TERMS].
If any provision is held unenforceable, the rest remains in force. These terms, together with any order form and the pages they reference, are the entire agreement between us on this subject and replace any earlier understanding.
18Notices and contact
Legal notices to us go to [LEGAL ENTITY NAME], [REGISTERED ADDRESS], with a copy by email to [email protected]. Notices to you go to your organisation's administrator email address on file.
For anything else — questions about these terms, security reports, or a pilot — email [email protected].
How we handle your information
These terms cover the agreement. What we collect, what stays in your AWS account, and who processes it on our behalf is set out separately.