Legal
Terms and Conditions
Last updated: 18 October 2026
1. Acceptance of these terms
By opening or using this website and the StiffStruct calculator (together, the “Service”), you agree to these terms. If you do not agree, please do not use the Service. If you use the Service for an organisation, you confirm that you may accept these terms on its behalf.
2. The service
StiffStruct is a web application for first-order, linear-elastic structural analysis of beams, trusses and frames using the direct stiffness method. It runs in your web browser, and calculations are carried out on your own device. We may add, change or remove features at any time.
3. Free plan
The Free plan costs nothing and has no time limit. It shows the shape of the diagrams for every model but no numeric results; numeric results and the other paid features need a paid plan (see section 5). Use of the Free plan does not create any customer, consulting or professional relationship between you and us.
4. Plans, free trials and billing
- Plans and prices. The current plans (Free, Student, Pro and Lifetime), their features and their prices are shown on the pricing page. Prices are in US dollars. Sales tax, VAT or GST is added at checkout where it applies.
- Who you pay. Payments are processed by Dodo Payments, our payment provider and merchant of record. Dodo Payments sells the plan to you, takes the payment, collects the tax and issues the invoice and receipt, under its own terms.
- Free trial. Student and Pro start with a 3-day free trial. There is one free trial per person and per account, and we may refuse a trial where we reasonably suspect abuse. A payment card is required at checkout. Nothing is charged during the trial. When the trial ends, the plan you chose is charged automatically at the price shown at checkout, unless you cancel before the trial ends. We may send a reminder e-mail before the trial ends, but we are not obliged to, so please note the date shown in Manage subscription.
- Auto-renewal. Student and Pro subscriptions renew automatically at the end of each period (a year, or a month for Pro monthly) and your payment method is charged, until you cancel.
- Cancellation. You can cancel at any time with Manage subscription on the pricing page. Access continues until the end of the period you have already paid for or the end of the trial, and you are not charged again. Cancelling does not give a partial refund of the current period.
- Price changes. We may change prices. For existing subscribers a new price applies from the next renewal and we will tell you at least 30 days beforehand, so you can cancel first.
- Student and non-commercial use. The Free and Student plans are for non-commercial use (study, teaching, research and personal projects). Using the Service for paid or client work requires the Pro or Lifetime plan. The Student plan runs on trust; we do not ask for proof of enrolment, but you must not misuse it.
- Lifetime. Lifetime is a single payment for Pro access for the lifetime of the Service, not the lifetime of the buyer. It is a launch offer limited to the first 100 buyers. If we ever stop operating the Service, we will give reasonable notice.
- One person, one account. A paid plan is for one person. Do not share your account.
- Refunds. Refunds are handled under the Refund and Cancellation Policy, which is part of these terms.
- Failed payments. If a payment fails, we or our payment provider may try again. While a payment is overdue, paid access may pause and the account returns to the Free plan. Your models are never deleted by that, because they are stored in your browser.
5. No warranty; verify all results
The Service and everything in it, including results, diagrams, reports, example problems, exported code and documentation, is provided “as is” and “as available”, without warranties of any kind, express or implied, including fitness for a particular purpose, accuracy, completeness or non-infringement.
- The analysis is linear-elastic and first-order, and uses Euler–Bernoulli members. It does not model second-order effects, buckling, shear deformation, non-linear materials or dynamics. See the About page for the full scope.
- Although the solver has been tested against textbook solutions and an independent implementation, errors can still exist in the software, in your input, or in how you interpret the output.
- Results must be checked by a qualified engineer using independent methods before they are relied on. The Service is not intended for final design, certification or construction without that verification, and it does not replace applicable design codes, standards or professional judgement.
6. Limitation of liability
To the maximum extent permitted by law, the owner and contributors of StiffStruct are not liable for any direct, indirect, incidental, special, consequential or punitive damages, or for any loss of data, profits, revenue, property or business, or for personal injury or structural failure, arising from or related to your use of, or inability to use, the Service, even if we were told such damage was possible. Where the law does not allow part of this limitation, our liability is limited to the smallest amount the law permits. Nothing in these terms excludes liability that cannot be excluded by law.
7. Your responsibilities
You agree to:
- check your inputs, units and assumptions, and verify the results (see section 4);
- use the Service lawfully, and not to attack, overload, scrape in a way that harms, or try to gain unauthorised access to the Service or its users;
- not misrepresent output from the Service as certified, approved or checked by us;
- keep any sign-in credentials for your own accounts secure.
8. Accounts and sign-in
You can use the Service to build models and see diagram shapes without an account. Seeing numeric values requires you to sign in with a free account; paid features additionally need a paid plan (section 4). Sign-in uses Google Firebase Authentication, with your Google account or with an e-mail address and password. When you sign in, Firebase stores your e-mail address and display name (and an internal account identifier) so that you stay signed in. We never receive or store your password, and Firebase may send you account e-mails such as address verification and password reset.
You can sign out at any time. To delete your account, send a request from the e-mail address on the account using the contact page, and we will delete the account and its stored data. We may suspend or remove accounts that break these terms. See the Privacy Policy for details.
9. Your models and data
The models you create are kept in your browser’s local storage on your own device. They are not uploaded to a server by the Service. If you create a share link, the model is encoded inside the link itself, so anyone who has the link can open the model; share links only as widely as you are comfortable with. You keep all rights in your models. Clearing your browser data deletes locally stored models, so save important work to a file.
10. Cookies and local storage
The Service uses your browser’s local storage for your model autosave and preferences (theme, contrast, units, decimals), and the sign-in service sets the storage it needs to keep you signed in. We do not use advertising or tracking cookies. More detail is in the Privacy Policy.
11. Third-party services
The Service relies on third-party services, including Google Firebase Authentication for sign-in and for storing your subscription status, Dodo Payments for payments, Cloudflare for the small service that connects the payment provider to your account, and the jsDelivr content delivery network for software libraries such as three.js, KaTeX and Pyodide. These services have their own terms and privacy policies, and we are not responsible for them. Some features may be unavailable if a third-party service is down or blocked on your network.
12. Intellectual property
The Service, including the software, source code, solver, documentation, text, graphics, design and the StiffStruct name, is owned by Mohammad Asad and is protected by copyright and other intellectual-property laws. All rights are reserved except those expressly granted in these terms.
Subject to these terms, you receive a personal, non-exclusive, non-transferable, revocable right to use the website and the calculator. You may not copy, modify, redistribute, sublicense or create derivative works from the Service or its code, decompile or reverse engineer it, or scrape or mirror the website or its code, except where the law gives you a right to do so that cannot be excluded by contract.
The models, reports and exported files you create with the Service belong to you. You may use them for personal and educational purposes on any plan, and for professional and commercial work on the Pro or Lifetime plan (section 4), subject to these terms. An exported Python or MATLAB script may be used and modified for your own work, but the StiffStruct library code embedded in it remains copyright Mohammad Asad, all rights reserved, and may not be redistributed.
Third-party libraries used by the Service keep their own licences; see THIRD-PARTY-NOTICES.md. Names, logos and trademarks of other parties belong to their owners.
13. Changes
We may update these terms from time to time. The “Last updated” date at the top shows the current version. Continuing to use the Service after a change means you accept the updated terms. If a change is significant, we will try to make it visible on the website.
14. Governing law
TODO (site owner): state the governing law and the courts or venue that apply, for example the country or state where the operator is based.
15. Contact
Questions about these terms: use the contact page or write to the contact address.