Method

How we audit apps

An AI agent compares apps for one concrete use case at a time, scores eight published questions from 0 to 5, and cites a source for every score. The prompt is public, versioned and sealed with a SHA-256 hash before each run. This website is operated by the developer of some of the audited apps, so we publish wins, ties and losses and explain the safeguards below.

How an audit works

  1. The server picks an app and a use case (a "persona", for example hikers who need a compass without signal).
  2. The server renders the public prompt, computes its SHA-256 and stores both before research starts (the seal).
  3. A research agent finds competing apps by the use case, not by app name, and scores each one on every question with sources and access dates.
  4. The server validates the result, recomputes the totals and checks that the verdict matches the scores. Failed checks stop publication.
  5. The server publishes the audit with the prompt document, the data (JSON), the matrix (CSV) and the seal.

Independence and conflict of interest

  • Disclosure. Lapnito.cz s.r.o. develops some of the audited apps and operates this site. Every audit says so.
  • Equal treatment. The prompt forbids treating any app differently; the agent is not told which app is ours.
  • Separation of roles. Prompt authors, the research agent and the publishing server are separate steps. The server computes totals and verdicts from the scores.
  • Losses are published. Ties and losses appear on the same pages as wins.
  • Corrections. Developers can request corrections via the contact page; we answer within 7 days and publish a new version, keeping the old one online.

Questions and weights

IDQuestionWhat is checkedWeight
Q1Core task fitHow completely and directly does the app do the persona's main task?0.20
Q2Accuracy and reliabilityIs the output correct and stable? Evidence, not impressions.0.15
Q3Offline use and no accountDoes the core task work without network and without creating an account?0.15
Q4PrivacyData collection, trackers, permissions, App Store privacy label / Google Play Data safety.0.15
Q5Ads and priceAdvertising, price, in-app purchases including hidden or recurring ones.0.10
Q6Accessibility and localisationAccessibility support and number of supported languages.0.05
Q7MaintenanceDate of last update, supported OS versions, developer responsiveness.0.10
Q8RisksSecurity issues, deceptive practices, unexplained permissions.0.10

Scoring, evidence and ties

  • Scores are whole numbers from 0 to 5. The weighted total is sum(score x weight) / sum(weights), also on the 0-5 scale.
  • Every score needs at least one evidence item: URL, quote and date of access. Claims that cannot be verified are labelled unverified and score low.
  • Quotes marked ✓ were re-checked against the live page on the date shown next to them; paraphrases are summaries made by the research agent's reading tool and are labelled as such.
  • If the two best totals are within 0.3 points, the result is a tie.
  • An app that does not exist on a platform is reported as not applicable for that platform, and the best alternative is named.

Prompt versions

VersionSHA-256 of the templateReleasedText
audit-v1.180d62520d1151d5e852b76d1fc2065057ab7bb197771cbeb1c9e707cd0e6a05e2026-11-05Read
audit-v1.0925afe6ef798d7ea7984f4f0f2243c7eb9b273b1a188eff0e72cc3072faaeadc2026-11-05Read

Each audit stores the exact rendered prompt and its own SHA-256 (see the prompt document linked from the audit). Changing questions or weights creates a new prompt version; old audits keep pointing to the version they used.

How to verify any audit

Every published audit has a document bundle with the same header (audit id, canonical URL, sealed prompt hash, model, weights, licence). A person or another AI agent can check an audit without trusting us:

  1. Download the verification bundle (ZIP) or the structured evaluation dataset (JSON) from the "Documents for this audit" section of the audit page.
  2. Compute SHA-256 of the exact prompt text file; it must equal meta.prompt_sha256 and the seal on the page.
  3. Recompute each total: sum(score x weight) / sum(weight), rounded to 2 decimals; compare with platforms.<p>.totals. A difference of 0.30 or less at the top is a tie.
  4. Open five evidence URLs with a quote and look for the quoted text; the evidence log lists the verification status of every item.
  5. Check that criticism is published: "Not the best choice for" and every "Skip if" are filled in, for our apps too.
  6. Run sha256sum -c SHA256SUMS in the unpacked bundle.

The step-by-step file with the numbers of each audit is HOW-TO-VERIFY.md inside its bundle. Data and reports are licensed CC BY 4.0; the privacy test toolkit is MIT. Corrections: contact page, answered within 7 days.

Method changelog and experiments

No method changes since launch.

Frequently asked questions

Is the test trustworthy if the developer of one of the apps runs it?

The risk is real, and we state it openly. We reduce it with a public versioned prompt that is sealed before each run, a research agent that does not know which app is ours, server-side arithmetic, cited evidence for every score, and publishing losses and ties. You can verify every claim from the linked sources.

Who writes the audits?

An AI agent (Lapnito Research Engine) writes each audit from the prompt published on this page. People at Lapnito.cz s.r.o. wrote the prompt and operate the site; they do not edit scores or verdicts.

How are ties decided?

If the two best weighted scores differ by 0.3 points or less on the 0-5 scale, the result is a tie.

How do I request a correction?

Use the contact page. Corrections about factual errors are answered within 7 days and published as a new version of the audit; the old version stays online and links to the new one.

All audits · Privacy checks