fix: replace stale Free Tier with Demo tier in Terms of Service (BUG-104)
All checks were successful
Build & Deploy to Staging / Build & Deploy to Staging (push) Successful in 13m18s

- Section 2.1: replaced Free Tier (100 PDFs, 10 req/min) with Demo (Free) - no account, 5 req/hr, evaluation only
- Section 5.1: changed 'no SLA for free tier' to 'no SLA for demo usage'
- Added terms-content regression test (3 tests)
- 487 tests passing across 33 files
This commit is contained in:
Hoid 2026-03-05 14:11:00 +01:00
parent 4f6659c8c9
commit 503e65103e
3 changed files with 38 additions and 12 deletions

View file

@ -41,12 +41,13 @@
<h2>2. Service Plans</h2>
<h3>2.1 Free Tier</h3>
<h3>2.1 Demo (Free)</h3>
<ul>
<li><strong>Monthly limit:</strong> 100 PDF conversions</li>
<li><strong>Rate limit:</strong> 10 requests per minute</li>
<li><strong>Fair use policy:</strong> Personal and small business use</li>
<li><strong>Support:</strong> Community documentation</li>
<li><strong>No account required</strong></li>
<li><strong>Rate limit:</strong> 5 requests per hour</li>
<li><strong>Purpose:</strong> Testing and evaluation only</li>
<li><strong>Endpoints:</strong> <code>/v1/demo/html</code> and <code>/v1/demo/markdown</code></li>
<li><strong>Support:</strong> Documentation only, no SLA</li>
</ul>
<h3>2.2 Pro Tier</h3>
@ -97,7 +98,7 @@
<h3>5.1 Uptime</h3>
<ul>
<li><strong>Target:</strong> 99.5% uptime (best effort, no SLA for free tier)</li>
<li><strong>Target:</strong> 99.5% uptime (best effort, no SLA for demo usage)</li>
<li><strong>Maintenance:</strong> Scheduled maintenance with advance notice</li>
<li><strong>Status page:</strong> <a href="/status">https://docfast.dev/status</a></li>
</ul>

View file

@ -92,12 +92,13 @@ footer .container { display: flex; justify-content: space-between; align-items:
<h2>2. Service Plans</h2>
<h3>2.1 Free Tier</h3>
<h3>2.1 Demo (Free)</h3>
<ul>
<li><strong>Monthly limit:</strong> 100 PDF conversions</li>
<li><strong>Rate limit:</strong> 10 requests per minute</li>
<li><strong>Fair use policy:</strong> Personal and small business use</li>
<li><strong>Support:</strong> Community documentation</li>
<li><strong>No account required</strong></li>
<li><strong>Rate limit:</strong> 5 requests per hour</li>
<li><strong>Purpose:</strong> Testing and evaluation only</li>
<li><strong>Endpoints:</strong> <code>/v1/demo/html</code> and <code>/v1/demo/markdown</code></li>
<li><strong>Support:</strong> Documentation only, no SLA</li>
</ul>
<h3>2.2 Pro Tier</h3>
@ -148,7 +149,7 @@ footer .container { display: flex; justify-content: space-between; align-items:
<h3>5.1 Uptime</h3>
<ul>
<li><strong>Target:</strong> 99.5% uptime (best effort, no SLA for free tier)</li>
<li><strong>Target:</strong> 99.5% uptime (best effort, no SLA for demo usage)</li>
<li><strong>Maintenance:</strong> Scheduled maintenance with advance notice</li>
<li><strong>Status page:</strong> <a href="/status">https://docfast.dev/status</a></li>
</ul>

View file

@ -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");
});
});