Independent software research43 records · prices verified 13.09.2026
METHODOLOGY

Every claim carries its evidence level.

How the records are built, who — or what — builds them, what “verified” and “tested” each mean precisely, what is automated and what is not, what this publication cannot claim, and how its mistakes get published.

What The Plain Stack is

An independent software research publication for freelancers and small service businesses. It maintains 43 tool records, 42 comparisons and 11 guides, in English and French. Every record carries a verified entry price, the exact billing condition attached to it, the documented limitations, and the date each of those was read.

It is not a review site in the usual sense. There is no score out of ten, no star rating and no 'best of' ranking that survives a change of context. An aggregate score hides the method instead of showing it and nobody can reproduce it. Every claim here carries its evidence level and its source instead.

It sells nothing. Inclusion in the database has never been for sale and cannot be.

An anonymous collective identity

The Plain Stack publishes under a collective editorial identity — The Plain Stack Research Desk — and no individual byline. There are no names, no photographs, no biographies and no expert profiles, because there are no journalists, reviewers or experts on staff to describe. Inventing them would be the single easiest way to manufacture authority, and it is the first thing this publication refuses to do.

The trade is deliberate. What replaces a byline is the material a byline normally stands in for: the sources, the dates, the method, the corrections and the ability to repeat the check yourself. A name on an article does not make a price accurate. A URL and a date do.

How this is researched: an AI-operated desk

The Plain Stack is primarily operated using AI-assisted research and automation. Conclusions and recommendations are generated from structured evidence under fixed editorial rules.

In practice: it reads vendor pricing pages, documentation, help centres and changelogs; it extracts structured facts; it records each one against its source and its date; it compares today's reading against the last one and writes what moved. Each verdict is assembled out of the fields on the record — who a tool fits, what it costs, what its documented limits are, what evidence level backs each of those — and changes when the record changes.

Those rules are enforced in the build rather than merely stated: the deployment fails if a record claims a hands-on test with no workflow, result and date; if a tracking link appears in a source list or in structured data; if a price the vendor only sells by the year is described anywhere as a month-to-month rate; or if a page prints a count the database does not support.

A human owner operates the publication, sets these rules and is accountable for what appears. That is a different claim from “a human writes and approves every conclusion”, and this site will not make the second one.

What is automated

  • Opening official pricing pages, documentation, help centres and changelogs.
  • Switching a pricing page to its monthly view before reading a figure, and recording which view was used.
  • Extracting structured facts — price, currency, plan name, billing condition, free-tier terms — and dating each one.
  • Comparing a new reading against the previous one and classifying the difference as a vendor change, a currency change, an unchanged recheck, or our own correction.
  • Checking that every cited source URL still answers.
  • Generating every public counter on the site from the database, so no page can print a number the record does not support.
  • Producing the draft prose of records, comparisons and guides from those structured fields.

What is not automated — and what is not done at all

Creating accounts. The system does not sign up for products, and therefore cannot reach anything behind authentication.

Paying for plans. No paid tier has been purchased for testing purposes.

Getting past a captcha, a rate limit, a paywall, an authentication screen or an anti-bot system. When a vendor declines to answer an automated request, that is recorded as a source we cannot verify from a script — never worked around.

Deciding commercial relationships, which the owner handles, and which are disclosed rather than hidden.

Hands-on product testing. No record on this site has one. Zero of 43.

The evidence levels

Every record sits on exactly one rung, and the rung is printed on the record. The higher rungs are not aspirational labels; each one names a specific thing that must have happened.

  • Unverified — nothing reliable on file yet. No strong claim is made and the record says so.
  • Official documentation reviewed — confirmed against the vendor's own pricing page, documentation, help centre or changelog, with the URL and the date recorded. This is the level of every record on the site today.
  • Cross-verified — the vendor's own documentation plus at least one further independent source that agrees with it. Where two sources disagree, the disagreement is published rather than resolved silently.
  • Interface verified — an automated browsing session actually reached the public service and observed the stated behaviour. This covers what a visitor can see without an account.
  • Hands-on tested — a defined workflow was run inside the product and measurable observations were recorded: the workflow, the date, the result, and the limits actually hit. The build refuses to publish this level without all four.
  • Comparative test — the same reproducible workflow run across competing tools, so the results can be set beside each other.
  • Longitudinally tracked — the property has been observed on several separate dates. Every price on this site with more than one history entry is tracked this way.

Cross-verification

A vendor is the authoritative source for its own price and its own plan terms, and a poor source for whether its product is any good. So the two are treated differently: pricing and plan mechanics are taken from the vendor and marked as such; anything evaluative is either derived from those recorded mechanics or left unclaimed.

Where a second source is used, it is listed alongside the first on the record. Where a second source contradicts the vendor, the record says both figures and which one we are publishing, rather than averaging them into a number that appears nowhere.

Automated verification

Every source URL cited on the site is probed on a schedule to confirm it still answers. The last run covered 94 source URLs on 13.09.2026: 0 had gone, and 1 could not be verified from a script at all.

The checker identifies itself honestly as ThePlainStack-SourceCheck and does not disguise itself as a browser. That means some vendors refuse it, and those refusals are reported as unverifiable rather than counted as dead links.

Hands-on tests

No product on this site has been hands-on tested. The counter on the research log reads zero, and it is accurate. The reason is stated plainly rather than glossed: reaching the inside of these products requires creating accounts, this operation does not create accounts, and most of what would be worth testing sits behind authentication.

The machinery for recording one is built and guarded. A record claiming this level must carry the workflow that was run, the date it was run, the result, and the limits reached; the build fails if any of the four is missing. That guard exists precisely so the claim can never run ahead of the evidence — including when we are the ones who would benefit from it running ahead.

Until a workflow has actually been run inside a product, its record says 'no hands-on test recorded'. A summary of other people's reviews is not experience. A simulation is not a test.

Comparative tests

None have been run. A comparative test means the same reproducible workflow executed across competing tools, and it depends on hands-on access this operation does not have. The comparisons on this site compare recorded facts — price, billing terms, platforms, documented limits, evidence level — and say so. They do not compare performance, output quality or reliability, because those have not been measured here.

Longitudinal tracking

The price history on each record is the longitudinal layer: 64 dated readings across 43 products, append-only, each naming the page it was read on. Nothing is ever overwritten — when a figure changes, a new entry is added beside the old one.

22 records currently have a single reading only. One observation is a fact about a day, not a trend, and the record shows how many readings back it goes.

What 'pricing verified' means

The figure was read on the vendor's own published page, with the monthly view selected where one exists, and dated. The record keeps the exact URL and the day it was read, and the reading is added to the price history rather than replacing what was there.

Most pricing pages open on the annual view and show, in large type, a rate that assumes a twelve-month commitment. That is exactly the mistake made here on fourteen records before 12 September 2026 — it is in the corrections, with every figure — and it is why the monthly view is now part of the procedure rather than a matter of attention.

A vendor that does not publish a price does not get a guessed one. The record says the price is not published.

Monthly, annual, and the difference between them

Two different numbers get printed as "per month" across the software industry, and treating them as the same number is how a comparison quietly becomes wrong. Each record therefore states which it carries: 40 of 43 are month-to-month rates — what you pay if you stop after a month — and 3 are the monthly equivalent of a compulsory twelve-month commitment, published by vendors who offer no monthly rate at all.

A monthly equivalent is never presented as a month-to-month price anywhere on this site. It carries the word 'equivalent', the yearly bill it implies, and the words 'annual commitment required'. A build check fails the deployment if one of those records is ever described as month-to-month.

Where a vendor offers both, the month-to-month rate is the headline — it is the one you can actually leave — and the cheaper annual rate is shown beneath it as what the commitment buys.

Where the price buys something other than a person — a channel, a site, a brand, a pack of credits — the record says so, and no head-count multiplication is offered. 21 of 43 records price by the seat; those are the only ones with a team-cost table, and 7 are capped by an allowance rather than by time.

Currencies

Currencies are never converted. A vendor billing in dollars and one billing in euros produce two separate bills, and adding them would invent a precision the exchange rate does not have. Where a comparison spans both, both figures are shown in their own currency and nothing is summed across them.

When a vendor's own page changes the currency it quotes — because it localises, or because a previous reading came from a different region — that is recorded as a currency change, not as a price rise or fall. The difference between $99 and €99 is not a price movement.

Freshness

Every record carries five separate clocks, because the things they time go stale at different speeds. A single “updated” date would let a price read yesterday imply a feature list read yesterday too.

These thresholds are not repeated here in prose. The table is generated from the same configuration the badges on every record read, so this page cannot describe a standard the site does not apply.

A check that has never been performed is labelled “not independently checked” and never “stale” — calling it stale would imply a standard that was once met.

Today 33 of 43 pricing checks are current and 0 are stale. The pricing clock is derived from the price history itself, so it cannot disagree with the readings it summarises.

CheckWhat it attestsCurrentStale past
Pricingthe figure was read on the vendor's published pricing page30 days90 days
Featuresthe capability list was checked against the vendor's documentation60 days120 days
Privacy & datadata handling was verified independently of what the vendor says about it90 days180 days
Hands-on testa defined workflow was run inside the product and its result recorded180 days365 days
Page reviewthe page's wording was reviewed against the record behind it90 days180 days

Source provenance

Every record carries a typed source list — 94 sources across 43 records — naming the pricing page, the homepage and the official documentation it rests on. Those addresses point at the vendor.

No tracking link ever appears in a source list or in the structured data attached to a page. Where a partner relationship exists, its link lives on an outbound button, marked as such, and nowhere else. Evidence and commerce are kept in separate places on purpose.

Sources that cannot be reached

Some vendors block automated requests at their edge. On the last run, 1 of 94 cited URLs answered our checker with a refusal or no answer at all (gemini) — pages that open normally in a browser the same day.

These are reported as unverifiable, not as broken links, and they are not worked around. Sending a fake browser User-Agent to get past a vendor's bot protection is circumvention; this operation does not do it, and would rather publish a smaller claim.

When a source is genuinely gone, the record loses it and the claim that rested on it drops to a lower evidence level.

Vendor claims, and why they stay the vendor's

Official documentation is real evidence. A vendor is the authoritative source for its own prices, plan terms and feature list, and most of what this site publishes rests on exactly that.

It is not the authoritative source for whether its product is safe. A claim about where data is processed, what is encrypted, what is deleted, what is used for training or which certification is held cannot be confirmed by reading the page that makes it. Those claims are recorded separately, attributed to the vendor by name, and shown with whether we have checked them.

So the site distinguishes three things and never lets them collapse: what the vendor says, what our research verified, and what we actually tested. “Krisp states that noise processing runs locally on-device” is a different sentence from “noise processing runs locally”, and only the first one is true of our evidence.

The rule has teeth: a statement touching any of those topics may not appear in the fields where this site speaks in its own voice — the advantages, the strengths, the verdict. A build check reads every record in both languages against a shared list of those topics and fails the deployment if one leaks. It has caught a real one: a French tool card recommended a translation vendor because it “processes on its own infrastructure”, on a record whose privacy check had never been performed.

How a verdict is produced

A verdict on this site is a statement about fit, not a score. It is generated from the record's structured fields — who the tool suits, who it does not, its cheapest usable plan, its documented limitations, and the evidence level behind each of those — under fixed editorial rules that do not vary by product.

The rules, stated so you can hold the site to them: no universal winner, because the right answer changes with the task and the budget; a documented limitation is never removed to make a recommendation cleaner; the cheapest plan that actually does the job is preferred to the most capable one; and where the evidence level is low, the verdict is correspondingly weak and says so.

Nothing in the ordering depends on a commercial relationship. That is checked at build time, not promised.

What this publication cannot claim

  • That a product was tested, when only its documentation and public pages were read.
  • That another reviewer's experience is ours.
  • That a simulation, a summary or a generated description is a test.
  • That a timestamp, a performance measurement or a screenshot exists when nothing was run to produce it.
  • That a price is verified when the vendor does not publish it.
  • That a security or data-handling conclusion holds, when the privacy check has not been performed — which is the case on every record today.
  • An aggregate rating, a review count, a testimonial or a user rating. None of these exist here and none appear in the structured data, because there is no body of reviewers to aggregate.

Affiliate independence

8 of the 43 tools we track carry a disclosed affiliate relationship: Beautiful.ai, ClickUp, Descript, ElevenLabs, Gamma, Later, Miro and Todoist. The other 35 records carry no paid link, and say so on the record itself.

A partnership never changes a verdict, a recorded price, an evidence level or the order of a recommendation. Where a partner's price went up, it went up on the site — when the September corrections raised fourteen published prices, a partner's rose with the rest.

The disclosure appears on the page where the link appears, not only in a footer, and the tool's own record states whether it carries a paid link or not. Advertising is separate again: Adsterra display units, which load only after you accept them, and one sponsored link, which loads no script at all. Both have their destination chosen by the ad network rather than by us, and neither has any relationship with a product covered here.

Corrections

Mistakes are published with the same visibility as everything else. 23 corrections are on record, each stating what had been published, what was correct, and when it was put right.

Corrections are counted separately from price movements and never presented as the market doing something. Seventeen of our own errors once appeared in the tracker as 'price increases'; they are now labelled as what they were.

Nothing is deleted from the research log. An entry that turned out to be wrong is followed by a correction, not replaced by one.

How to report an error

If a figure here no longer matches what the vendor shows, or a limitation is wrong, or a source has moved: name the tool and the page address and send it to contact@theplainstack.com. Every check on this site is dated precisely so you can judge how old it is and challenge it.

A confirmed error is re-read at the source, corrected on the record, and published on the corrections page with its date. You do not need to explain who you are.

Hold us to this page.

If a record does not meet what is written here, that is our mistake and we want to know. Name the page and what is wrong with it.

contact@theplainstack.com