How Google Authenticator’s scores are calculated
The full audit trail, recomputed from the verdict data at build time through the same code that produced the leaderboard: verdict × quality × story weight per cell, cells sum to dimension scores, dimensions blend into the PA Score. Every number on the product page is reproducible from this page alone; for why the formula looks like this, see the methodology.
verdict factors: full ×1.0 · partial ×0.6 · disputed ×0.3 · none ×0.0 · n/a excluded from both sides · cell points = weight × quality × factor · cell max = weight × 10
PA Score2/100
Agent-ready 0.0 × 0.30 = 0.00
API quality 0.0 × 0.20 = 0.00
Openness 7.5 × 0.20 = 1.50
Built-in AI 0.0 × 0.15 = 0.00
Automation 0.0 × 0.15 = 0.00
(0.00 + 0.00 + 1.50 + 0.00 + 0.00) ÷ (0.30 + 0.20 + 0.20 + 0.15 + 0.15) = 1.50 ÷ 1.00 = 1.5
Scores are stored to 1 decimal; the product page’s pills round to whole numbers for display. Each dimension below shows the stories, verdicts, and cited evidence behind its number.
Agent-ready0.0/100×0.30 of the PA blend
Outside-in: can YOUR agent reach and drive this product — API, MCP, CLI, headless runs, agent docs.
Point an agent at llms.txt or agent-oriented docsweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Run the product headlessly / in CI for automationweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Plug MCP servers into this product so it can use their toolsweight 3
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Connect an agent via an official MCP serverweight 3
3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Use an official CLIweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Drive the product through a documented public APIweight 3
3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Issue scoped/least-privilege API credentials for an agentweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Build against official SDKsweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Subscribe to events via webhooksweight 2
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Agent-ready = 0.0 ÷ 160 × 100 = 0.0
API quality0.0/100×0.20 of the PA blend
The programmable surface once an agent is there — machine-readable spec, interactive docs, sandbox, versioning discipline.
Explore an interactive API reference with runnable examplesweight 2
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Download a machine-readable API spec (OpenAPI or equivalent)weight 2
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Test against a sandbox environment without touching production dataweight 1
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Rely on versioned APIs with a documented deprecation policyweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
API quality = 0.0 ÷ 20 × 100 = 0.0
Openness7.5/100×0.20 of the PA blend
Can you leave, inspect, or self-host — data export, open source, portability.
Do everything through the API that I can do in the UIweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Export all of my data in open formats and leaveweight 3
3 (weight) × 3 (quality) × 0.3 (disputed) = 2.7 of 30 max
- [claimed-docs] https://support.google.com/accounts/answer/1066447?hl=en“On your old device, create a QR code... On your new device, tap Scan QR code”
- [claimed-docs] https://support.google.com/accounts/answer/1066447?hl=en“To manually transfer Authenticator codes to a new device, you need: Your old device with Google Authenticator codes”
- [community] https://news.ycombinator.com/item?id=35690398“Storing it in the google cloud doesn't satisfy me. I just simply want the codes under my control... google still makes it stupendously difficult to just get a simple text export to a file.”
- [community] https://hn.algolia.com/api/v1/items/28324626“Google Authenticator does not allow you to include your codes in your backup, even when it's encrypted. So due to Google Authenticator, losing your 2fa codes is an expected problem and many companies allow you to reset it by simply calling them.”
- [community] https://news.ycombinator.com/item?id=35690398“Google Authenticator already has a QR-Code based very easy export procedure, I just backup my GAuth to my spare phone and tablet. It feels safer because it's physical.”
- [community] https://hn.algolia.com/api/v1/items/28324626“Google Authenticator has a feature to allow export of all saved codes into one QR code for re-import into Google Authenticator running on another device. I printed a copy of my export QR code for use in case my device is lost or stolen.”
- [community] https://news.ycombinator.com/item?id=35690398“If Google ever decides to kick you out of your account, Authenticator data will be gone. Google has done this on several occasions in the past.”
- [community] https://news.ycombinator.com/item?id=35708869“Imagine your google account getting deleted cuz you got banned from Google and the suddenly you lose all your 2FA secrets cuz they are part of that account”
Read the product's source under an open licenseweight 2
2 (weight) × 4 (quality) × 0.6 (partial) = 4.8 of 20 max
- [github] https://github.com/google/google-authenticator“These implementations support the HMAC-Based One-time Password (HOTP) algorithm specified in RFC 4226 and the Time-based One-time Password (TOTP) algorithm specified in RFC 6238.”
- [github] https://github.com/google/google-authenticator“The Google Authenticator project includes implementations of one-time passcode generators for several mobile platforms.”
- [github] https://github.com/google/google-authenticator“Pluggable Authentication Module, aka PAM.”
Self-host the core productweight 3
3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max
- [claimed-docs] https://support.google.com/accounts/answer/1066447?hl=en“With Google Authenticator, you can synchronize your verification codes across all your devices, simply by signing in to your Google Account.”
- [claimed-docs] https://support.google.com/accounts/answer/1066447?hl=en“When you sign in to your Google Account within Google Authenticator on a new device, your codes are automatically synced to this device.”
- [github] https://github.com/google/google-authenticator“These implementations support the HMAC-Based One-time Password (HOTP) algorithm specified in RFC 4226 and the Time-based One-time Password (TOTP) algorithm specified in RFC 6238.”
- [github] https://github.com/google/google-authenticator“Pluggable Authentication Module, aka PAM.”
- [community] https://news.ycombinator.com/item?id=35690398“Storing it in the google cloud doesn't satisfy me. I just simply want the codes under my control... google still makes it stupendously difficult to just get a simple text export to a file.”
- [community] https://news.ycombinator.com/item?id=35690398“If Google ever decides to kick you out of your account, Authenticator data will be gone. Google has done this on several occasions in the past.”
- [community] https://news.ycombinator.com/item?id=35708869“Imagine your google account getting deleted cuz you got banned from Google and the suddenly you lose all your 2FA secrets cuz they are part of that account”
Openness = 7.5 ÷ 100 × 100 = 7.5
Built-in AI0.0/100×0.15 of the PA blend
Inside-out: how agentic the product itself is for its users — built-in assistants, autonomous features.
Get AI-generated insights and suggestions from my data inside the productweight 2
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Set up automations that run autonomously in the backgroundweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Delegate tasks to a built-in AI assistant inside the productweight 3
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Operate the product with natural-language commandsweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Built-in AI = 0.0 ÷ 40 × 100 = 0.0
Automation0.0/100×0.15 of the PA blend
Depth of automation primitives — rules, scheduling, bulk operations, webhooks.
Perform bulk operations across many items at onceweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Define rules that trigger actions automatically on eventsweight 3
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Schedule recurring jobs or workflowsweight 2
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Version, review, and roll back my automationsweight 1
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Automation = 0.0 ÷ 20 × 100 = 0.0