Skip to content

docs(privacy): correct privacy policy + README to match actual app behavior#218

Merged
yasirhamza merged 1 commit into
mainfrom
docs/privacy-readme-accuracy
Jun 12, 2026
Merged

docs(privacy): correct privacy policy + README to match actual app behavior#218
yasirhamza merged 1 commit into
mainfrom
docs/privacy-readme-accuracy

Conversation

@yasirhamza

Copy link
Copy Markdown
Owner

Pre-Play-submission accuracy pass over docs/PRIVACY_POLICY.md, README.md, and the rendered worker page. Every claim verified against code by two review agents (fact-checker: APPROVE after verification; adversarial Play-policy reviewer: 3 blockers found and fixed, re-review verified all fixes byte-level against DnsVpnService/CveRepository/UsageStatsScanner).

Key corrections:

  • DNS truth: the policy claimed DNS is "resolved locally — no traffic routed to external servers"; actually allowed queries forward to Google Public DNS (8.8.8.8, UDP/53). Now disclosed accurately (blocked = local NXDOMAIN, never sent).
  • Undisclosed endpoints: CISA KEV catalog + OSV Android DB (CveRepository, every 12h) and the HaGeZi blocklist feed added to the network table; stale MalwareBazaar direct-API row removed (descoped in MalwareBazaarApkHashFeed uses bazaar.abuse.ch/export/csv/recent/ — misses all APK-typed samples #146).
  • Undocumented permissions: PACKAGE_USAGE_STATS (optional, forensic timeline) and FOREGROUND_SERVICE_SPECIAL_USE added, with the matching "app usage events" Data Safety category.
  • Retention, log-line count, integrity-check wording, encrypted-at-rest caveat, six-gate description, README URL fixes, stale manifest/KDoc comments.

Verification: render_privacy.py invariants hold (18 H2 / 3 tables), 11/11 render tests, compileDebugKotlin clean (comment-only code changes). Follow-up: #217 (dormant ZimperiumIocFeed).

Closes #15

🤖 Generated with Claude Code

…havior

Pre-Play-submission accuracy pass, two-reviewer cycle (fact-checker +
adversarial Play-policy reviewer). Fixes:

Privacy policy:
- DNS Monitoring: retract false "resolved locally / no traffic to external
  servers" claim — blocked domains get a local NXDOMAIN, allowed queries
  are forwarded to Google Public DNS (8.8.8.8) over UDP/53; disclosed
  honestly incl. Data Safety in-transit line
- Network table: add CISA KEV + OSV endpoints (CveRepository), add HaGeZi
  blocklist feed, drop stale MalwareBazaar direct-API row (descoped #146;
  cert feed is a network-silent stub), ioc-data 5→6 GETs (OEM prefixes)
- Permissions: document PACKAGE_USAGE_STATS (optional usage-access for the
  forensic timeline) and FOREGROUND_SERVICE_SPECIAL_USE
- Retention: DNS events AND forensic timeline events auto-prune at 30 days;
  scan history indefinite; report log 300→500 lines; integrity check
  best-effort wording; encrypted-at-rest Android 8-9 caveat; 5→six-gate
  pipeline description; last-updated 2026-06-12

README:
- "No data transmitted to any server" → accurate feeds + optional-DNS wording
- rules-repo URL yasirhamza/android-sigma-rules → android-sigma-rules/rules
- privacy link → /privacy route

Comment-only code changes: stale "not Play-Store-reviewed" wording in
AndroidManifest.xml and DnsVpnService.kt KDoc.

cloudflare-worker.js re-rendered via scripts/render_privacy.py (11/11 tests).
Dormant ZimperiumIocFeed tracked separately as #217.

Closes #15

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@yasirhamza yasirhamza merged commit a9eed58 into main Jun 12, 2026
4 of 10 checks passed
@yasirhamza yasirhamza deleted the docs/privacy-readme-accuracy branch June 12, 2026 06:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Play Store: write privacy policy

1 participant