Legal
Terms of Service
This is the agreement between you and Assessly Pte. Ltd., trading as Forculus, for using our platform. We wrote it to be read. If any part is unclear, ask us and we will fix the wording.
These are our first terms. They take effect on 21 October 2026.
1. Who we are, and what these terms cover
The platform at forculuslabs.tech is provided by Assessly Pte. Ltd., a Singapore private company limited by shares (UEN 202613864N), trading as Forculus. In these terms the company is we or us. The Service means these parts of the platform together: the dashboard at app.forculuslabs.tech, the API, the command-line tool, the SDKs, and the apps our customers deploy, which are served under forculuslabs-apps.tech.
These terms apply to you if you create an account, own or belong to a workspace, deploy an app, or use a bearer token the Service issued. In these terms that person is you. If you use the Service for a company or another organisation, you confirm that you can bind it to these terms, and you then means that organisation.
People who only visit an app someone deployed on the Service are governed by that app owner's own terms. Our Privacy Policy says what we process about them at the door.
The Privacy Policy, the Data Processing Addendum, the Refund Policy and the plan table are part of these terms. Where they conflict, the DPA wins for personal data and these terms win for everything else.
2. Your account
You sign in with a code we email you. There is no password. So:
- Whoever controls your mailbox controls your account. Keep it protected, and tell us at once if you lose control of it.
- You are responsible for what is done through your account, and through any bearer token you create until you revoke it. Treat tokens as secrets. Never put one in code or a shared document.
- You must give a working email address that you have the right to use, and keep it up to date.
You must be at least 18 and able to enter a contract. The Service is built for businesses and professional use. It is not for children.
A person may have only one account. You may not sign up on behalf of someone who isn't allowed to use the Service, and you may not use the Service after we have closed your account.
3. Workspaces, members and sharing
Everything on the Service lives in a workspace. A workspace has an owner and may have other members. Each plan applies to one workspace.
- The owner is responsible for the workspace: its plan and payment, its members, and its apps and what they do. The owner is also responsible for accepting these terms on behalf of the organisation the workspace belongs to.
- Members act under the workspace's plan and these terms. The owner can add and remove them at any time. A removal takes effect within a minute, open sessions included.
- Sharing an app with someone by email gives that person access to that app, not to the workspace. Every request they make is logged with their identity. You decide who gets access, so you are responsible for that decision, and for telling them what the app does with their data.
- Public paths open part of an app to anyone. The app is responsible for whatever arrives there. On a path with a webhook verifier, the platform checks the provider's signature before the app sees a delivery, using the signing secret you set on that path. On any other public path, checking a sender's signature is the app's job.
4. Acceptable use
You may use the Service to build, deploy and share software that is yours to run. You may not use it, or let anyone use it through you, to:
- break the law, or help anyone break it, including hosting or distributing content that is illegal where you are, where we are, or where the person you share it with is
- make, host, share or link to child sexual abuse material or anything else that sexualises minors, or take part in or promote human trafficking
- harass, threaten or abuse anyone, our staff included
- host or publish anything that threatens or incites violence, or expose someone's private information to harass or endanger them
- host or distribute malware, phishing pages, credential harvesters, or anything designed to defraud people or to deceive them about who runs it
- name a workspace or an app to impersonate a brand, a person or an organisation, or to mislead people about who runs it
- say or imply that an app is made, endorsed or run by Cloudflare or another of our providers, or use their names or logos without their permission
- infringe anyone's copyright, trademark, privacy or other rights, or distribute software or content in breach of its licence
- store, process or send protected health information as HIPAA defines it
- collect, store, process or send payment card details, such as card numbers, expiry dates or security codes, in an app or through the Service
- break export control or sanctions laws, including by letting a sanctioned person, or anyone in a sanctioned country or region, use an app through the Service
- mine cryptocurrency, run proof-of-work, or otherwise use the Service mainly as compute for its own sake
- run an open proxy, VPN endpoint, Tor relay, scraper farm, or anything whose purpose is to relay other people's traffic, hide its origin, or get around another service's limits
- send unsolicited bulk email or messages, or host the infrastructure for it, including anything that breaks Singapore's Spam Control Act 2007
- attack, probe, overload or interfere with the Service, another customer's workspace, or any third party, including by trying to reach an app other than through its address and the door we put in front of it
- get around a plan limit, a suspension, or a security control, or share an account to do so
- resell the Service as a hosting product without a written agreement with us
We may refuse a workspace or app name that impersonates or misleads in this way, or suspend or remove an app or workspace that uses one.
The Service isn't built for protected health information, and we sign no business associate agreement. To take card payments, use a payment provider's hosted page or fields.
We report child sexual abuse material to the Singapore Police Force and to the National Center for Missing & Exploited Children (NCMEC), and keep what the law says we must keep.
You confirm that neither you nor any organisation you act for is a sanctioned person, is owned or controlled by one, or is based in a sanctioned country or region.
Security research on the Service itself is welcome within the rules on the Security page.
If we believe an app or a workspace breaks this section, we may take it offline first and tell you afterwards. Some of these cause harm by the minute. See section 9.
These rules are also on a page of their own, our Acceptable Use Policy.
5. Your apps and your content
Everything you deploy, store or send through the Service is yours. That includes code, files, databases, environment values and the data your apps hold. We call it your content, and we claim no rights in it.
You give us permission to host, copy, run, transmit and back up your content, and to show it to the people you have shared it with, as far as needed to provide the Service. That permission ends when the content is deleted, except that it goes on covering copies in backups for the backup periods in the Privacy Policy.
You are responsible for your content: for having the right to use it, for its complying with section 4, and for your apps doing what you tell their users they do. We don't review apps before they go live, and we don't read what they store unless we are looking into a report about an app. What the platform records about each request is its entry in the audit log, which the Privacy Policy describes. Where a webhook provider signs the time it sent a delivery to a verified public path, the platform also keeps a hash of that delivery's signature, so that a replayed copy can be refused. The hash is deleted within an hour.
If your app relies on knowing who is calling, it must verify the signed identity the edge passes it. Trusting an unsigned header is a defect in the app, not in the Service.
6. Plans, payment and billing
The plans, their prices and their limits are on the pricing page, which is part of these terms. The prices there are: Free costs nothing, Team is US$49 per workspace per month and Business is US$215 per workspace per month.
- Billing is monthly, in US dollars, per workspace, through Stripe. By starting a paid plan you authorise Stripe to charge your payment method each month until you cancel. We never see or store your card number, and we store no invoice amounts. Your invoices and receipts are in Stripe's customer portal, which you open from the workspace's Billing tab.
- Tax. Prices exclude taxes. We are not registered for GST in Singapore, so we charge no GST. If that changes, or another tax becomes due on what you buy, it is added at checkout and we tell you before it is. Keep the billing details you give Stripe accurate. Where the law where you are makes you account for tax on what you buy from us yourself, you do.
- Included usage and overage. Each plan includes an amount of four things: requests, CPU time, database rows read and database rows written. On Team and Business the amounts are per billing month, the month each invoice covers, and the count starts again each billing month. On Free they are per calendar month, in UTC. The amounts are on the pricing page.
- A request is any request the edge passes to your apps: from signed-in people, from bypass tokens, from anonymous visitors to a public path, and webhook deliveries. Anonymous requests to a public path count and are charged like any other. They are also rate-limited per client.
- CPU time is the time your Worker apps' own code spends running, as Cloudflare records it for each request, including public-path and webhook requests. Time spent waiting on a fetch or a database doesn't count. Container apps and static sites are not charged for CPU time. The code in front of them is ours, and a container's computing is covered by its size.
- Cloudflare counts database rows for each of your apps' databases. A query counts every row it reads, including rows it scans and doesn't return, and every row and index entry it writes. This includes queries made while serving public-path requests, and the reads and writes of database exports and
forculus dbcommands the workspace runs.
- Charges past the allowances. On Team and Business, usage past an allowance is charged on the invoice for that billing month: US$3.78 per million requests, US$0.041 per million milliseconds of CPU time, US$2.50 per billion rows read and US$2.25 per million rows written. Database storage over the plan's database limit is charged at US$1.55 per GB-month, by the hour. If we haven't finished setting up billing for one of these on your subscription, the workspace can't go past that allowance. Its apps answer
402until we have, or until the next billing month. - Usage limit. Usage charges on Team and Business stop at a limit each billing month, before tax. The usage charges we invoice never exceed the highest usage limit in force during the hour the usage happened. Usage is measured a little after it happens, so some can run past the limit before the apps stop, and that usage is on us. By default the limit is US$0, so nothing beyond the plan's price is charged unless an owner sets another amount, or none, on the Billing tab. When the estimated usage charges for the billing month reach the limit, the workspace's apps answer
402until the next billing month or until an owner raises it. We email the owners at 80% and 100% of each allowance, when usage charges reach US$10, the plan's price and each further multiple of it, and at 80% and 100% of the usage limit. - Invoices during a billing month. When usage charges within a billing month reach US$100 on Team or US$400 on Business, Stripe invoices them straight away. If that payment fails, the workspace's apps answer
402until it is paid. - Free. Free is never charged. A Free workspace stops serving requests for the rest of the month once it reaches twice its request allowance, 50,000,000 milliseconds of CPU time across its Worker apps, its limit on database rows read or its limit on database rows written. The edge then answers
402. CPU time is counted as for the allowances above, from the platform's meter. The meter runs a few minutes behind, so a workspace can go a little past 50,000,000 milliseconds before its apps stop. Every request the edge passes to its apps counts toward the request limit, including anonymous requests to a public path and webhook deliveries. Only usage while the workspace was on Free counts. So for a workspace that has moved onto Free, the count starts from the hour the change takes effect: the end of the paid billing month after a cancellation or a downgrade, or the end of the two weeks of retries after a failed payment. We measure database rows from Cloudflare's analytics. If we can't measure a Free workspace's database rows for two hours, its apps that have a database answer402until we can. In the same way, if we can't count a Free workspace's CPU time for two hours, its Worker apps other than static sites answer402until we can. - How usage is measured. We count requests ourselves. CPU time comes from the record Cloudflare makes of each request to your Worker apps, checked against Cloudflare's analytics. Database rows and sizes come from Cloudflare's analytics. We bill only figures Cloudflare reports exactly. Where its figure is an estimate, we wait for the exact one. If none comes before the invoice for that billing month is final, that usage is not billed. If we find we billed more than Cloudflare's exact figure, we credit the difference automatically on your next invoice and show it on the Billing tab. Usage we can't measure exactly, or can't report to Stripe in time, is not billed, and the Billing tab says how much. The estimate on the Billing tab is before tax. Stripe's invoice is the final word.
- Limits on each request. Every request can make at most 50 subrequests, on every plan. Subrequests are fetches and other calls, as Cloudflare counts them. A subrequest past that fails, and the app's code can catch the error. Each plan also sets the CPU time a request should use: 50 milliseconds on Free, 100 on Team and 150 on Business. A request that runs past it may be stopped. On Team and Business, the CPU time it used is charged like any other. Worker apps can't use
ctx.exports, the loopback bindings, to call themselves. - Database storage. Your apps' databases count toward the plan's storage. Each plan also limits their total: 1 GB on Free, 2 GB on Team and 10 GB on Business. We measure databases every few minutes rather than stopping each write. So a database can go past the limit before its apps are paused, usually by what it writes in about ten minutes, and by what it writes over a longer time when Cloudflare's analytics are unavailable. Once a workspace's databases are over its limit, its apps that have a database answer only the workspace's owners and admins. Everyone else gets
507, and nothing new can be deployed. If the databases grow further, or reach 10% over the limit, the owners and admins lose that access too, and those apps answer no one. To get back under, delete rows through the app or withforculus db exec, export data and remove it, or upgrade. On Team and Business, stored data over the limit is charged as above for as long as it stays. On Free, or on any plan whose payments have lapsed, a workspace still over its limit after 7 days is suspended under section 9. If it is still over 30 days after that, we delete its largest databases until it is under, after emailing its owners 7 days and 1 day before. Export first. - Storage. If a workspace stores more than its plan allows and any of its apps keeps files of its own, every app in it that has a place for files stops answering, for everyone including the workspace's owners and admins, until the workspace is back under its storage. Nothing new can be deployed or uploaded meanwhile. If a workspace stays over its storage because of its apps' files, we delete those files: after 7 days over on Free, and after 30 days over on Team and Business. We email the workspace's owners a week before, which on Free is as soon as it goes over. We don't delete them if the workspace would still be over without them, or while the law requires us to keep data. We enforce storage continuously, not only when something is created. We measure apps' files every five minutes and databases about once an hour, and act on each measure, so files written between measures can take a workspace past its storage before its apps stop. On Free, if we can't measure an app's files, the workspace's apps with files stop until we can.
- Other limits, such as apps, members and tokens, are enforced when you create something. The exceptions are storage, database storage and the limits on each request, described above. You will be told which limit you hit and which plan lifts it. Container apps run on Team and Business only. A container app in a workspace on Free does not answer requests, and a container app can't be deployed to a Free workspace.
- App logs. Each plan limits how many app log lines a workspace can write a day: 20,000 on Free, 100,000 on Team and 300,000 on Business. Past that number, logging stops until the next UTC day, and the apps keep running.
- Plan changes are made on the workspace's Billing tab. Upgrades take effect once they are paid for, and start a new billing month on the new plan. You are charged the new plan's full price, less a credit for the unused time on the old plan, and every allowance starts again. There is no credit if the old plan's usage so far in the billing month is well ahead of the time that has passed. The Billing tab tells you which applies before you confirm. The old plan's usage so far is invoiced with the upgrade, at the old plan's prices. Usage from before the upgrade that we can only measure after it counts in the new billing month, against the new plan's allowances. If the payment fails or needs your confirmation, the upgrade waits on it for up to 23 hours and then lapses, leaving the plan as it was. Downgrades take effect at the end of the billing month you've paid for, at your renewal. Until then the workspace keeps the higher plan, and you can undo the pending downgrade. A downgrade isn't made while the workspace's databases are over the lower plan's database limit. The renewal invoice is at the new price. Audit events older than the new plan's retention are deleted 30 days after the change. Export first.
- Failed payments. If a payment fails, we retry for up to two weeks and Stripe emails you each time. After that the workspace moves to Free: container apps stop, and everything else keeps running within Free's limits. Nothing already deployed is removed, but nothing that would exceed a Free limit can be created until you are paying again. The platform emails the workspace's owners three days before the move, and again when it happens.
- Disputes. If you dispute a correct charge with your card issuer, the workspace is suspended under section 9 while the dispute is open. The suspension is lifted if the dispute is decided in our favour. If it is decided in yours, the suspension stays until you write to us and the charge is settled. Please write to us first. A mistake on our side is refunded without argument.
- Price changes. We may change prices with at least 30 days' notice by email to the workspace owner. The new price applies from the first renewal after the notice period. If you don't want to pay it, cancel before then.
You are responsible for the fees of every workspace you own, whether or not you used it that month.
7. Cancellation and refunds
You can cancel a paid plan at any time in Stripe's customer portal, which you open from the workspace's Billing tab. Cancellation takes effect at the end of the billing month you've paid for, and until then the plan stays as it is. The workspace then goes back to Free. Container apps stop, and everything else keeps running within Free's limits. Nothing is deleted except audit events older than Free's retention, which are deleted 30 days after the change. Export first. There is no further monthly charge. Usage past the allowances in the final billing month is billed on that month's invoice, which Stripe keeps open for a day after the billing month ends so late measurements reach it.
Deleting a workspace on a paid plan (section 10) cancels its subscription at once, and the rest of the billing month is not refunded. There is no further monthly charge. The workspace's apps stop at once, and usage up to the deletion is billed on a final invoice within two hours, once we have measured it. Usage we can't measure by then is not billed.
Fees are not refunded for part of a billing month, an unused billing month, or a workspace you forgot about. There are two exceptions. The first is where the law where you live gives you a right to a refund that can't be excluded. The second is our own billing mistakes, which we always correct. The Refund Policy has the detail.
8. Availability and support
We aim to keep the Service running all the time, and we publish incidents at forculuslabs.tech/status. But:
- Free and Team come with no availability commitment. We do our best, but we don't promise a percentage, and downtime doesn't entitle you to a credit.
- Business gets priority support. A Business workspace can have an availability commitment with service credits under a separate written agreement. Ask support@forculuslabs.tech.
- We may take the Service down for maintenance. Where we can plan it, we announce it in advance on the status page.
- The Service runs on Cloudflare and the other providers listed on the Subprocessors page. When one of them has an outage, so do we.
Support is by email. The Support page says what each plan gets.
9. Suspension and termination
By you. You can delete an app, a workspace or your account at any time from the dashboard, unless the law requires us to keep the data (section 10). Deleting a workspace on a paid plan cancels its subscription at once, with no refund for the rest of the billing month, and then deletes the workspace. The confirmation dialog says so. Section 10 says what happens to what you delete.
By us. We may suspend a workspace, an app or an account, or end this agreement, if:
- you break section 4, or we reasonably believe you have
- a charge is disputed with your card issuer (a chargeback), as section 6 describes
- a court, regulator or law requires it, or continuing would expose us to legal risk
- an app is being used to attack us or someone else, or is compromised
- a provider we run on requires it under its own policies
- a workspace's databases stay over its plan's database limit (section 6) for 7 days, on Free or while its payments have lapsed
- we stop offering the Service, with at least 90 days' notice
Where it is safe to, we contact you first and give you a chance to fix the problem. Where it isn't, for example during an active attack, or for illegal content or a compromised token, we act first and tell you as soon as we can. Whatever the reason, the platform emails the workspace's owners when it is suspended.
While a workspace is suspended, its apps answer 403 and the third-party credentials it holds are not attached to any request. Nothing can be deployed or changed in it: no new apps, deploys, rollbacks, tokens, environment variables, secrets, public paths or uploads. The dashboard, billing and the workspace export stay available so that the matter can be resolved. The workspace can still be deleted, unless the law requires us to keep it. Its data stays where it is until the matter is resolved or the workspace is deleted under section 10.
We report child sexual abuse material to the Singapore Police Force and to NCMEC (section 4), and may report other illegal content to the authorities.
By our providers. The providers we run on, including Cloudflare, may block or remove content or suspend service under their own policies, sometimes without notice to us or to you. When that happens we tell you what we know.
10. Your data when it ends
Before deleting anything, export it. On every plan, the workspace export is one JSON document. It holds the workspace's configuration, its members, its sharing grants, the names of its tokens, secrets and environment variables but never their values, and the audit log the plan retains. Each app's database can be exported on its own, as SQL, from the dashboard or with the CLI's forculus db export. A static site is the files you uploaded. Databases over a Free workspace's limit, and apps' files over a workspace's storage, may be deleted as section 6 describes.
Deleting an app or a workspace takes it offline and revokes its tokens at once. We may keep a deleted app or workspace, with its data, for up to 30 days so that it can be restored, and then delete it for good. When you delete one, the dashboard or the CLI says until when it can be restored, if it can. A workspace keeps at most as many deleted apps as its plan allows apps. Past that, an app can only be deleted for good. You can also delete a deleted app or workspace for good sooner. A workspace we close under section 9 is not kept.
Deleting for good is immediate and permanent. The app's or the workspace's scripts, databases, containers and files are removed from Cloudflare right away. A deleted app's configuration, versions, sharing grants, tokens, secrets and environment variables go at once. Its entries in the workspace's audit log, including the one that records the deletion, stay for the plan's audit retention like any other entry, and go with the workspace. Only the control plane's own records of a deleted workspace linger, for 30 days, for accounting. They are never restorable. We cannot undo a deletion for good, whether or not it was a mistake. Backups of the control-plane database age out on the schedule in the Privacy Policy, and are not used to restore deleted workspaces.
Deleting your account removes the account, your memberships and your sessions. It is refused while you are the only owner of a workspace or of an app. Delete that workspace or app first, or make someone else an owner. It is also refused while the law requires us to keep the data of a workspace you are in, of one that shares an app with you, or of one you left or lost access to while we had to keep its data. Once your account is deleted, a deleted workspace kept for restoring that has no other owner is deleted for good.
When the law requires us to keep data. The law can require us to keep a workspace's data for a time, for example after a report to the police or NCMEC, or a request from the authorities to preserve it. While it does, and whatever else these terms say, the workspace and its apps can't be deleted, changes that would remove data from it may be refused, and we keep its data past the times these terms and its plan would otherwise delete it. The dashboard or the CLI asks you to contact support.
When this agreement ends, these sections still apply: section 5, for the licence to keep backups, and sections 6, 10, 11, 13, 15, 16, 17, 19 and 20.
11. Privacy and data protection
The Privacy Policy says how we handle personal data. When you use the Service to process personal data about other people, you decide what is collected and why, and we process it for you on the terms of the Data Processing Addendum. Under Singapore's Personal Data Protection Act 2012 you are the organisation responsible for that data and we are your data intermediary. Under the GDPR and laws like it you are the controller and we are your processor. You take on that role the moment you share an app with someone, and whenever an app stores data about its users. The DPA applies automatically to every workspace.
The providers we rely on, and where they run, are on the Subprocessors page. We tell workspace owners 30 days before we add one.
12. Third-party services
Your apps may call other services. The Service can hold those services' credentials for you and add them to your app's outgoing requests. Those services have their own terms. We are not a party to them, and we are not responsible for what those services do with your requests. Use the credentials you give us only as those services allow.
Where we publish an SDK or a tool under an open-source licence, that licence, not these terms, governs your use of it.
13. Intellectual property
The Service's software, design, documentation and name belong to us and our licensors. These terms give you the right to use it while the agreement lasts, and nothing more. You may not copy it, reverse engineer it except where the law allows, or use our name or logo to suggest we endorse your apps.
If you send us ideas or feedback, we may use them without owing you anything. We won't say they came from you unless you ask.
Copyright complaints
We handle notices of claimed copyright infringement under the network service provider provisions of Singapore's Copyright Act 2021, for anything on the Service, including the apps our customers deploy. Send them to us at:
In this part, you means whoever sends the notice or counter-notice.
A notice must be in writing and include:
- the physical or electronic signature of the owner of the copyright you say is infringed, or of someone authorised to act for them
- the work you say is infringed or, if one notice covers several works on one site, a representative list of them
- the material you say infringes, and that you want removed or disabled, with enough detail for us to find it, such as its full address
- how to reach you, such as your postal address, phone number and email address
- a statement that you believe in good faith that the material infringes the copyright, and that its use isn't authorised by the owner, its agent or the law
- a statement that the information in the notice is accurate, and that you own the copyright or are authorised to act for its owner
When we get a valid notice, we promptly remove the material or disable access to it, which can mean taking the app offline. We send the workspace's owners a copy of the notice, including its contact details. If a notice is missing something the list asks for, we write back and say what.
Counter-notice. If material of yours was removed or disabled and you believe that was a mistake, that the material was misidentified, or that it doesn't infringe, you can send us a counter-notice at the same addresses. It must be in writing and include:
- your physical or electronic signature
- the material that was removed or disabled, and where it appeared before that
- a statement that you believe in good faith the material was removed or disabled by mistake or misidentification, or that it doesn't infringe
- your name, address, phone number and email address, and a statement that the information in the counter-notice is accurate
We send a copy of a valid counter-notice to the person who sent the notice and tell them we will put the material back in 10 business days. We put it back no sooner than 10 and no later than 14 business days after we receive the counter-notice, unless the person who sent the notice first tells us they have started court proceedings to stop the material being put back.
False notices. Anyone who makes a false statement in a notice or a counter-notice can be liable under the Copyright Act 2021, including for the loss it causes. If you aren't sure, ask a lawyer first.
Repeat infringers. In appropriate circumstances we end the accounts and workspaces of repeat infringers, under section 9.
14. Early and experimental features
A feature we label as early, beta, preview or experimental may change or disappear without notice, and may have bugs. None of the commitments in section 8 apply to it. Use it on that understanding.
15. Warranties and disclaimers
We warrant that we will provide the Service with reasonable skill and care. Beyond that, and as far as the law allows, the Service is provided as is. We don't promise it will be uninterrupted, error-free, or suitable for a particular purpose, or that it will keep your content safe from every possible loss. Keep your own copies of anything you can't afford to lose.
Nothing in these terms limits a right you have as a consumer that can't be limited by contract, including your rights in Singapore under the Consumer Protection (Fair Trading) Act 2003.
16. Limitation of liability
Neither of us excludes or limits liability for death or personal injury caused by negligence, for fraud, or for anything else the law says can't be excluded or limited.
Otherwise, and as far as the law allows, including Singapore's Unfair Contract Terms Act 1977 and its test of reasonableness:
- Neither of us is liable to the other for indirect or consequential loss, lost profits, lost revenue, lost data, or loss of business, however it arises. This does not apply to loss of your content caused by our breach of section 6 of the DPA, which counts toward the cap below.
- Our total liability to you under or in connection with this agreement is capped at the fees you paid us for the affected workspace in the 12 months before the event that gave rise to the claim, or US$100 if you paid nothing.
Nothing in this section limits your duty to pay fees and usage charges, or your indemnity in section 17.
These limits reflect the price of the Service. They are the reason we can offer a Free plan at all.
17. Indemnity
You will cover us against claims, damages and reasonable costs that arise from your content, your apps, the people you shared them with, or your breach of section 4. Examples are a copyright claim over something an app of yours served, or a complaint from someone whose data an app of yours mishandled. We will tell you about any such claim promptly, let you run the defence if you want to, and not settle it without your agreement unless you stop responding.
18. Changes
To the Service. We change the Service all the time. We won't remove a capability your paid plan depends on without at least 30 days' notice, unless we have to for security or legal reasons.
To these terms. When we change these terms in a way that matters, we email workspace owners about the change, and the dashboard asks you to accept the new version the next time you open it. It applies to you when you accept it, or 30 days after that email, whichever comes first. Until then the version you accepted before still applies to you, and you can choose Not now and go on using the Service. After those 30 days the dashboard asks you to confirm it before you go on. Without confirming it you can still cancel a paid plan or move to a smaller one, export a workspace, and delete a workspace or your account. Corrections and clarifications that don't change your rights take effect when published. The date at the top is the version, and the current version is always at forculuslabs.tech/terms. If you don't accept a change, write to legal@forculuslabs.tech before it takes effect. We will then cancel any paid plan, and refund any month you paid for and can no longer use.
19. Governing law and disputes
These terms are governed by the laws of Singapore, with the courts of Singapore having exclusive jurisdiction over any dispute, without regard to conflict-of-law rules. There are two exceptions. Either of us may seek an injunction anywhere to protect intellectual property or confidential information. And a consumer keeps the protection of the mandatory law where they live.
Before either of us starts proceedings, we agree to try to resolve the dispute by writing to the other and talking it through for at least 30 days. This doesn't stop either of us seeking urgent relief from a court.
20. General
- Entire agreement. These terms and the documents they include are the whole agreement between us about the Service, and replace anything said earlier.
- Assignment. You may not transfer this agreement without our written consent. We may transfer it to a successor of our business, and will tell you if we do.
- Severability. If a part of these terms is unenforceable, the rest still applies, and the part is replaced with the closest enforceable version.
- Waiver. If we don't enforce a term once, we can still enforce it later.
- Force majeure. Neither of us is liable for a failure caused by something outside our reasonable control, such as a provider outage, a network attack we could not reasonably have prevented, or a natural disaster. This doesn't excuse paying.
- Notices. We send notices by email to every owner of the workspace. The platform sends some by itself, when they are due:
- a payment still failing three days before the workspace would move to Free, and the move itself
- a Free workspace passing its request allowance, and its apps stopping at twice the allowance
- a suspension
- a plan change that means older audit-log entries will be deleted, with the date they go
- a Free workspace passing its database rows allowances, and its apps stopping at its limits
- a Free workspace reaching 80% of its CPU time limit, and its apps stopping at it
- a Free workspace's database rows that can't be measured, or CPU time that can't be counted
- a workspace's databases nearing, reaching and going back under its database limit, and the end of owners' and admins' access to its apps when they grow further
- a suspension or deletion scheduled for being over the database limit, 7 days and 1 day before
- a downgrade or cancellation that will put the workspace's databases over the new plan's limit, 7 days and 1 day before the renewal
- apps' files due to be deleted for being over the workspace's storage, a week before
- a Team or Business workspace nearing and using up each allowance
- usage charges reaching US$10, the plan's price and each further multiple of it
- nearing and reaching the usage limit
- an invoice during the billing month that failed
- a credit for usage billed above Cloudflare's figure
- Made electronically. When you accept these terms in the dashboard, that forms a binding contract between us. Under Singapore's Electronic Transactions Act 2010, it is not invalid for being made electronically, and the electronic records of it count as writing.
- No third-party rights. Only you and we can enforce these terms. Nobody else has a right to enforce any of them under Singapore's Contracts (Rights of Third Parties) Act 2001.
- No partnership. Nothing here makes us partners, employer and employee, or agents of each other.
- Language. These terms are written in English. A translation is for convenience only.
21. Contact
Questions about these terms: legal@forculuslabs.tech. Help with the Service: support@forculuslabs.tech. Data protection: privacy@forculuslabs.tech. Data Protection Officer: dpo@forculuslabs.tech. Security reports: security@forculuslabs.tech. Abuse on an app we host: abuse@forculuslabs.tech. Copyright complaints: legal@forculuslabs.tech, as section 13 says.