CivilQuants — Service Level Agreement (SLA)
Effective date: 2026-05-31
Version: v1 (vault-drafted 2026-05-17; aligned with ToS v1.2 + Privacy Policy v1.2 + Customer DPA v1 + Security Exhibit v1)
Last updated: 2026-05-17
1. Scope
This Service Level Agreement (the "SLA") sets out the uptime commitment Ember Forge Pte Ltd makes for the CivilQuants Service (the "Service", as defined in our Terms of Service) and the service-credit remedy available if we miss it.
This SLA applies to paid-tier customers only:
- Solo monthly subscription
- Solo yearly subscription
- Studio subscription
- Practice subscription
- 7-day pass holders (for the duration of the pass)
- Module-credit purchasers (for the duration of any in-flight render their credits funded)
The free tier (free Plant Productivity Calculator, free MCP tier) is provided on a best-effort basis with no uptime commitment and is not within the scope of this SLA.
Enterprise customers with a signed order form or master services agreement that includes alternative SLA terms are governed by that order form's SLA, which takes precedence over this document.
2. Uptime commitment
2.1 Target
Ember Forge Pte Ltd commits to a monthly uptime target of 99.5% across the Covered Surfaces (see §3) for paid-tier customers.
What 99.5% monthly uptime means in practical terms:
| Calendar month | Allowed downtime at 99.5% target |
|---|---|
| 30-day month | 3 hours 36 minutes |
| 31-day month | 3 hours 43 minutes |
| 28-day month (February non-leap) | 3 hours 22 minutes |
| 29-day month (February leap) | 3 hours 29 minutes |
If we exceed the allowed downtime in any calendar month, you are entitled to a service credit per §5 below.
2.2 Why 99.5% at v1 (and not 99.9% or 99.99%)
We are launching as a small team on Fly.io's London region with established but mid-tier hosting infrastructure. 99.5% reflects what we can responsibly commit to from day one without overpromising. As we mature the infrastructure (multi-region failover, more robust monitoring, paid support tiers from our Sub-Processors), we will raise the target. Improvements will be reflected in subsequent SLA versions and notified to customers in the standard policy-change-notification flow.
3. Covered Surfaces
This SLA applies to the following Service surfaces (each a "Covered Surface"):
| Surface | URL |
|---|---|
| Web app — paid-tier features | civilquants.com (paid-tier routes) |
| REST API | api.civilquants.com |
| MCP server — paid-tier features | api.civilquants.com/mcp (paid-tier tools and resources) |
| Customer Portal (account / billing / cancellation) | civilquants.com/account |
The following surfaces are NOT Covered Surfaces under this SLA:
- The free Plant Productivity Calculator (
civilquants.com/tools/plant-productivity) — free tier, best-effort - Free MCP tier — best-effort
- Marketing landing pages, blog, documentation, and other informational surfaces
- The pricing page
- Legal pages (Terms, Privacy, Cookie, Sub-Processors, Security Exhibit, this SLA)
- Sign-in / sign-up flow (Clerk-hosted) — governed by Clerk's SLA upstream, not by ours
- Stripe Checkout (Stripe-hosted) — governed by Stripe's terms upstream
- Email delivery (Resend) — governed by Resend's terms upstream
4. How uptime is measured
4.1 Measurement method
Uptime is measured by synthetic monitoring of the Covered Surfaces at 5-minute intervals, plus event-based alerting on internal-error rates.
A Covered Surface is considered Down during any 5-minute monitoring interval where:
- (a) the synthetic monitor receives no response within 30 seconds, or
- (b) the synthetic monitor receives a
5xxHTTP response on a request that should otherwise succeed, or - (c) the synthetic monitor receives a
4xxHTTP response indicating Service unavailability (e.g.,429 Too Many Requestsreturned to a paid-tier caller within rate limits,503 Service Unavailable).
Single 5-minute interval failures are tolerated as transient. Sustained downtime is counted toward monthly uptime as: any continuous stretch of ≥ 10 minutes of Down status, or two or more Down intervals within any 30-minute window.
4.2 Status page
We publish a public status page at Status page coming soon — for current uptime questions, email support@civilquants.com (status.civilquants.com — exact URL confirmed at deployment) showing real-time and historical status of each Covered Surface. The status page is the authoritative record of Service availability for SLA-claim purposes.
If the status page itself is unreachable, the synthetic-monitoring measurement falls back to internal logs, which we will share on reasonable request as part of a service-credit claim.
4.3 What does NOT count as Downtime
The following events are excluded from uptime measurement and do not entitle you to a service credit:
| Exclusion | Detail |
|---|---|
| Planned maintenance | Scheduled in advance with at least 48 hours' notice via the status page + a [Status] email to active paid-tier customers. Planned maintenance windows are targeted to off-peak hours (UTC 02:00–06:00) and capped at 4 hours per occurrence and 8 hours total per calendar month. |
| Emergency maintenance | Critical security patches or infrastructure changes that we determine in good faith cannot wait for the 48-hour notice window. Notice given via status page as soon as practicable; root cause + post-incident report follows. Excluded from SLA. |
| Force majeure | Acts of God, war, terrorism, civil unrest, natural disaster, pandemic-driven shutdowns, government order, internet backbone failure, or other event beyond our reasonable control. |
| Sub-Processor failures | Outages at a Sub-Processor (Fly.io / Cloudflare / Stripe / Clerk / Sentry / PostHog / Resend) where the failure is at the Sub-Processor's infrastructure layer and not caused by our configuration. Note: we are still responsible for choosing reliable Sub-Processors and for incident-handling on our side, but a Cloudflare outage is not Down-time we credit against. |
| Customer-caused | Outages caused by customer action — exceeding documented rate limits, mis-configuring an API integration, hitting the documented daily quota on free-tier surfaces, or other customer-side issues. |
| DDoS or attack-mitigation | Defensive measures during a DDoS attack or similar that intentionally degrade Service availability to specific traffic patterns to protect the Service for other customers. |
| DNS issues outside our control | DNS propagation issues attributable to the customer's network, ISP, or DNS provider. |
| Beta or experimental features | Any feature explicitly labelled BETA, EXPERIMENTAL, or PREVIEW. |
4.4 Burden of proof
Customers may submit independent measurements of Downtime as part of a service-credit claim (e.g., logs from their own monitoring tools). Where customer measurements and our status-page record materially conflict, we will investigate and resolve the conflict in good faith using our internal logs as the primary evidentiary record.
5. Service credits
5.1 Credit tiers
If we fail to meet the monthly uptime target, you are entitled to a service credit for the affected calendar month according to the following table:
| Monthly uptime achieved | Service credit |
|---|---|
| ≥ 99.5% | None (within target) |
| ≥ 99.0% and < 99.5% | 10% of the monthly subscription fee for that calendar month |
| ≥ 98.0% and < 99.0% | 25% of the monthly subscription fee for that calendar month |
| ≥ 95.0% and < 98.0% | 50% of the monthly subscription fee for that calendar month |
| < 95.0% | 100% of the monthly subscription fee for that calendar month |
5.2 How credits are calculated
- For monthly subscriptions: the credit is calculated as a percentage of the monthly fee paid for that calendar month.
- For yearly subscriptions: the credit is calculated as a percentage of the pro-rata monthly equivalent of the annual fee paid (i.e., annual fee ÷ 12).
- For 7-day pass holders: during the 7-day pass period, the credit is calculated as a percentage of the pass fee, pro-rated for any portion of the pass that fell within the affected calendar month.
- For module-credit purchasers: module credits do not carry a monthly recurring fee; a service-credit claim against a Downtime event may be substituted for a pro-rata refund of unconsumed module credits on a case-by-case basis. Email
support@civilquants.comfor the specific calculation.
5.3 Cumulative cap
Total service credits in any single calendar month are capped at 100% of the monthly subscription fee for that month (or the pro-rata equivalent for non-monthly billing).
5.4 How credits are applied
Service credits are applied to your next billing cycle as a credit on your account. Service credits are not paid out as cash and are not exchangeable for cash or for any other consideration.
If your subscription terminates before the service credit is applied, the credit is forfeited unless you have an outstanding balance owed by us to you (e.g., a partial-period refund), in which case the credit is added to that refund.
5.5 How to claim
To claim a service credit:
- Within 30 days of the end of the calendar month in which the Downtime occurred, email
support@civilquants.comwith:- Your account email address
- The calendar month for which you are claiming
- Reference to the affected status-page incident(s) where available (URL or incident ID)
- Any independent measurements you wish to include (logs, monitoring screenshots) — optional but helpful
- We will respond within 5 business days confirming receipt and indicating either: (a) the credit will be applied, with the calculated amount; (b) we require additional information; or (c) we are declining the claim with reasons.
- Approved credits are applied to the next billing cycle. Disputes are escalated per §7 below.
5.6 Sole and exclusive remedy
Service credits under this SLA are the sole and exclusive remedy for Service availability shortfalls covered by this SLA. This does not limit:
- Your statutory consumer rights under applicable law (see Terms of Service §10.1)
- Your rights under the limitation-of-liability carve-outs in Terms of Service §10.4
- Your rights in the case of material defect or extended unavailability beyond what this SLA contemplates (see Terms of Service §6.5.5 — pro-rata refund for material defect or > 24 consecutive hours of unavailability)
6. Status page and incident communication
6.1 Live status
Status page coming soon — for current uptime questions, email support@civilquants.com shows the real-time status of each Covered Surface (and selected upstream Sub-Processors that affect Service availability — Fly.io status, Cloudflare status, Stripe status). The status page is publicly accessible without an account.
6.2 Incident communications
For incidents materially affecting Service availability:
- At incident start: a status-page entry is published as soon as the incident is detected, with the affected surfaces and a holding statement.
- Every 30 minutes during an active incident (or more often if material change): a status-page update.
- At incident close: a "resolved" status update.
- Within 5 business days of incident close: a public post-incident report on the status page, including root cause, customer impact, and remediation, for incidents of ≥ 1 hour duration or any incident affecting paid-tier customer data.
6.3 Customer-channel notifications
For incidents likely to affect active paid-tier customers' ability to use the Service in a planned business activity (e.g., an outage during business hours, or any incident affecting the MCP server during a sustained period), we will additionally notify active paid-tier customers by email to the account-administrator address.
6.4 Subscribing to status-page notifications
You can subscribe to email or webhook notifications from Status page coming soon — for current uptime questions, email support@civilquants.com directly to receive proactive notice of incidents affecting Covered Surfaces.
7. Disputes
If we and you cannot agree on the calculation or applicability of a service credit under this SLA, the dispute is resolved per the dispute-resolution mechanism in Terms of Service §18 — namely:
- B2B (Business) Customers: SIAC arbitration in Singapore (§18.1)
- Consumer Customers: local-courts jurisdiction per §18.2
Note that the value at stake in a service-credit dispute is necessarily small (capped at one month's subscription fee per the §5.3 cumulative cap). The §18 dispute-resolution mechanism is designed to handle the full liability surface; for small SLA disputes, we will work in good faith to resolve via direct email discussion before either party escalates.
8. Changes to this SLA
We may update this SLA from time to time. The "Last updated" date at the top records the most recent change. For material changes:
- Material adverse changes (lowering the uptime target; increasing the threshold for service credits; reducing the credit percentages; expanding the exclusions list) are notified to active paid-tier customers by email at least 30 days before the effective date.
- Non-material changes (typo corrections, clarifications, adding non-adverse new exclusions explicitly already covered by the spirit of the document, raising the target, increasing credit percentages, adding new Covered Surfaces) take effect when posted.
- Material adverse changes do not apply to a Downtime claim where the Downtime occurred before the effective date of the change.
9. Contact
- SLA claims:
support@civilquants.com - General SLA questions:
support@civilquants.com - Procurement-team queries on the SLA terms:
legal@emberforge.sg
Related documents
- Terms of Service (v1.2) — §6.5.5 material-defect provisions; §10 liability cap; §13 modifications; §18 dispute resolution
- Privacy Policy (v1.2)
- Customer DPA (v1, available on request) — §9 Personal Data Breach handling
- Security Exhibit (v1) — §5 backups and recovery; §8 incident response
- Sub-Processors page (v1) — for the Sub-Processors whose own SLAs partially condition our own commitments