Repository navigation
v0.1.0
·
14 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
www 0.1.0
First public release. www is a private, security-hardened Android browser built on
android.webkit.WebView, forked from RSS — the feed reader is
gone, replaced by a full browser built on the same encrypted-storage, biometric-lock foundation.
Highlights
- Sandboxed rendering, verified not assumed — the WebView renderer runs under a distinct
Android UID (sandboxed_process0), confirmed directly on-device via process inspection, not
taken on faith - Encrypted local history and bookmarks — SQLCipher AES-256, passphrase-gated, never touches
disk unencrypted - App Lock — PIN, password, or pattern as an alternative to biometric-only, wrapping the real
database passphrase rather than sitting in front of it as a UI-only gate - Per-domain overrides — user-agent, JavaScript, cookies, and images can be set per-site,
independent of global defaults - Advanced Protection Mode aware — detects Android's device-wide Advanced Protection Mode
(API 36+) and locks Safe Browsing, Force HTTPS Only, Block Downloads, and Screenshot Protection
on while it's active - Local network access closed by default — no
ACCESS_LOCAL_NETWORKdeclared (Android 17+),
verified live: page content cannot reach the device's own LAN or router at all
Privacy controls
- Block third-party requests, per-toggle
- Strip tracking parameters (
utm_*,fbclid,gclid, and similar) from every URL before load - Choice of DNS-over-HTTPS resolver (Cloudflare 1.1.1.1 by default)
- Incognito mode — cookies, storage, and cache wiped after every page load, not just on close
- Granular clear-on-exit (cookies, site data, cache, this app's own logcat buffer, independently)
- IDN homograph protection — punycode conversion and script-mixing detection against lookalike
domains - Site Info panel — tap the address-bar shield for certificate issuer, validity dates, and
per-page blocked-request count - Block Downloads — refuse all file downloads outright, matching the AOSP reference WebView
shell's behaviour
Security
- Camera, microphone, and geolocation denied outright — no per-site prompt, because nothing is
ever declared to grant - No JavaScript bridge exposed to page content
allowFileAccess/allowContentAccessdisabled — pages cannot reach local filesnetwork-security-configtrusts system CAs only — rejects user-installed CAs, closing the
common MITM-via-sideloaded-certificate path most browsers leave open- Cleartext traffic forbidden at the OS level, independent of the in-app HTTPS-only toggle
- StrongBox / TEE hardware key isolation on supported devices; AES-256-GCM via Google Tink
- Signing-certificate tamper detection — refuses to run if re-signed with an unexpected key
- R8/ProGuard minification and resource shrinking enabled; reflection-dependent libraries
(SQLCipher, Tink, Room, EncryptedSharedPreferences) verified to survive shrinking intact
Appearance
- Themes: System / Catppuccin / Dracula / Ptyxis, multiple accent palettes
- Force-dark web content, wide viewport, swipe-to-refresh
- Collapsible Settings sections
Known limitations
- No extensions, no
about:config, no true per-profile incognito storage isolation — inherent to
building on WebView rather than a standalone engine - Request interception limited to
shouldInterceptRequest(no POST body access, no net-stack
hooks) - No find-in-page, no filter-list (EasyList/EasyPrivacy) parsing, no certificate pinning, no
Tor/Orbot proxying yet
Requirements
Android 13+ (minSdk 33). Built against compileSdk 37 / targetSdk 37.