Privacy Policy & Data Practice
Effective Date: September 15, 2026 · Product Version: 0.1.0 · Applies to: PenYield Chrome Extension & penyield.com
Our core pledge: PenYield does not own a backend server, has no user accounts, runs no tracking scripts, and never collects, sells, or transmits your personal or financial data. All telemetry and earnings calculations occur strictly inside your local browser.
1. The Single Purpose of PenYield
PenYield is an open, client-side browser extension designed exclusively to help writers in the Medium Partner Program analyze their own readership engagement (views, reads, read ratio, claps) and historical daily earnings breakdown on a private, localized dashboard.
2. Data We Access & How We Access It
When you click the PenYield icon or view your analytics dashboard, PenYield reads your own Medium account statistics by communicating directly with Medium's internal GraphQL endpoints on https://medium.com/*.
-
Authentication via Browser Session: PenYield issues standard web requests to
medium.comwithcredentials: "include". This allows your browser to attach your existing, already-authenticated Medium session cookie. - No Access to Credentials: PenYield never reads, inspects, copies, logs, or stores your Medium password, authentication tokens, payment details, credit card numbers, or session cookies.
- Scoped Exclusively to Your Account: The extension only queries the authenticated writer's own story list, engagement statistics, and daily earnings ledgers. It cannot see or interact with any other user's data.
3. Where Your Data is Stored
Everything PenYield reads is saved locally to your device via Chrome's native storage sandbox (chrome.storage.local):
- Article metadata: story titles, publish dates, lifetime views, reads, and claps.
- Historical daily earnings records and backfill timeline checkpoints.
This local cache enables instantaneous dashboard loading, smooth sorting and filtering, offline viewing, and resilient backfilling without repetitive network queries. This data remains strictly on your local disk and is never transmitted to any external server.
4. Explicit List of Chrome Permissions & Justifications
Google Chrome requires extensions to declare all technical capabilities. Here is why PenYield requests each specific permission:
| Permission | Technical Scope | Justification for Use |
|---|---|---|
host_permissions |
Network requests to medium.com | Medium does not offer a public third-party REST/OAuth API for Partner Program stats. This permission allows PenYield to query Medium's internal GraphQL APIs on behalf of your signed-in account to retrieve your own readership statistics and daily payout records. |
storage |
chrome.storage.local |
Caches your fetched statistics locally on your machine so your dashboard renders instantly and supports high-speed client-side sorting and CSV exports without hitting Medium rate limits. |
alarms |
chrome.alarms API |
Schedules low-impact periodic background syncs (every 30 minutes for lifetime metrics, every 4 hours for historical daily earnings backfill) so your dashboard stays fresh automatically. |
tabs |
chrome.tabs API |
When you click the PenYield icon in your browser toolbar, this checks if a PenYield dashboard tab is already open and focuses it, preventing clutter from duplicate tabs. |
5. What We Never Do (Data Protection Warranties)
In accordance with Google Chrome Web Store Developer Program Policies:
- No Remote Code: PenYield does not execute remote code, eval scripts, or dynamic external scripts. All JavaScript is bundled locally in the extension package.
- No Analytics or Tracking: PenYield contains zero tracking SDKs, zero telemetry libraries, no Google Analytics, no Facebook Pixels, and no error-reporting services that send payloads off your machine.
- No Data Brokering: We do not sell, rent, license, or monetize user data under any circumstances.
- No Credit or Lending Evaluation: Your earnings figures are never used to assess creditworthiness, lending eligibility, or consumer profiles.
- No Unrelated Data Usage: Data accessed is used exclusively for rendering your writer analytics dashboard.
6. Data Deletion & Retention
Because all data is stored exclusively on your device within chrome.storage.local:
- Uninstalling the PenYield extension automatically and permanently deletes all stored cached statistics and history from your computer.
- You may also clear your data at any time via Chrome's Extension Management page (
chrome://extensions) by clearing extension storage.
7. Website Privacy (penyield.com)
The informational landing page at penyield.com (and penyield.pages.dev) is hosted on Cloudflare Pages. It serves static HTML, CSS, and SVG assets. It does not use cookies, does not require accounts, and does not track individual visitors.
8. Open Source & Independent Verification
PenYield believes in radical transparency. The complete source code of the extension is publicly available on GitHub for community inspection, security audits, and verification:
https://github.com/hxzhouh/medium-helper
9. Contact & Inquiries
If you have questions regarding this Privacy Policy or PenYield's technical architecture, please contact us:
- Developer: Zhou Hui (hxzhouh)
- Email: support@penyield.com / hxzhouh@gmail.com
- Official Domain: https://penyield.com
- Project Repository: github.com/hxzhouh/medium-helper