Training Example: Feather Wallet – Review the Data, Give Your Score & Compare to the Real AI Evaluation

Industry Context — Common BS Fingerprints in Crypto, Blockchain & Web3
Generic Claims: the future of finance, revolutionizing the financial system, passive income with crypto, guaranteed returns…
Red Flags: anonymous team with no verifiable identities, guaranteed return percentages on investments, urgency and FOMO language in token sales, roadmap with no completed milestones…
Semantic Drift Patterns: whitepaper describes complex technology but product is a simple token swap, roadmap promises features already months overdue, homepage claims decentralized but team controls majority of tokens, claims community governance but all decisions are team-made…
Proof Expectations: published and verifiable smart contract audit reports, named team members with verifiable LinkedIn or GitHub profiles, live on-chain metrics and contract addresses, specific VC or investor names with verifiable investment rounds…

Feather Wallet

(https://featherwallet.org) 📸 Data Snapshot: May 26, 2026

Analyze the raw signals below. How would a machine score this business’s credibility?

Here are the exact signals captured from up to six pages of the site — the same raw inputs the evaluation engine analyzed. They are grouped by signal type so you can weigh each the way the machine does.

🏗️ Semantic Structure — heading hierarchy & page identity (Info Density · Commodity Fingerprint)
HOMEPAGE Feather: A Free Monero Desktop Wallet (https://featherwallet.org)
Title

Feather: A Free Monero Desktop Wallet

Meta

Feather Monero Wallet

H1 Feather: A Free Monero Desktop Wallet
HEADING_REPEATED_BODY Feather: A Free Monero Desktop Wallet (https://featherwallet.org/download/)
Title

Feather: A Free Monero Desktop Wallet

Meta

Feather Monero Wallet

H1 Feather: A Free Monero Desktop Wallet
HEADING_REPEATED_BODY Feather: A Free Monero Desktop Wallet (https://featherwallet.org/screenshots/)
Title

Feather: A Free Monero Desktop Wallet

Meta

Feather Monero Wallet

H1 Feather: A Free Monero Desktop Wallet
H3 Home
H3 History
H3 Nodes
H3 Send
H3 Receive
H3 Coins
H3 Calc
H3 Contacts
H3 Tools > Sign/verify
H3 Tools > Verify transaction proof
H3 Tools > Broadcast transaction
H3 14 word seeds
H3 Alternative themes
HEADING_BODY Feather: A Free Monero Desktop Wallet (https://featherwallet.org/changelog/)
Title

Feather: A Free Monero Desktop Wallet

Meta

Feather Monero Wallet

H1 Feather: A Free Monero Desktop Wallet
H3 Summary
H3 Cause
H3 Response Timeline
H3 Verifying reproducibility post-release
H3 Lessons learned
H3 Fixes and improvements
H3 Maintenance
H3 Airgapped signing with animated QR codes
H3 Plugins
H3 Additional entropy from dice rolls
H3 Receive tab
H3 Additions
H3 Bugfixes
H3 Maintenance
H3 How to help verify reproducible builds
H3 Documentation browser
H3 Improved error messages
H3 Seed recovery
H3 Time machine bump
H3 Release attestation
H3 Official Flatpak release
H3 Bugfixes and improvements
H3 Other changes
H3 macOS codesigning requirements
H3 Security Advisory
H3 Bugfixes
H3 Settings screen redesign
H3 Proxy settings
H3 I2P support
H3 Other changes:
H4 2.6.6
H4 2.6.7
H4 On sanity checks
H4 On emergency releases
H4 On the release procedure
H4 On communication
H4 Fixes and improvements
H4 Maintenance
H4 Fixes and improvements
H4 Maintenance
H4 Fixes and improvements
H4 Maintenance
H4 System requirements
H4 Install Guix
H4 Clone Feather
H4 Run the builds
H4 Attest your build outputs
H4 Build system changes
H4 New supported platforms
H4 Qt upgrade
H4 macOS release
H4 Webcam QR scanner
H4 Source tarballs
H4 Windows installer
H4 Hardware wallets on Windows 11
📝 The Narrative — clean text per page (Info Density · Semantic Coherence)
HOMEPAGE (https://featherwallet.org) Feather: A Free Monero Desktop Wallet
[H1] Feather: A Free Monero Desktop Wallet

Home
|

Download
|

Changelog
|

Screenshots
|

Docs
|

Help
Feather is a free, open-source Monero wallet for Linux, Tails, Windows and macOS.
The source code is available at github.com/feather-wallet/feather.
easy-to-use, small and fast - Feather runs well on any modern hardware, including virtual machines and live operating systems.
beginner friendly, but also caters to advanced Monero users by providing a feature set that is on par with the official CLI.
ships with sane defaults that suit most users, but can also be configured for high or uncommon threat models.
serves as a testing grounds for experimental features that may later be adopted in the reference wallets.
The latest version is 2.8.1.
Download it here.

Clearnet
|

Onion
|

I2P
842 chars
SUB-PAGE (https://featherwallet.org/download/) Feather: A Free Monero Desktop Wallet
[H1] Feather: A Free Monero Desktop Wallet

Home
|

Download
|

Changelog
|

Screenshots
|

Docs
|

Help

[H1] Latest release: 2.8.1
(2025-04-14)
Need help installing Feather? Check the docs.

Architecture
Download
PGP Signature
Size

Linux (glibc >= 2.31)
x64
Standalone executable
signature
29 MB

AppImage
signature
27 MB

ARM32 (Raspberry Pi)
AppImage
signature
23 MB

ARM64
AppImage
signature
25 MB

RISC-V (64-bit)
AppImage
signature
27 MB

Tails / Whonix
x64
AppImage
signature
24 MB

Flatpak
x64
Instructions

Windows (10 and higher)
x64
Installer
signature
19 MB

Standalone executable
signature
25 MB

macOS (12 and higher)
Intel
Application Bundle
signature
24 MB

Apple Silicon
Application Bundle
signature
23 MB

Source archive
.tar.gz
signature
24 MB

A GPG-signed list of the hashes can be found here. The signing key can be found in our Git repo, here.

Clearnet
|

Onion
|

I2P
1036 chars
SUB-PAGE (https://featherwallet.org/screenshots/) Feather: A Free Monero Desktop Wallet
[H1] Feather: A Free Monero Desktop Wallet

Home
|

Download
|

Changelog
|

Screenshots
|

Docs
|

Help
[H3] Home
Fiat price display
Crowdfunding proposals, Bounties, Revuo Monero
[H3] History
Detailed transaction history
Historical fiat prices
Export as CSV
Rebroadcast failed transactions
Create transaction proofs
[H3] Nodes
Overview of community hosted remote nodes
Switch between remote nodes
Maintain your own list of nodes
[H3] Send
Scan QR code
Send fiat amount
Send entire balance
Multi destination transactions
Advanced transaction details
Export unsigned / signed transaction
[H3] Receive
QR code display
Edit subaddress labels
Create payment requests
Automatically hides used addresses
Search addresses and labels
[H3] Coins
Detailed output information
Freeze & thaw individual coins
Sweep selected outputs
[H3] Calc
Fiat/crypto price conversion calculator
[H3] Contacts
[H3] Tools > Sign/verify
Sign/verify messages with (sub)address
[H3] Tools > Verify transaction proof
Verify SpendProofs, OutProofs, InProofs
[H3] Tools > Broadcast transaction
Broadcast raw transaction to specified node
[H3] 14 word seeds
With embedded restore height
[H3] Alternative themes
Qdarkstyle
Breeze Dark
Breeze Light

Clearnet
|

Onion
|

I2P
1295 chars
SUB-PAGE (https://featherwallet.org/changelog/) Feather: A Free Monero Desktop Wallet
[H1] Feather: A Free Monero Desktop Wallet

Home
|

Download
|

Changelog
|

Screenshots
|

Docs
|

Help
[RSS]
2.8.1 changelog (2025-04-14)
Windows: fixed a crash on startup if the path to the executable contains unicode characters.
macOS: the minimum macOS version is now 12.
Qt silently dropped support for macOS 11 in Qt v6.8.0, which caused Feather 2.8.0 to crash on startup on macOS 11.
macOS 11 has been unsupported by Apple for over 18 months. Users are strongly advised to upgrade their operating system.
Flatpak: should now be able to locate and use the host cursor theme.
If you still experience cursor issues after this release, make sure that /usr/share/icons/default/index.theme is not a symlink.
Wizard: when trying to restore a 25-word seed, Feather should no longer incorrectly report that the checksum word is invalid.
About: added a tab that shows version numbers of some components.
Revuo: added a separator between the “Recent news” and “Upcoming events” section.
Qt was updated to v6.9.0
Tor was updated to v0.4.8.16
OpenSSL was updated to v3.5.0
2.8.0 changelog (2025-03-30)
Fixes & Improvements:
History: CSV export: it is now possible to select a date range and to specify if only incoming, outgoing, or miner transactions should be exported.
History: CSV export: fixed an issue that could cause the “balanceDelta” field to show an unrealistic value.
Send: the address-book functionality was moved from the Send tab to a new ‘Contacts’ tab.
Send: added a placeholder text to the ‘Pay To’ field to inform users that pasting a QR code, OpenAlias, or payment URI is possible.
Send: fixed an issue where a transaction description set in the advanced transaction dialog would not get saved.
Send: fixed an issue where scanning a payment URI using the QR scanner would dump the full payment URI in the address field.
Receive: it is now possible to enter a fiat amount in payment request dialog. The fiat amount is automatically converted to the approximate XMR amount.
Receive: an address is now considered ‘used’ as soon as it receives an output in the transaction pool.
Receive: if no unused addresses are available, a new address will automatically be generated.
Receive: fixed an issue that could cause pinned subaddresses to not appear at the top of the list
Receive: fixed an issue that would clear the subaddress selection when the wallet scans a new block.
Coins: improved performance when freezing/thawing a large number of outputs.
Added a ‘Notes’ tab for adding arbitrary notes. The notes are stored in the wallet cache.
Mining: the Mining plugin is deprecated and will be removed in an upcoming version.
Settings: added an option to hide the window to the system tray when minimized.
Settings: added an option to hide the system tray icon.
Account switcher: fixed an issue where opening the account switcher would cause the wallet to switch to the primary account on some platforms.
Address checker: will now show a warning if the address contains keys that are not in the main subgroup.
Status bar: clicking on the balance will now show the fiat value of the {unconfirmed, spendable, total} balance in the preferred fiat currency.
Docs: the dialog will no longer close when pressing enter.
Wizard: automatically add a space at the end when auto-completing words in mnemonic seeds.
Wizard: when restoring a non-deterministic wallet from keys, a more helpful error message is now shown if the primary address does not correspond to the private keys.
Wizard: when attempting to restore a 25-word seed, an error message is shown if the checksum word is invalid.
Ledger: show the reconnect dialog if the device was locked during synchronization.
Misc: (approximate) restore dates are now always shown next to restore heights.
Misc: performance and memory usage optimizations
Misc: minor user interface tweaks
Misc: Feather will no longer attempt to restart itself in the event of a crash, which could cause crash loops if the crash happened before any UI was shown.
Build: Windows and macOS release binaries are now code-signed.
Build: Feather now has native Wayland support.
Build: Linux and Windows targets are now built with GCC 13.3.0 (was 12.4.0)
Build: macOS targets are now built with LLVM 18 (was 10)
Build: support for the 32-bit Linux target was removed.
Flatpak: will now default to Wayland if available.
Tails: creating a desktop entry will now persist if dotfiles persistence is enabled.
macOS: the minimum supported macOS version is now 11.0
Removed the Prestium integration.
Monero was updated to version v0.18.4.0
Qt was updated to version v6.8.3 (was v6.7.3)
Tor was updated to version 0.4.8.14
2.7.0 changelog (2024-10-08)
history: always show the integrated address in the destinations table if an outgoing transaction has a payment id
in some cases, the base address was shown when a payment had been made to an integrated address
this issue could lead to a potential loss of funds if a repeat payment was made to a service and the address was copied from the dialog without verifying it
a report of this issue was rewarded with a bug bounty of 2.5 XMR
on wallets backed by Trezor hardware devices, a warning is shown instead, because the payment id is not stored correctly
history: you can now import transaction descriptions from a CSV file
send: improved an error message that is shown when a transaction tries to spend too many inputs
contacts: paying to a contact now auto-fills the contact name in the transaction description
coins: ‘send to self’ now sends funds to the change address of the current account instead of the primary account
settings: added an option to show fiat balance in the statusbar
nodes: nodes ending with a ‘.local’ tld are now considered local nodes
nodes: added (more) nodes by plowsof and ofrnxmr to the default list, removed hashvault
wizard: improved an error message that is shown when the cache file can’t be read
wizard: fixed an input validation issue on the set lookahead page that could lead to a crash
revuo: issues now include upcoming events
macos: fixed an issue that could prevent the application from launching
flatpak: dates shown in the application should now reflect the system time
show a notification when a mining payment is received
fixed an issue that could prevent the application from closing
fixed a few memory leaks
updated Qt to 6.7.3
updated OpenSSL to 3.3.2
2.6.8 changelog (2024-08-15)
updated Monero to v0.18.3.4
updated Qt to 6.7.2
updated Tor to 0.4.8.12
removed Reddit and LocalMonero plugins
windows: fixed a graphical issue if windows dark mode was enabled
trezor: re-enabled bridge transport
tx pool viewer: fixed table sort
settings: fixed a potential crash
wizard: don’t allow illegal chars in file name
linux: minimum glibc is now 2.31
update your machine to Debian 11, Ubuntu 20.04 or later
Incident report: Denial-of-Service (28 April 2024) (2024-05-01)
[H3] Summary
Feather versions 2.6.5 and below are no longer able to send transactions. Upgrade Feather to 2.6.6 or above to fix the issue.
Users trying to construct a transaction on 2.6.5 and below are presented with the following error message: “Internal error: Unrealistic number of outputs in output distribution”.
The bug was triggered when the number of RingCT outputs on the blockchain exceeded 100 million. This caused a sanity check to fail during transaction construction, resulting in the error shown above.
For approximately 5 hours on April 28, 2024, all available versions were affected by the bug, effectively preventing anyone from transferring funds using Feather during that time.
[H3] Cause
On August 29, 2021, I committed a patch titled ‘Output distribution checks’ to Feather’s fork of the core Monero wallet library. This patch was first included in Feather beta-9, which was released on September 16, 2021.
The purpose of this patch was to provide better mitigations against an attack known as “output distribution poisoning”.
The output distribution is a histogram of RingCT outputs and affects how the wallet selects decoys for rings. When a transaction is constructed, the wallet requests the output distribution from the node it is connected to.
In the attack, a malicious remote node manipulates the output distribution in a way that reveals the true spend to the node with a high degree of certainty. One way a node could do this is by pretending there are significantly more outputs on the blockchain than there are in reality. This causes decoys, which are referenced by their global index, to skew towards this ‘unrealistic’ number.
Consider the following set of output indices which represent a ring, for which the wallet requests the associated public keys from the node:
{99655570, 50001410564, 50001585151, 50001818442, 50001853725, ...}
The node can clearly tell that the first output is the true spend, because it is the only ‘real’ output that exists on the blockchain.
This could allow the node to associate an output with an IP address. Note that, by default, Feather constructs transactions over Tor, and so the only information a node would learn is that “someone, using Tor, is currently trying to spend this output”. By default, Feather connects to a node from a list of nodes operated by known members of the community. If a node from this list was reported to be malicious, it can quickly be removed and the operator shunned.
In this naive approach, the transaction would be rejected by the network because the ring contains invalid indices. The user would receive an error message upon broadcasting the transaction and promptly switch to a different node.
A more sophisticated attacker could present the output distribution in a way where decoy selection is skewed such that the true spend is detectable, but does not result in an invalid transaction.
For instance, this transaction was constructed using a manipulated output distribution. Can you determine what the true spend is? Notice that all ring members are older than 1y 200d except for one 6-day-old output. Unless the user checks the ring on a block explorer and knows what to look out for, they would not notice that their transactions are being fingerprinted.
Even subtler manipulation may give the malicious node only a statistical edge to guess the true spend, but not noticeably fingerprint the transaction on-chain to a casual observer.
The patch attempted to mitigate this attack with two checks:
It hashes the output distribution returned by a node up until a checkpoint height and compares it against a hardcoded hash. If the hashes don’t match, an error is returned. This prevents any tampering with the distribution before the check-pointed height.
It checks if the total number of outputs in the distribution does not exceed a predefined limit. This ‘sanity check’ is what ultimately caused transaction construction to fail for everyone when the real number of outputs on the blockchain exceeded this limit.
Upon further review, the first check appears to be an effective measure, as long as it is updated with each release. It limits how much an attacker is able to skew decoy selection. The second check appears to be ineffective, as an informed attacker could still skew the distribution to just below the limit. It would only have caught an attacker that was unaware of the limit.
I initially stated that “a large number of outputs were added last month in a spam attack”, believing the patch was a more recent invention and thought the spam attack had contributed more significantly to expediting the timeline. After gathering the details, I found that the attack only contributed about 2.5 months' worth of outputs to the chain. Moreover, the possibility of such an attack should have been taken into account when considering if was a good idea to impose any such limit in the first place.
At the time of the patch (Aug 2021) roughly 48.8 million RingCT outputs existed on the Monero blockchain. The limit was set to 100 million.
The limit and the hardcoded hash were never updated from their initial values.
By March 3, 2024, at the start of the March spam attack, the number of RingCT outputs on the Monero blockchain had already grown to 90.8 million.
According to research by Rucknium, the spam attack added about 4.62 or 4.71 million outputs depending on which definition is used for the spam transactions.
Updating the limit or hardcoded hash was not documented in the release procedure or maintenance priority and the value was not actively monitored. These documents were added precisely to prevent something like this from happening, but were only introduced in Jan 2023. By then, the existence of the patch must not have been top of mind.
On April 28, 2024, block 3137429 was mined which pushed the number of RingCT outputs over the 100 million limit, triggering the sanity check to fail during transaction construction.
Plans to clean up Feather’s patchset with the goal of “upstreaming as much as possible” were on the agenda. I believe I would have removed the limit if I had worked on this sooner, however this obviously did not happen before the limit was reached. Following the CCS hack, I prioritised work to help ensure the continuity of the CCS, which included finalising support for offline transaction signing with animated QR codes and ongoing work to integrate multisig. This lead to delays in maintenance work.
I conclude that the sanity check should not have been added, and that my failure to properly document, monitor, and maintain the patch ultimately lead to the denial of service.
[H3] Response Timeline
[H4] 2.6.6
20:40 - User miracloe joins the irc channel and is the first person to report that they encountered the error message.
20:46 - I am able to reproduce the error message by attempting to send a test transaction.
To prevent this from happening in the future, the sanity check is removed.
21:41 - The 2.6.6 release is tagged and building begins.
00:04 - The builds are finished and transferred to the release signing machine.
00:13 - Builds are signed and uploading begins.
01:15 - Uploading is finished and the release is available on the site and in the built-in updater.
Report ➛ Tag
Tag ➛ Release
Report ➛ Release
1h 1m
3h 34m
4h 35m
‘Report to Tag’ is the amount of time it took to reproduce, debug and fix the issue.
‘Tag to Release’ is the amount of time it took to release the update, which includes building, signing, and uploading the release artifacts and updating the website.
For most users this concluded the wait, others had to wait until 2.6.7.
[H4] 2.6.7
01:49 - User rayven123 reports on irc they are unable to open 2.6.6 on Tails 5.
01:57 - I am able to reproduce the issue by attempting to open 2.6.6 on Tails 5.
This problem turned out to be related to a compiler upgrade, and was unrelated to the fix for the output distribution issue. It had existed in the master branch since March 18, but went unnoticed because the issue did not affect my development machine.
Since all versions prior to
15000 chars
🛡️ Trust Signals — reviews, proof links, trust-theatre flag (Trust & Proof)
8Review mentions (all pages)
0External proof links (all pages)
PageReviewsProof links
/ (home) 1 0
/download/ 0 0
/screenshots/ 0 0
/changelog/ 7 0
🔗 Identity & Technical Layer — schema JSON-LD: identity chains, entity gaps (Identity & Authority)
Homepage — no schema detected (entity gap)
/download/ — no schema detected (entity gap)
/screenshots/ — no schema detected (entity gap)
/changelog/ — no schema detected (entity gap)

Your Diagnosis

Before revealing the machine’s verdict, predict the BS score for each signal. Higher = more BS (more fluff, less verifiable substance). Drag each slider, then submit to compare your judgment against the engine.

Information Density 0 / 30
Read the Narrative & headings: do hard facts (prices, dates, numbers) outweigh fluff power-words?
Semantic Coherence 0 / 20
Compare the homepage promise against the sub-page reality. Do they hold the same line?
Trust & Proof 0 / 20
Weigh review mentions against actual external proof links. Claims without verification = theatre.
Commodity Fingerprint 0 / 15
Check headings & narrative against the industry clichés in the setup above.
Identity & Authority 0 / 15
Inspect the schema: is there real Organization/Person identity with sameAs links, or gaps?
Your predicted BS score 0 / 100
💡 Stuck? Reveal the heuristic lens — how the deterministic page-auditor reads each signal (no AI, pure pattern rules)

These are the structural rules a local, deterministic auditor applies — the same lens you can use to judge each signal. They describe what to look for, not this company’s result.

Information Density

Classify each sentence as substantive or hollow. Grounding markers — numbers, currencies, dates, technical units, named entities — outweigh marketing adjectives. When fluff sits right next to hard evidence, the fluff is forgiven.

Semantic Alignment

Pull the main entities out of the H1, then check whether they actually recur through the body. A page that announces one thing and then talks about another drifts. Headings with no real sentences underneath read as pseudo-substance.

Trust & Proof

Count trust words (review, testimonial, rating, verified) against real outbound proof links (Google, Trustpilot, Clutch, G2, Yelp). Lots of trust language with zero verification links is trust theatre. Unlinked logo galleries count against it.

Commodity Fingerprint

Look at how much sentence length varies. Natural writing varies its rhythm; templated or mass-produced copy is statistically uniform. Very low variation reads as commodity content — unless unique named entities break the pattern.

Identity & Authority

Inspect the JSON-LD. Is there an Organization or Person schema, and does it carry sameAs links to real external profiles (LinkedIn, socials)? Missing schema or no identity declaration signals an anonymous entity.

Want to apply this lens yourself? The free BS Indicator Chrome extension runs these heuristic checks live on any page. Bear in mind it is a single-page, deterministic tool — it relies only on pattern rules for the page in front of it and does not perform the cross-page semantic correlation this audit uses, so its readout is a starting lens, not the full verdict.

B
BS Level
Crypto, Blockchain & Web3
45.7 Avg BS

Based on 366 businesses audited.

BS Detector

Crypto, Blockchain & Web3 BS: Feather Wallet (featherwallet.org)

https://featherwallet.org 📍 Industry: Crypto, Blockchain & Web3
10 BS / 100

This is a benchmark for zero-BS technical communication in the crypto space. It replaces marketing adjectives with compiler versions and PGP hashes. The only ‘bullshit’ detected is the site’s own admission of a past technical error, which it documents with obsessive forensic detail.

Info Density Power-words vs. Substance ratio.
3
10% BS
Semantic Coherence Homepage promise vs. Sub-page reality.
0
0% BS
Trust & Proof Verifiable evidence vs. Trust Theatre.
2
10% BS
Commodity Fingerprint Detection of industry clichés/templates.
0
0% BS
Identity & Authority Expert verifiability & Schema depth.
5
33% BS

Add Organization and SoftwareApplication schema to the homepage to bridge the minor authority gap in structured data. Explicitly link to the GitHub ‘Contributors’ page to provide a verifiable digital footprint for the development team. Include a dedicated ‘Security’ page that links to external audit reports if any exist, or further clarifies the reproducibility of the builds. Ensure the temporal evidence is refreshed as the latest release (April 2025) will move from ‘current’ to ‘aging’ by mid-2026.

The website perfectly aligns with the Crypto and Web3 industry, specifically focusing on the Monero (XMR) ecosystem. The content is heavily saturated with niche technical requirements such as PGP signatures, I2P/Onion routing, and RingCT output distribution, confirming it is a specialized tool rather than a generic crypto service.

“The score of 10 is driven almost entirely by the lack of structured data (Identity and Authority) and a minor metadata-level 'trust theatre' flag. In terms of actual content, the site is effectively 0 BS, providing the highest ratio of technical substance to marketing signal observed in the industry.”

Verified Analysis Date: May 26, 2026 © 1EuroSEO Independent Evaluator — Non-Sponsored Result
Brand AI Reputation