ThemysThemys/Docs

Changelog

Release history for Themys: new features, bug fixes, and improvements.

v1.0.0 - June 2026

Initial public release of Themys.

Chrome Extension

  • Auto-detection of Terms of Service and Privacy Policy pages via URL patterns, DOM heuristics, and structural patterns
  • Inline overlay showing risk score and flagged clauses directly on the page (Shadow DOM)
  • Popup with full scan results, extraction, and summary
  • Sign in with Apple or Google via Clerk
  • Manifest V3 service worker architecture
  • Service worker keep-alive via Chrome Alarms API
  • Content script injection on matched ToS/Policy URLs
  • Badge icon showing risk score color on detected pages
  • Popup detection for checkboxes, inline agreements, and modals
  • Tab-based auth flow with Clerk using postMessage bridge

Web App

  • Scan page: paste a URL to analyze any Terms of Service page
  • Results page: risk score, flagged clauses, full extraction, and AI summary
  • Scan history: view and revisit all past scans
  • Account settings: profile, subscription, credits, billing
  • Responsive design for desktop and mobile
  • Apple and Google OAuth via Clerk
  • Real-time scan progress indicator
  • Dark/light mode with theme toggle in navbar
  • Documentation site with 12 content pages
  • Docs feedback endpoint (POST /api/docs/feedback)

Pricing & Billing

  • Three-tier pricing: Free ($0), Base ($2.49/mo), Advanced ($4.99/mo)
  • Stripe Checkout integration for subscriptions
  • Credit pack system for overage: 10 credits ($1.99), 50 credits ($7.99), 200 credits ($24.99)
  • Invoice history
  • Prorated billing for mid-cycle upgrades
  • Automatic plan downgrade on cancellation
  • Credit balance visible in extension popup and web app

Analysis Engine

  • LLM-powered analysis using a 6-tier fallback chain:

1. google/gemini-2.5-flash-lite (via OpenRouter)

2. xiaomi/mimo-v2.5 (via OpenRouter)

3. google/gemma-4-31b-it:free (via OpenRouter)

4. minimax/minimax-m3 (via OpenRouter)

5. gemini-2.5-flash-lite (via Google Generative AI direct)

6. Hardcoded fallback result

  • Risk scoring on a 1-10 scale
  • Clause flagging with severity levels (info, caution, warning)
  • Category tagging: Data Privacy, Arbitration, Liability, Content & IP, Billing, Account
  • Full extraction with structured sections and key points
  • Automatic model failover with retry logic
  • Structured JSON output parsing from LLM responses
  • Prompt engineering tuned for legal document analysis

Extraction Pipeline

  • Primary extraction via Jina Reader API
  • Fallback to direct HTML fetch and parsing
  • Support for JavaScript-rendered pages
  • Word count and source tracking
  • Extraction result caching

API

  • POST /api/extract: extract text from a URL
  • POST /api/analyze: analyze text for risk score, flags, and extraction
  • POST /api/extension/limit-check: check remaining scans (used by extension)
  • POST /api/docs/feedback: submit feedback on docs pages
  • Bearer token authentication via Clerk
  • Rate limiting per plan tier via Cloudflare KV
  • Structured error responses with descriptive messages

Webhooks

  • Stripe webhook endpoint: POST /api/webhooks/stripe
  • Event handling: checkout, subscription lifecycle, invoice events
  • Idempotent processing via stripe_events table
  • Signature verification on all incoming webhooks

Technical Details

  • Next.js 16 with App Router
  • Supabase (PostgreSQL) for data storage
  • Cloudflare Pages + Workers for deployment
  • Cloudflare KV for rate limiting and caching
  • Stripe for payment processing
  • Tailwind CSS 4
  • Clerk for authentication
  • Sentry for error tracking
  • Resend for email
  • Chrome Extension with Manifest V3 (15 source files)
  • Jina Reader API for web content extraction

Security

  • Bearer token authentication for API access
  • Stripe webhook signature verification
  • Per-user data isolation, no cross-user data access
  • HTTPS-only API endpoints
  • Rate limiting per plan tier via Cloudflare KV

Known Limitations

  • Chrome only. No Firefox or Safari extension yet.
  • English-language Terms of Service analysis only.
  • No export functionality for scan results (coming soon).
  • No team/organization accounts (coming soon).
  • API does not support batch analysis.

Database Schema

Initial schema includes the following tables:

TablePurpose ---------------- usersUser accounts, authentication, plan tier, Stripe customer ID scansScan history with URL, text, risk score, flags, extraction clausesIndividual clauses extracted from scans blocklist_itemsUser-defined blocked terms or patterns tos_cacheCached Terms of Service text by URL explanations_cacheCached LLM explanations for clause text credit_packsCredit pack purchases and remaining balances invoicesStripe invoice records stripe_eventsIdempotent webhook event tracking full_extraction_sectionsFull extraction section headers full_extraction_pointsFull extraction key points docs_feedbackUser feedback on documentation pages

Upcoming

Features planned for future releases:

  • v1.1: Export scan results as PDF and CSV
  • v1.1: Browser extension for Firefox (Manifest V3)
  • v1.2: Team accounts with shared scan history
  • v1.2: Bulk URL analysis via API
  • v1.3: Multi-language support (Spanish, French, German)
  • v1.3: Custom alert rules (notify when a ToS changes)

Timelines are estimates and subject to change.

Was this page helpful?