diff --git a/public/src/terms.html b/public/src/terms.html
index b36f918..e4e8f03 100644
--- a/public/src/terms.html
+++ b/public/src/terms.html
@@ -41,12 +41,13 @@
2. Service Plans
- 2.1 Free Tier
+ 2.1 Demo (Free)
- - Monthly limit: 100 PDF conversions
- - Rate limit: 10 requests per minute
- - Fair use policy: Personal and small business use
- - Support: Community documentation
+ - No account required
+ - Rate limit: 5 requests per hour
+ - Purpose: Testing and evaluation only
+ - Endpoints:
/v1/demo/html and /v1/demo/markdown
+ - Support: Documentation only, no SLA
2.2 Pro Tier
@@ -97,7 +98,7 @@
5.1 Uptime
- - Target: 99.5% uptime (best effort, no SLA for free tier)
+ - Target: 99.5% uptime (best effort, no SLA for demo usage)
- Maintenance: Scheduled maintenance with advance notice
- Status page: https://docfast.dev/status
diff --git a/public/terms.html b/public/terms.html
index 5c93f9e..7684a22 100644
--- a/public/terms.html
+++ b/public/terms.html
@@ -92,12 +92,13 @@ footer .container { display: flex; justify-content: space-between; align-items:
2. Service Plans
- 2.1 Free Tier
+ 2.1 Demo (Free)
- - Monthly limit: 100 PDF conversions
- - Rate limit: 10 requests per minute
- - Fair use policy: Personal and small business use
- - Support: Community documentation
+ - No account required
+ - Rate limit: 5 requests per hour
+ - Purpose: Testing and evaluation only
+ - Endpoints:
/v1/demo/html and /v1/demo/markdown
+ - Support: Documentation only, no SLA
2.2 Pro Tier
@@ -148,7 +149,7 @@ footer .container { display: flex; justify-content: space-between; align-items:
5.1 Uptime
- - Target: 99.5% uptime (best effort, no SLA for free tier)
+ - Target: 99.5% uptime (best effort, no SLA for demo usage)
- Maintenance: Scheduled maintenance with advance notice
- Status page: https://docfast.dev/status
diff --git a/src/__tests__/terms-content.test.ts b/src/__tests__/terms-content.test.ts
new file mode 100644
index 0000000..3746cfb
--- /dev/null
+++ b/src/__tests__/terms-content.test.ts
@@ -0,0 +1,24 @@
+import { describe, it, expect } from "vitest";
+import { readFileSync } from "fs";
+import { resolve } from "path";
+
+describe("Terms of Service content", () => {
+ const termsPath = resolve(__dirname, "../../public/src/terms.html");
+ const terms = readFileSync(termsPath, "utf-8");
+
+ it("should not reference discontinued Free Tier", () => {
+ expect(terms).not.toContain("Free Tier");
+ expect(terms).not.toContain("100 PDF conversions");
+ });
+
+ it("should describe the Demo tier", () => {
+ expect(terms).toContain("Demo (Free)");
+ expect(terms).toContain("5 requests per hour");
+ expect(terms).toContain("Testing and evaluation");
+ });
+
+ it("should reference demo usage not free tier in SLA section", () => {
+ expect(terms).not.toMatch(/no SLA for free tier/i);
+ expect(terms).toContain("no SLA for demo usage");
+ });
+});