Last updated: November 5, 2026
This Privacy Policy explains how BS Meter ("BS Meter," "we," "us," or "our"), a product of The Pocket App Company LLC, collects, uses, and protects information when you use the BS Meter application and related services (the "Service"). By using the Service, you agree to the practices described here.
To check a video the app has to hear it. There are two routes, and they capture different things.
Sharing or pasting a link (the main route). The app opens the video's own published embed inside its own window, plays it silently, and listens to its own player. Nothing else on the device is part of that audio path. No screen recording and no system audio capture is involved.
The floating meter (optional). This route uses Android's playback-capture API, which requires your explicit per-session consent through the dialog Android itself shows. It is restricted at the operating-system level to the specific social apps the meter supports, so audio from any other app — a music player, a call, anything else — never reaches the recorder.
The microphone is never recorded. The app declares the RECORD_AUDIO permission because Android requires it for playback capture, but no part of the app ever opens a microphone input.
Audio never leaves the device and is never written to storage. It is converted to text as it plays and then discarded.
Transcripts and the verdicts produced from them are stored on your phone, so that your past checks are available and so a check can be exported if you contact us for support. Deleting a check, or uninstalling the app, removes them.
No contacts, no location, no photos, no calendar, no device advertising identifier, and no list of your installed apps. The one device-level value the app reads is the Android ID, and only as a SHA-256 hash worked out on the phone (see Section 3): the Android ID itself never leaves it. The app asks the system about the handful of social apps the meter supports, and about nothing else.
When you run a check, the app sends:
| Sent | Why |
|---|---|
| The transcript text of the video | It is what gets fact-checked |
| The platform and video id | Used as a cache key, so the same video is not paid for twice |
| A credential: a per-install token, or an account id if you signed in | Metering and abuse control |
| A device hash: a SHA-256 hash of a fixed label plus your phone's Android ID, worked out on the phone | Counting the free monthly checks per phone, and stopping repeat free sign-ups on one phone |
| If the server has Play Integrity switched on, a Play Integrity token from Google Play | Asking Google Play to confirm that this is the genuine app on a genuine phone |
| For an image check, the image | It is what gets checked |
| If you buy a check pack, the purchase token the app store issued for it, and the product id | So the server can ask the store whether the purchase is real before adding checks to your balance — the app's own word is never enough |
Your name, phone number, contacts and location are not sent, because the app never has them.
Your email address is sent on exactly four requests, and only if you use the email-and-password sign-in: creating the account, confirming it with the mailed code, asking for a password reset, and signing in. It is not attached to a check, so nothing joins it to a video you looked at.
Your password is sent on those same requests over HTTPS and is never stored as you typed it — what we keep is a scrypt hash, which cannot be turned back into the password.
A problem report (Settings → Support → Report a problem, or REPORT THIS CHECK on a result) sends what you typed, the app version, the platform, the phone's system version and model, which screen you wrote from and, for a reported check, the video address or "picture" it was about. The reply address in the mail's "Reply to" line is only what you type into the email box — the app pre-fills it with the address you signed in with, and you can change it. An address is required, so that a report can be answered. The server also adds a "Who sent it" block so the support inbox can tell which account a report came from: your account reference (the short code Settings shows), how you signed in (Google, Apple, email or not signed in), your email address if you signed in by email (Google and Apple accounts hold none), how many checks you have used this month against your allowance, and a hashed install identifier. You may attach up to three screenshots from your photo library; the app shrinks each one on the phone before sending, and only pictures you pick travel — the app never takes one itself. The app's own error log also goes with a report: its newest 20 entries (the failure sentences the app showed you, the video addresses they were about, and what the app was doing at the time), so a problem can be diagnosed without a second exchange. The support inbox's copy also notes whether the service holds a stored verdict for a reported check, and carries a link to this install's crash reports, filtered by the same hashed install identifier. Nothing else is attached: not the transcript, not the claims, and never your credential, token or password. The server does not store the report; it mails it to the support inbox and the mail is the only copy.
Every table in our database is listed here. There is no other storage.
| Stored | What is in it | Tied to you? |
|---|---|---|
| Cached analyses | A completed analysis, keyed by a hash of the video reference | No |
| Claim verdicts | A checked claim's text and its verdict | No — keyed by the claim's content |
| Claim evidence | Sources gathered for a claim | No |
| Scan log | One row per check: platform, counts, cost. Never content | No |
| Installs | A SHA-256 hash of the install token, platform, timestamps, a count | Pseudonymous |
| Accounts | The sign-in provider and that provider's id for you | Pseudonymous |
| Email accounts | An email address, a scrypt hash of the password, and whether the address has been confirmed | Yes — an address identifies you |
| Quota usage | A caller identity and a monthly count. Each check is also counted against the phone, in a second row keyed by a hash of the device hash the phone sent, never the value sent | Pseudonymous |
| Device integrity | Only if Play Integrity is on: that same double-hashed phone key, whether Google Play confirmed the app and phone, and when | Pseudonymous |
| Purchases | Older subscriptions only (check packs replaced subscriptions, and no new row is written for a pack). One row per subscription purchase: the store's purchase token, the product, the checks it grants, when it expires, its state, the store's order id, and the caller identity it raises. No email, no name, no store account id | Pseudonymous |
| Check pack credits | One row per check pack bought: the store's transaction key, the product, how many checks it added, the platform (Google Play or App Store), whether it was a sandbox test purchase, the store's order id, when it was credited, and the pseudonymous caller identity it was credited to. Never updated and never deleted. No email, no name, no store account id | Pseudonymous |
| Check pack balances | One row per caller who has bought a pack: the pseudonymous caller identity, the total of checks credited, the total spent, and when it last changed. No email, no name | Pseudonymous |
These consequences are worth stating plainly, because they are the whole point:
scrypt hash of it. Deleting your account deletes the address, in the app under Settings or at the deletion page.The quota record notes who spent a check. In the published app that is a non-reversible fingerprint of your credential, not an address. If the Service is ever run without authentication, that field falls back to recording an IP address — and an IP address is personal data in the EU and UK. It is named here rather than omitted because it is a real branch in the code.
Ordinary web-server request logs at our hosting provider also contain IP addresses, as they do for every website.
We are not the only system involved in answering a check.
| Who | What they receive | Why |
|---|---|---|
| Anthropic (model provider) | Transcript text and claim text | Extracting and checking claims |
| A web search provider | Individual claims, as search queries | Finding evidence |
| Render (server hosting) | Everything in transit, plus request logs | Runs the server |
| Supabase (database hosting) | The records listed above | Stores them |
| That you chose to sign in (only if you use it). And, only if Play Integrity is on, an integrity token Google Play issued for this app on this phone, which our server sends back to Google to be decoded | Sign-in; and checking that the app is genuine and the phone is a real, unmodified one | |
| Google Workspace | Your email address and a 6-digit code | Sending the confirmation and password-reset emails, and only if you use the email sign-in |
| Resend (email delivery) | Your email address and a 6-digit code; and, when you send a problem report from the app, what you typed, the app and phone details listed in Section 3, and your email address if you gave one for a reply | Delivering those same emails from our server, only if you use the email sign-in; and carrying problem reports to the support inbox |
| Google Play (and, when the iPhone app sells, the App Store) | Your purchase token, sent back to the store that issued it | Checking that a check pack purchase is real before it adds checks to your balance |
| RevenueCat (purchase bookkeeping) | Only once you buy or restore a check pack: the store's purchase token, your account's public reference (the 12-character handle shown in Settings → Account), and the phone's model, system version, language and IP address. Never a transcript, a verdict, a video address or an email address | Keeping one record of who has bought a check pack, restored one or been refunded, across both app stores |
| Sentry (crash reports) | When the app or the server crashes: the error, where in the code it happened, the app version, and the phone's model and system version. No account, no email address, no transcript, no video address, no screenshot | Finding and fixing crashes |
Data is not sold, and is not shared with advertisers or data brokers. There are none involved.
| Audio | Never stored. Discarded as it is transcribed. |
| On-device history | Until you delete a check or uninstall the app. |
| Cached analyses and verdicts | Indefinitely, as a shared cache. Not linked to you. |
| Scan log | Indefinitely. Contains no content and no identifier. |
| Install and account records | Until the install is revoked or the account deleted. |
| The phone's monthly counter and its Play Integrity result | Monthly counts are kept as history and only the current month is read. They are not tied to an account, so deleting an account does not remove them; they are removed on request. |
| An email address and password hash | Until the account is deleted. Deleting it removes the row. |
| A confirmation or password-reset code | 20 minutes, as a hash. |
| A problem report | Not stored by the server at all. It is an email in the support mailbox, kept there like any other support mail and deleted on request. |
| A purchase record | Kept after the check pack is used up, as the record of a sale. It names a pseudonymous caller identity, never an address, and deleting the account does not remove it. RevenueCat's copy is kept under its own policy; write to us to have it removed. |
Wherever you live, you can:
If you are in the UK, EU or EEA, UK GDPR and GDPR give you rights of access, rectification, erasure, restriction, portability and objection. The lawful basis for processing a check is performance of a contract — you asked for the check — and for the caps and counters it is legitimate interests, specifically keeping the Service's costs from running away.
If you are in California, the CCPA/CPRA give you rights to know, delete and opt out of sale. There is no sale to opt out of.
To exercise any of these, write to the address in Section 11. If you signed in with an email address, write from that address. Otherwise we hold no address for you, so a request will need the install or account identifier the app can show you, or it cannot be matched to anything.
BS Meter is not directed at children under 13, and no part of it is designed for them. No age is collected. If you believe a child has provided personal information, write to the address in Section 11 and it will be deleted.
A video you check contains someone else's speech, and that transcript is processed and cached. Two rules bound what the app does with it, and both are enforced in the software rather than merely promised here:
Please do not use the app on private recordings of people who have not published them.
scrypt hash.No system is perfectly secure, and this one is maintained by a very small team.
For questions about this Privacy Policy or your information, contact:
The Pocket App Company LLC, 2501 Chatham Rd Ste N, Springfield, IL 62704-4188
Email: support@thepocketappcompany.com
We may update this Privacy Policy from time to time. Material changes will be reflected by updating the "Last updated" date above and, where they change what is collected, in the app's release notes. The version that applies is the one published at this address.