changelog

What we've shipped.

This changelog records Siftfy model versions, API changes, and product releases. Each dated entry explains what changed so you can review the impact on your integration. Use it alongside the API documentation and score guide when updating a client, checking response behavior, or adjusting your spam-review thresholds.

How should I use these release notes?

Read the dated entries below, then check the API documentation for the current request and response contract. The score guide explains how to interpret predictions; validate threshold changes against your own traffic.

privacy

  • From 2026-09-27, Content Gate submissions from Siftfy's own sites that our reviewer has labeled may be used to train Siftfy's spam, AI-authorship and automation models, and are kept 12 months for that purpose. Submissions labeled from 2026-09-22 are also used. TypeSafe output is not used for training. Another customer's content still needs its written authorization.

docs

  • Spelled out /v1/predict's text validation: whitespace-only or zero-width-only bodies are rejected with 422, and the 20,000-character limit is checked after Unicode normalization, so a shorter raw string can still be rejected.

admin-tabs

  • Labeling now has its own admin tab, with a direct link and preserved review progress when switching to Overview.

admin-recovery

  • Fixed skipped submissions during paginated review, concurrent-label recovery, and removed-text handling. Submission rows now load independently, cancel obsolete requests, and scroll into view after navigation.

admin

  • Admin evaluation now shows 25 submissions per page by default, offers 10, 25, 50, or 100 rows, and saves each submission label immediately with row-level retry and conflict recovery.

reliability

  • Checkout retries reuse an open session, and delayed billing events reconcile current subscription access.
  • Corrected analytics visit counts and performance attribution when consent is given after navigation.
  • Made analytics preferences scrollable on short screens and long billing errors readable on mobile.

dashboard

  • Billing now offers Pro checkout when a legacy test customer is unavailable in live mode, preserving current access while setup is completed.
  • Marketing analytics now wait for your consent, with Accept, Reject, and revisitable cookie preferences.
  • Shortened page descriptions and updated integration links and release-note guidance.

docs

  • Documented what a spam score means once it reaches max_confidence: the value is censored at the ceiling, so it no longer ranks and no longer supports arithmetic. Compare against the ceiling rather than subtracting from the score.
  • Stated the population the score is calibrated for — short user-generated and form text — and that reaching the ceiling is the common case on text the model cannot separate, not a corner case.

content-gate

  • Content Gate verifications now return max_confidence, the ceiling the spam score was clamped to, so a threshold can be compared against the model's own bound instead of against a constant the score can never reach.

security

  • Improved mobile page layouts, keyboard scrolling in code examples, and recovery from missing pages.
  • Content Gate rejects incomplete model responses; Pro checkout access waits for payment confirmation.
  • Excluded sign-in and dashboard pages from analytics and removed query strings from page-view reporting.
  • Hardened inference connections, updated security dependencies, and required complete database and shared-rate-limit integration coverage in CI.

cal3

  • Replaced the saturated OTIS checkpoint with a revision-pinned BERT-tiny classifier plus bounded promotional and link signals.
  • The current 1,956-comment evaluation measures 89.2% F1, 96.6% precision, and 82.8% recall; model and lexical evidence remain capped below the auto-block band.

site

  • Accessibility fixes from a production QA pass: blog topic-filter chips are now valid toggle buttons (dropped an invalid ARIA role/attribute pairing), the code-block CLI-flag syntax color now meets WCAG AA contrast, and the primary and documentation navigation landmarks are now uniquely labelled.
  • Reworded the /about page title so it no longer reads as a colon-prefixed fragment.

site

  • Added /use-cases/fake-signups: prevention-strategy landing page targeting "prevent fake user registrations", with a three-layer framework and a webhook-style code example (closes #103).

v1

  • Public launch of the /v1/predict endpoint and the self-serve dashboard.
  • Free tier: 10,000 requests / month. Pro tier: $9 + $0.0001/req past 1M included.
  • Calibrated softmax probabilities, single round-trip, sub-10ms p99 on CPU.