Terms of service
Effective date: [EFFECTIVE DATE]
Spendsaw is a 45Squared venture. These terms are an agreement between [LEGAL ENTITY NAME], a [ENTITY TYPE] formed in [STATE OF FORMATION], of [REGISTERED ADDRESS] ("Spendsaw", "we", "us"), and the company or other organisation that accepts them ("Customer", "you").
1. About these terms
1.1 What these terms cover. These terms cover your use of the Services described in section 3. The Data Processing Addendum (the "DPA") and the Privacy Policy are separate documents. The DPA forms part of these terms where it applies. The Privacy Policy is a notice, not a contract.
1.2 Accepting these terms. You accept these terms when you create an account, start a trial, complete checkout, connect an AWS account, install the Slack app or the GitHub App, or sign an Order that refers to them, whichever happens first.
1.3 Authority. If you accept these terms for a company or other organisation, you confirm that you have authority to bind it. If you do not have that authority, do not accept these terms and do not use the Hosted Service.
1.4 Business use only. The Services are tools for people who operate AWS accounts for a business. They are not offered to consumers. You confirm that you are using the Services for business purposes and that every person you let use them is at least 18 years old.
1.5 Order of precedence. If documents conflict, this order applies: (a) a signed Order, (b) the DPA, for data protection matters only, (c) these terms, (d) the Documentation.
2. Definitions
"Allow-list" means the list of resource identifiers or ARNs that you have told Spendsaw never to change.
"Approval" means the act of an Authorised Approver approving a Plan, in Slack, in the console or through the API.
"Approved Commands" means the exact commands shown in a Plan at the time of its Approval, as stored in the action record.
"Authorised Approver" means a person or API client that you have allowed to approve Plans. Section 4.4 says who that is.
"AWS" means Amazon Web Services, Inc. and its affiliates.
"Connected Account" means an AWS account that you have connected to the Hosted Service by deploying a Role in it.
"Customer Data" means the data the Hosted Service collects from your Connected Accounts through the Roles, the data it reads from repositories you link, and the content you submit to the Hosted Service, such as questions typed into the console.
"Documentation" means the Spendsaw documentation and trust page published at spendsaw.com, as updated from time to time.
"Excluded Resource" means a resource that carries a Keep Tag or is on your Allow-list.
"Finding" means a resource that the Services have identified as possibly wasteful, with its evidence and an estimated or billed cost.
"Hosted Service" means the Spendsaw for AWS service that we run: scheduled scans, the console, the API, the Slack app, the GitHub App, the savings ledger and reports.
"Keep Tag" means an AWS resource tag whose key is one of your configured keep-tag keys (by default Keep) and whose value is a true value such as true.
"Local Software" means the spendsaw-mcp server, which runs on your own machine with your own AWS credentials.
"Order" means a checkout page, online order or signed order form that states the plan and the price.
"Plan" means the fixed set of steps and commands that the Hosted Service renders for one Finding from a built-in template.
"Pre-check" means the check the Hosted Service runs against your live AWS account immediately before it executes a Plan.
"Pull Request" means a pull request that the Spendsaw GitHub App opens in a repository you have linked.
"Remediation" means a change to a resource in a Connected Account that the Hosted Service makes, or proposes in a Pull Request.
"Roles" means the IAM roles that you deploy from our CloudFormation templates: the Read-only Role (CostAgentReadOnly), the Remediator Role (CostAgentRemediator) and the State Reader Role (CostAgentStateReader).
"Services" means the Hosted Service and the Local Software.
3. The services
3.1 Local Software (free). The Local Software is free. It runs on your machine, reads your AWS account with the credentials you give it, and returns Findings and reference commands to the AI assistant you connect it to. It never runs a command and makes no model call of its own. It has no hosted backend and sends nothing to Spendsaw. The assistant you connect it to, and that assistant's provider, will see its output. The Local Software is licensed to you under the open-source licence included with it. That licence governs your right to use, copy and modify it. Sections 8 (fees), 9 (Customer Data) and Schedule 1 of these terms do not apply to the Local Software, because it involves no payment and sends us no data.
3.2 Hosted Service (paid plans). The Hosted Service is available on the plans described at spendsaw.com and on your Order. The plan sets what is included, for example the number of Connected Accounts, Slack delivery, Approvals, Pull Requests and white-label reports.
3.3 Licence to use the Hosted Service. While your subscription or trial is active, and subject to these terms, we grant you a non-exclusive, non-transferable right to use the Hosted Service for your internal business purposes. If you are a managed service provider, "internal business purposes" includes managing the AWS accounts of your own clients, under section 4.6.
3.4 Early access. The Hosted Service is early-access software. As at the date of this draft:
- (a) it has been tested against simulated AWS, Slack and GitHub services, and has not yet been validated end to end against live AWS accounts;
- (b) the IAM policies in the Roles, and the tenant isolation design, have not yet been proven against live AWS;
- (c) there is no SOC 2 report, no other security certification and no independent penetration test.
We will keep the status section of the trust page current. Features may change, break or be withdrawn while the Hosted Service is in early access. You should not rely on the Hosted Service as your only control over AWS cost or as a substitute for your own review of any change.
3.5 No service levels yet. We do not commit to an uptime level, a support response time or a data residency location in these terms. [SERVICE LEVELS: none offered. Owner to decide whether to add an uptime target, support hours and a status page before launch.]
4. Accounts and access
4.1 Your users. You decide who may use your Spendsaw account. You are responsible for what they do with it, and for keeping their sign-in details, API tokens and client credentials secret. Tell us promptly at [security@spendsaw.com] if you believe an account or credential has been compromised.
4.2 Your AWS accounts. You confirm that you have the right to connect each Connected Account and to let Spendsaw read from it and, where you deploy the Remediator Role, change resources in it.
4.3 The Roles are yours. Spendsaw reaches your AWS accounts only through the Roles. You deploy them from templates you can read first. You own them, and you can change or delete them at any time. Deleting a Role ends Spendsaw's access through that Role immediately. You are responsible for:
- (a) deploying the Roles only in accounts you control;
- (b) keeping your ExternalId confidential;
- (c) any change you make to a Role or its policies. If you widen a Role beyond our template, Spendsaw is not responsible for access that the wider Role permits;
- (d) deciding which accounts receive the Remediator Role. Do not deploy it in your AWS Organizations management account. Our template and our software refuse to create or use it there.
4.4 Who can approve. You decide who may approve changes, and you are responsible for keeping that list correct.
- (a) In Slack, only the Slack user ids on your approver list can approve. If the list is empty, nobody can approve in Slack.
- (b) In the console and the API, any signed-in user or API client of your Spendsaw account that holds the approvals permission can request, approve and run a Plan.
- (c) Every Approval is recorded against the identity of the user or API client that gave it. An Approval can therefore come from an API client that you have set up, not only from a person.
- (d) An Approval given through your Slack workspace, your Spendsaw account or your API credentials is treated as given by you, unless you had already told us that the account or credential was compromised and we had a reasonable time to act.
4.5 Third-party accounts. If you install the Slack app or the GitHub App, you confirm that you are allowed to install it in that workspace or organisation.
4.6 Managed service providers. If you use the Hosted Service to manage AWS accounts that belong to your clients, you confirm that each client has authorised you to connect its account, to let Spendsaw process its data, and to approve changes on its behalf. As between you and Spendsaw, you are responsible for your clients' use of reports and for anything you approve in their accounts. Your clients have no rights under these terms.
5. What Spendsaw will and will not do in your AWS accounts
This section describes how Remediation works. It is the basis for the allocation of responsibility in sections 6 and 14.
5.1 Reading. With the Read-only Role, the Hosted Service reads resource metadata, tags, CloudWatch metrics and cost data. The Read-only Role carries an explicit deny on reading the contents of your data stores. Section 9.3 gives the detail.
5.2 No change without all four conditions. The Hosted Service changes a resource in a Connected Account only when all of the following are true:
- (a) Opt-in. You have deployed the Remediator Role in that account and enabled remediation for it.
- (b) Risk tier. The action is in the low or the medium risk tier (section 5.3).
- (c) Approval. An Authorised Approver has approved the Plan, and the commands about to run are identical to the Approved Commands. An Approval expires after 72 hours.
- (d) Pre-check. The Pre-check passes. The Pre-check confirms against live AWS that the resource still exists, is still in the idle state the Finding described, and is not an Excluded Resource. If the Pre-check fails, nothing is changed.
5.3 Risk tiers. The tier of each action is fixed in our software. At the date of this draft the tiers are:
| Tier | Actions | What the Hosted Service does |
|---|---|---|
| Low | Release an unassociated Elastic IP address. Set a retention period on a CloudWatch log group that has none. Change an EBS volume from gp2 to gp3. | Runs the Approved Commands after Approval and a passed Pre-check. |
| Medium, with backup | Delete an unattached EBS volume. | Takes a snapshot of the volume first, waits for it to complete, then deletes the volume. |
| Medium, no backup possible | Delete an EBS snapshot whose source volume no longer exists. Deregister an unused machine image (AMI). | Runs only if the Authorised Approver also gives an explicit acknowledgement that the action has no backup step. A deleted snapshot cannot be backed up first. When an AMI is deregistered its snapshots are kept, but the image registration itself is removed. |
| High | Delete or stop an RDS database. Delete a NAT gateway. Delete a load balancer. Terminate a stopped EC2 instance. | Never executed by Spendsaw. The command is shown for reference only. The Remediator Role has no permission to make these changes. |
| Advisory | Move a Lambda function from x86 to arm64. | Never executed by command. May be proposed as a Pull Request for a Terraform-managed function. |
An action type that has no tier is treated as high risk. We may add, remove or re-tier actions. If we move an action to a less restrictive tier, or add a new executable action, we will describe it in the Documentation before it becomes available, and it will still need your Approval each time.
5.4 Commands come from templates. Every command is rendered from a built-in template using validated resource identifiers. The AI model does not write, change or supply any command. Resource names and tags are not inputs to a command.
5.5 Excluded Resources. The Hosted Service does not produce a Plan for an Excluded Resource and the Pre-check refuses one. In addition, the Remediator Role's own IAM policy denies every write action on a resource tagged Keep=true. If you configure keep-tag keys other than Keep, those are enforced by our software and not by the IAM policy.
5.6 Backups stay in your account. A backup snapshot taken under section 5.3 is created in your AWS account and tagged CostAgentBackup=true. Spendsaw does not delete it. It stays, and AWS bills you for it, until you delete it. Spendsaw does not test whether a backup can be restored.
5.7 Infrastructure as code. The Hosted Service does not use a command to change a resource that it has identified as managed by Terraform or CloudFormation. If it cannot tell who manages a resource, it gives a recommendation only, unless you have explicitly switched on command-line remediation for resources of unknown ownership in your account settings.
5.8 Pull Requests. For a Terraform-managed resource, the Hosted Service can open a Pull Request in a repository you have linked. The change in the Pull Request is a fixed text edit made by our software. The Hosted Service:
- (a) never runs
terraform planorterraform apply; - (b) never merges a Pull Request;
- (c) takes no backup of a resource that a merged Pull Request will cause Terraform to destroy;
- (d) can read the result of your own CI plan check and flag a Pull Request whose plan appears to change more than the target resource. That flag is an aid, not a guarantee.
Reviewing the Pull Request, running your CI, merging and applying are your actions.
5.9 Limits on where changes run. The Hosted Service refuses to execute in your AWS Organizations management account and in any Connected Account that has not opted in to remediation.
5.10 Records. Each request, Approval, refusal, step and failure is written to an action record that names who requested and who approved, when, and the Approved Commands. You can read your action records in the console and the API.
5.11 What the safeguards do not do. The safeguards in this section reduce the chance of a wrong change. They do not remove it. In particular:
- (a) the Pre-check tests a fixed set of conditions at one moment. It cannot know your business reasons for keeping a resource, and a resource can change after the Pre-check;
- (b) "idle" is a judgement from metrics and configuration over a limited period. A resource used rarely, for example once a quarter, can look idle;
- (c) setting a log retention period causes AWS to delete log events older than that period;
- (d) a released Elastic IP address cannot be reclaimed;
- (e) a Plan with more than one step can fail part-way. The action record shows which steps completed.
6. Your responsibilities for changes
6.1 You decide. Spendsaw makes recommendations and shows you the exact commands. You decide whether to approve. An Approval is your instruction to Spendsaw to run the Approved Commands in your account.
6.2 What you are responsible for. You are responsible for:
- (a) confirming, before you approve or merge, that the resource is not needed;
- (b) your own backups, snapshots, retention settings and recovery plans, including for any resource you approve for deletion;
- (c) applying a Keep Tag to, or adding to your Allow-list, every resource that must not be changed;
- (d) who is on your Slack approver list and who holds the approvals permission in your Spendsaw account;
- (e) reviewing each Pull Request, checking the Terraform plan produced by your own CI, and deciding whether to merge and apply it;
- (f) giving the acknowledgement in section 5.3 only when you accept that the action has no backup step;
- (g) any command you copy from a Finding, a recommendation or the Local Software and run yourself.
6.3 Deletions may be permanent. Deleting a volume, a snapshot or an image, releasing an address, or shortening log retention may be irreversible. A deleted snapshot can be recovered only if your account already has an AWS Recycle Bin retention rule that covers it.
6.4 High-risk recommendations. Commands shown for high-risk Findings are reference material. If you run one, you do so yourself, with your own credentials and at your own risk.
7. Acceptable use
You will not, and will not let anyone else:
- (a) connect an AWS account, Slack workspace or repository that you are not authorised to connect;
- (b) use the Services to break the law or to breach your agreement with AWS, Slack or GitHub;
- (c) try to access another customer's data, or to defeat tenant isolation, authentication or rate limits;
- (d) place content in resource names, tags or questions that is intended to manipulate the model into acting outside its purpose, except in your own account for your own security testing and without affecting other customers;
- (e) probe, scan or load-test the Hosted Service without our written agreement;
- (f) resell the Hosted Service or offer it as your own, except that a managed service provider on a plan that includes white-label reports may give those reports to its clients;
- (g) reverse engineer the Hosted Service, except where the law gives you that right and it cannot be excluded;
- (h) use the Hosted Service to build a competing product by copying its features or user interface.
Section 7(g) and (h) do not apply to the Local Software, which is governed by its open-source licence.
8. Fees and payment
8.1 Prices. The price for your plan is the price shown at checkout or on your Order. Prices do not include taxes unless they say so.
8.2 Payment processor. Payments are processed by Stripe. You give your card details to Stripe. Spendsaw does not receive or store your full card number. Stripe's own terms and privacy policy apply to its handling of your payment details.
8.3 Free trial. A paid plan may start with a 14-day free trial. We collect a payment method when the trial starts. Unless you cancel before the trial ends, your subscription starts when the trial ends and your payment method is charged the price shown at checkout. Each customer gets one trial. If you subscribe again later, billing starts at once.
8.4 Renewal. Subscriptions renew automatically for successive periods of the length shown at checkout (for example monthly) until cancelled. Each renewal is charged to your payment method at the start of the period at the then-current price for your plan.
8.5 Per-account billing (MSP plan). The MSP plan is billed for each Connected Account. The number of Connected Accounts is the quantity on your subscription. When you connect or disconnect an account, the quantity changes and the charge for the current period is adjusted in proportion to the time remaining. The adjustment appears as a charge or a credit on your next invoice [or is invoiced immediately: owner to confirm the proration setting used in production].
8.6 Account limits (Team plan). The Team plan covers up to the number of Connected Accounts shown for that plan at checkout. The Hosted Service will refuse to connect an account beyond that number, and your subscription will not change, until you move to a plan that covers it.
8.7 Taxes. You are responsible for sales, use, value-added and similar taxes on your purchase, other than taxes on Spendsaw's income. Where we are required to collect a tax, we will add it to your invoice.
8.8 Failed payment and grace period. If a payment fails, a grace period of 7 days starts from the first failure. During the grace period you keep read access: scans, Findings, digests and reports continue. Approvals and Pull Requests are switched off. If payment has not succeeded by the end of the grace period, your account drops to the free tier: the Hosted Service stops for your account and only the Local Software remains available to you. The same grace period applies if your trial has ended and your first payment has not been confirmed.
8.9 Cancelling. You can cancel at any time from the billing page, which opens Stripe's customer portal. Cancellation takes effect at the end of the period you have paid for, and you keep your plan until then. If your subscription ends because of non-payment or a payment dispute, it ends immediately.
8.10 Refunds. [REFUND POLICY: owner decision. Default draft follows.] Payments are non-refundable and we do not give refunds or credits for part of a period, for unused accounts or for a plan you did not use, except where the law requires a refund or where section 16.4 or 17.2 gives one.
8.11 Price changes. We may change the price of a plan. We will give you at least [PRICE CHANGE NOTICE DAYS] days' notice by email before a new price applies to you. The new price applies from your next renewal after the notice period. If you do not accept it, cancel before that renewal.
8.12 AWS charges are yours. Your AWS bill stays yours. That includes charges caused by the Services' use of your account, for example Cost Explorer API requests, backup snapshots taken under section 5.3, and Cost and Usage Report storage and queries if you enable them.
9. Customer data
9.1 Ownership. You keep all rights in Customer Data. We claim no ownership of it.
9.2 Licence to process. You give us a non-exclusive, worldwide right to collect, store, process and display Customer Data, and to send it to our sub-processors, only as needed to provide, secure, support and bill for the Hosted Service, and as these terms and the DPA allow. This right ends when Customer Data is deleted under section 16.6.
9.3 What the Hosted Service collects. The Hosted Service is designed to collect resource metadata, tags, CloudWatch metric statistics and cost data from your Connected Accounts. The Read-only Role explicitly denies reading S3 object contents, DynamoDB items, secret values, parameter values, log events, Lambda code and the other data-plane actions listed on the trust page. The one exception is opt-in: if you deploy the State Reader Role and name a state bucket, the Hosted Service reads your Terraform state files and keeps only resource addresses, types, names, ids and ARNs. The trust page and the Privacy Policy give the full description.
9.4 Your content in AWS metadata. Resource names, tags and descriptions are written by you and your team. Do not put secrets or sensitive personal data in them. The Hosted Service treats them as untrusted text, but it does collect them.
9.5 Use of a model. The Hosted Service sends Finding data, cost summaries and your console questions to a model on Amazon Bedrock, running in Spendsaw's AWS account, to explain Findings and, where used, to rank them. [MODEL TRAINING: counsel and owner to confirm against the current AWS service terms before stating that Customer Data is not used to train models. Spendsaw itself does not train models on Customer Data.]
9.6 Personal data. Where Customer Data includes personal data and data protection law applies, the DPA applies and forms part of these terms. The Privacy Policy explains how we handle personal data for which we are the controller, such as your account and billing details.
9.7 Aggregated data. [AGGREGATED DATA: owner decision.] We may create statistics from the use of the Hosted Service that do not identify you, your accounts, your resources or any person, such as the number of Findings by type across all customers, and use them to run and improve the Services.
9.8 Security. We will maintain the technical and organisational measures described in Annex II of the DPA. We do not promise that the Hosted Service is free of vulnerabilities.
10. Confidentiality
10.1 Meaning. "Confidential Information" means non-public information that one party discloses to the other and that is marked confidential or would reasonably be understood to be confidential. Customer Data is your Confidential Information. Non-public details of the Hosted Service and of pricing agreed with you are ours.
10.2 Duties. The party receiving Confidential Information will use it only to perform or exercise rights under these terms, will protect it with reasonable care, and will disclose it only to staff, contractors, advisers and sub-processors who need it and who are bound by confidentiality duties at least as protective as this section.
10.3 Exceptions. These duties do not apply to information that the receiving party can show: (a) is or becomes public through no fault of its own, (b) it already knew without a duty of confidence, (c) it received lawfully from someone else without a duty of confidence, or (d) it developed independently.
10.4 Required disclosure. The receiving party may disclose Confidential Information where the law or a court requires it. Where it lawfully can, it will tell the other party first.
10.5 Duration. These duties last for the term of these terms and [CONFIDENTIALITY SURVIVAL YEARS] years afterwards, and for as long as the information remains a trade secret.
11. Intellectual property and feedback
11.1 Ours. We and our licensors own the Hosted Service, the Documentation, the Spendsaw name and marks, and all improvements to them. Except for the rights expressly granted in these terms, we grant you no rights in them.
11.2 Yours. You own Customer Data and your own names, marks, repositories and infrastructure code. A Pull Request that the GitHub App opens in your repository is a contribution to your repository, and you own the resulting code.
11.3 Feedback. If you give us suggestions or other feedback about the Services, we may use it without restriction and without payment. Feedback does not include Customer Data, and we will not attribute feedback to you publicly without your consent.
11.4 White-label reports. If your plan includes white-label reports, you grant us the right to place your name, logo and colours on the reports generated for you. You confirm that you have the right to let us do so.
12. Third-party services
12.1 AWS. The Services work with AWS and the Hosted Service is built on Amazon Bedrock. Spendsaw is not affiliated with or endorsed by Amazon. Your use of AWS is governed by your own agreement with AWS. We are not responsible for AWS's services, pricing, APIs or outages, or for changes AWS makes to them, including changes to the AWS-managed ViewOnlyAccess policy that the Read-only Role attaches.
12.2 Slack, GitHub and Stripe. If you install the Slack app or the GitHub App, the Hosted Service sends the data described in the Documentation to Slack or GitHub, in the workspace, channel and repositories you choose. Your use of Slack, GitHub and Stripe is governed by your own agreements with them. We are not responsible for their services.
12.3 Your AI assistant. The Local Software gives its output to the AI assistant you connect it to. Your agreement with that assistant's provider governs what happens to that output.
12.4 Changes by third parties. If a third party changes or withdraws something the Hosted Service depends on, a feature may stop working. We will make reasonable efforts to adapt. That is not a breach of these terms.
13. Estimates, savings and disclaimers
13.1 Savings figures are estimates unless marked verified. A cost or saving shown for a Finding is an estimate. Depending on the data available, it is based on AWS list prices, on an estimate from an AWS recommendation service, or on billed cost from your Cost and Usage Report. Each Finding shows which. An estimate may differ from what you actually save, for example because of discounts, commitments, free-tier allowances, tax or later changes in usage.
13.2 What "verified savings" means. A figure labelled "verified" is a comparison made against your own AWS billing data: the cost of the resource before the change, less what AWS still billed for that resource in a later full calendar month. It is a measurement from your bill for that resource. It is not a guarantee of a future saving, it is not a statement about your total AWS bill, and it depends on the accuracy and completeness of the billing data AWS provides.
13.3 Explanations written by a model. The plain-English explanation of a Finding is written by an AI model, and the model may also be used to rank Findings. Its output may be wrong or incomplete. The commands, amounts and risk tiers attached to a Finding come from our software and not from the model.
13.4 Findings are not complete or definitive. The Services may miss waste, and may flag a resource that you need. A Finding is a prompt for your review, not a conclusion.
13.5 Our commitments. We will provide the Hosted Service with reasonable skill and care, and materially as described in the Documentation, subject to section 3.4.
13.6 Disclaimer. Except as expressly stated in these terms, and to the fullest extent the law allows, the Services are provided "as is" and "as available". We disclaim all implied warranties, including implied warranties of merchantability, fitness for a particular purpose and non-infringement. We do not warrant that the Services will be uninterrupted or error-free, that they will find every saving, or that any particular amount will be saved. The Local Software is provided on the warranty terms of its own licence.
13.7 Not professional advice. The Services do not give financial, accounting, tax or legal advice.
14. Limitation of liability
14.1 What is never limited. Nothing in these terms limits or excludes liability that cannot be limited or excluded by law. Depending on the governing law this may include liability for death or personal injury caused by negligence, for fraud or fraudulent misrepresentation, and for [gross negligence or wilful misconduct: counsel to confirm for the governing law chosen].
14.2 Excluded losses. Subject to section 14.1, neither party is liable to the other for: (a) indirect, incidental, special, consequential or punitive damages, or (b) loss of profit, revenue, business, goodwill or anticipated savings, in each case whether or not it was foreseeable or the party was told it was possible. This section does not prevent you from recovering the direct cost of restoring a resource under section 14.3(b), and it does not reduce the fees you owe.
14.3 Remediation. This section allocates responsibility for changes to your AWS resources.
- (a) Changes you approved or merged. Subject to section 14.1, Spendsaw is not liable for the outcome of a Remediation where the Hosted Service executed the Approved Commands in accordance with section 5, or where you merged or applied a Pull Request. This includes loss of data, loss of a resource, loss of an IP address, downtime, and the cost of restoring or rebuilding, even if the Finding or its explanation was mistaken. You made the decision under section 6, and the price of the Services reflects that allocation.
- (b) Changes outside the Approval. Section 14.3(a) does not apply, and Spendsaw is responsible for your direct losses up to the cap in section 14.4, where the Hosted Service, through our fault and not yours:
- (i) ran commands that were different from the Approved Commands;
- (ii) changed a resource without an Approval, or after the Approval had expired or been rejected;
- (iii) changed a resource that was an Excluded Resource at the time of the Pre-check;
- (iv) executed a change that section 5.3 says is never executed; or
- (v) changed a resource in an account where you had not deployed the Remediator Role and enabled remediation.
- (c) Your own side. Spendsaw is not responsible under section 14.3(b) to the extent the loss was caused by a change you made to a Role or its policies, by a Keep Tag that was not present at the time of the Pre-check, by an Approval given through a compromised account or credential that you had not reported, or by your failure to keep a backup that you could reasonably have kept.
14.4 Cap. Subject to section 14.1, each party's total liability arising out of or in connection with these terms, in contract, tort (including negligence) or otherwise, is limited to:
- (a) for a customer on a paid plan:
[LIABILITY CAP: the fees Customer paid to Spendsaw in the 12 months before the event giving rise to the claim | or, the greater of those fees and US$[CAP FLOOR AMOUNT]]; - (b) for a customer using only the free tier, a free trial or the design-partner programme:
[FREE-TIER CAP: US$[FREE-TIER CAP AMOUNT]].
14.5 What the cap does not cover. The cap in section 14.4 does not apply to: (a) your obligation to pay fees, (b) [a party's indemnity obligations under section 15: counsel to choose between uncapped, a separate higher cap, or the general cap], or (c) [breach of the DPA or of section 10: counsel to choose].
14.6 Basis of the bargain. The limits in this section apply even if a remedy fails of its essential purpose. They reflect the price of the Services and the fact that you control whether any change is made.
14.7 Local Software. Liability for the Local Software is governed by its own licence.
15. Indemnities
15.1 By you. You will defend Spendsaw against any claim by a third party, and pay the damages and costs finally awarded or agreed in settlement, to the extent the claim arises from: (a) your connecting an AWS account, Slack workspace or repository that you were not authorised to connect, (b) a Remediation you approved or merged in an account or repository belonging to someone else, including your client, (c) Customer Data infringing or violating a third party's rights, or (d) your breach of section 7.
15.2 By us. We will defend you against any claim by a third party that the Hosted Service, used in line with these terms, infringes that third party's intellectual property rights, and pay the damages and costs finally awarded or agreed in settlement. We may, at our choice, modify the Hosted Service so it no longer infringes, obtain a licence, or end your subscription and refund fees paid in advance for the period after it ends. This section does not apply to claims arising from Customer Data, from third-party services, from your changes, or from use of the Hosted Service in breach of these terms. This section 15.2 states our whole liability for intellectual property infringement claims.
15.3 Procedure. The party seeking an indemnity must tell the other promptly, let it control the defence and settlement, and give reasonable help at the other's cost. The indemnifying party will not agree a settlement that admits fault or imposes obligations on the other party without that party's written consent.
16. Term, suspension and termination
16.1 Term. These terms start when you accept them and continue until your account is closed.
16.2 Ending by you. You may stop using the Services at any time. To end a paid subscription, cancel under section 8.9. To end Spendsaw's access to an AWS account, delete the Roles in that account. To end the Slack and GitHub integrations, uninstall the apps.
16.3 Suspension by us. We may suspend all or part of the Hosted Service for your account, with as much notice as is reasonable in the circumstances, if: (a) we reasonably believe your use is a security risk to the Hosted Service or to others, (b) you are in material breach of section 7, (c) the law requires it, or (d) payment has failed and the grace period in section 8.8 has ended. We will lift the suspension when the cause is resolved.
16.4 Termination for cause. Either party may end these terms by written notice if the other materially breaches them and does not fix the breach within 30 days of being told. If you end these terms under this section because of our breach, we will refund fees paid in advance for the period after termination.
16.5 Ending by us without cause. We may end these terms or withdraw the Hosted Service on [TERMINATION NOTICE DAYS] days' written notice. If we do, we will refund fees paid in advance for the period after termination.
16.6 What happens to your data. When your account is closed:
- (a) the Hosted Service stops scanning your Connected Accounts;
- (b) on your request made within
[DATA EXPORT DAYS]days, we will make your Findings, action records and savings ledger available to you in a common machine-readable format; - (c) we will delete Customer Data within
[DATA DELETION DAYS]days of closure, other than copies in backups, which are overwritten on our normal cycle, and data we must keep by law.
16.7 What happens to the Roles. The Roles are in your AWS accounts and under your control. Spendsaw cannot delete them. To revoke Spendsaw's access, delete the Roles (or delete the CloudFormation stacks that created them). Until you do, the Roles continue to trust Spendsaw's AWS account. After closure we will stop using them and we will delete your ExternalId [once a deletion procedure exists: owner to confirm]. Backup snapshots taken under section 5.3 remain in your account until you delete them.
16.8 Survival. Sections 6, 8 (for amounts already due), 9.1, 10, 11, 13, 14, 15, 16.6 to 16.8, 18 and 19 continue after these terms end.
17. Changes
17.1 Changes to the Services. We may change the Services. We will not remove a safeguard described in sections 5.2 to 5.9 without telling you in advance in the Documentation and by email or in the console. If we change the permissions in a Role template, the new template applies only when you deploy it.
17.2 Changes to these terms. We may change these terms. For a change that materially reduces your rights or increases your obligations, we will give you at least [TERMS CHANGE NOTICE DAYS] days' notice by email or in the console. If you do not agree, you may cancel before the change takes effect and we will refund fees paid in advance for the period after cancellation. Using the Hosted Service after the change takes effect means you accept it.
18. Governing law and disputes
18.1 Governing law. These terms are governed by the laws of [GOVERNING LAW STATE], without regard to its conflict of laws rules.
18.2 Talk first. Before starting formal proceedings, a party will give the other written notice of the dispute and both will try in good faith to resolve it within 30 days.
18.3 Forum. [DISPUTE FORUM: counsel's choice between the two options below.]
- Option A, courts. The state and federal courts located in
[VENUE COUNTY AND STATE]have exclusive jurisdiction over any dispute arising out of or in connection with these terms, and each party submits to them. - Option B, arbitration. Any dispute arising out of or in connection with these terms will be finally resolved by binding arbitration administered by
[ARBITRATION PROVIDER]under its rules, by one arbitrator, seated in[ARBITRATION SEAT], in English.[CLASS ACTION WAIVER AND SMALL-CLAIMS CARVE-OUT: counsel to draft if Option B is chosen.]
18.4 Urgent relief. Either party may ask any court with jurisdiction for an injunction or other urgent relief to protect its confidential information or intellectual property.
19. General
19.1 Whole agreement. These terms, the DPA where it applies and any Order are the whole agreement between the parties about the Services and replace earlier discussions and proposals about them. Neither party has relied on a statement that is not in them. Nothing in this section limits liability for fraud.
19.2 Assignment. Neither party may assign these terms without the other's written consent, which must not be unreasonably withheld. Either party may assign them without consent to an affiliate, or to a successor in a merger or a sale of substantially all of the relevant business, by giving notice.
19.3 Sub-contractors. We may use sub-contractors and sub-processors. We remain responsible for their work as if it were our own.
19.4 Events outside a party's control. Neither party is liable for a failure or delay caused by an event outside its reasonable control, including an outage of AWS, Slack, GitHub, Stripe or the internet. This does not excuse payment of fees for service already provided.
19.5 Notices. We will send notices to the email address on your account. Send notices to us at [legal@spendsaw.com] and by post to [REGISTERED ADDRESS]. A notice by email is treated as received on the next business day after it is sent.
19.6 Export and sanctions. You confirm that you are not located in, and will not use the Services from, a country or for a person subject to sanctions or export restrictions that apply to Spendsaw. [EXPORT AND SANCTIONS: counsel to tailor to the contracting entity's jurisdiction.]
19.7 Severability. If a court finds part of these terms unenforceable, that part is to be enforced to the extent the law allows and the rest stays in effect.
19.8 No waiver. A party that does not enforce a right at once has not given it up.
19.9 Relationship. The parties are independent contractors. These terms create no partnership, agency or employment.
19.10 Third parties. No one other than the parties has rights under these terms.
19.11 Publicity. We will not use your name or logo in our marketing without your written consent. Schedule 1 covers design partners.
19.12 Language. These terms are written in English. If they are translated, the English version controls.
19.13 Contact. Questions about these terms: [legal@spendsaw.com].
Schedule 1. Design-partner programme
This schedule applies only if we have agreed in writing that you are a design partner. Where it conflicts with the rest of these terms, this schedule controls.
S1.1 Free period. We will provide the Hosted Service to you free of charge for 60 days from the date we agree in writing (the "Pilot"). [PILOT PAYMENT METHOD: owner to decide whether a card is collected at the start of the Pilot. Default draft: no card is collected.]
S1.2 What you agree to do. During the Pilot you will make a reasonable effort to: (a) connect at least one AWS account, (b) give us feedback once a week, by a call or in writing, and (c) tell us promptly about any problem with a Finding, a Plan, a Pull Request or a Remediation.
S1.3 Case study and publicity. [CASE STUDY CONSENT: owner decision. Default draft follows.] We would like to publish a case study about your use of Spendsaw at the end of the Pilot. We will send you the draft, including any figures, quotes, your name and your logo. We will publish it only after you approve it in writing. You may decline, ask for changes, or ask for it to be published without your name. Declining does not affect your Pilot or your right to continue as a paying customer. After publication you may ask us to take it down, and we will do so within [CASE STUDY TAKEDOWN DAYS] days, other than copies already distributed that we cannot recall.
S1.4 End of the Pilot. At the end of the Pilot the Hosted Service stops for your account unless you choose a paid plan. [PILOT CONVERSION: owner to decide whether the Pilot converts automatically to a paid plan. Default draft: it does not, and you are not charged unless you choose a plan at checkout.]
S1.5 Ending early. Either party may end the Pilot at any time by written notice.
S1.6 Everything else still applies. Sections 3.4 (early access), 5 and 6 (Remediation), 13 (disclaimers) and 14 (limitation of liability, including section 14.4(b)) apply during the Pilot. The Pilot is early-access use: Remediation has not been validated end to end against live AWS accounts at the date of this draft, and you should start with accounts where a mistake would be cheap.
S1.7 Pilot feedback. Section 11.3 applies to feedback you give during the Pilot.