Independent software research59 tools tracked · 58 confirmed prices
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 59 tool records, 75 comparisons and 11 guides, in English and French. Records show a confirmed entry price and its billing conditions when available, or mark the price as unconfirmed. They also document limitations and cite supporting evidence and dates where available.

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.

A collective identity, one accountable owner

The Plain Stack publishes under a collective editorial identity | The Plain Stack Research Desk, and no individual byline on articles. The publication is owned and run by Richy (a pseudonym), who answers for it. There are 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.

The publication is owned and run by Richy, who 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 59.

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: 176 dated readings across 59 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.

8 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. Of 59 records, 54 have a verified month-to-month price, 4 a verified monthly equivalent of an annual commitment, 0 other confirmed prices, and 1 have no confirmed current entry price.

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.

For verified regular rates recorded with a month-to-month price and an annual option, the month-to-month rate is the headline and the annual option appears beneath it. A promotional price billed annually may instead be the headline, labelled as a promotion and with its billing cadence stated.

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. 27 of 59 records price by the seat; those are the only ones with a team-cost table, and 8 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 59 of 59 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: 164 sources across 59 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

17 of the 59 tools we track carry a disclosed affiliate relationship: Beautiful.ai, Capsule CRM, Claap, ClickUp, Descript, ElevenLabs, Foxit PDF Editor, Gamma, Later, MeetGeek, Miro, Murf AI, Prezi, SmartSuite, SocialBee, Todoist and Vista Social. The other 42 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. Their destination is chosen by the ad network rather than by us, and has no relationship with a product covered here.

Corrections

Mistakes are published with the same visibility as everything else. 36 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