Open-source project
woheller69/gptAssist avatar
woheller69/gptAssist

gptAssist: a WebView wrapper for ChatGPT that blocks everything else

gptAssist is a simple WebView wrapper for ChatGPT

463 stars46 forksJavaGPL-3.0

At a glance

What is it?
gptAssist is a small Android app that loads ChatGPT inside a WebView and blocks URLs the developer considers non-essential. It is a privacy-shaped client for people who already have a ChatGPT account and do not want a browser around it.
Who is it for?
gptAssist is for Android users who already have a ChatGPT account, want the chat in a single-purpose window, and accept that sign-up happens elsewhere. It is not for anyone who signs in with Apple, Microsoft or Google, and not for anyone who needs a guaranteed long-lived install: the README states the app will no longer work on certified Android devices after the identity-verification requirement takes effect in 2026/2027.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 119 days ago.
What is it written in?
Mainly Java, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What problem gptAssist solves, and for whom

The README describes gptAssist as "a simple WebView wrapper for ChatGPT" that "blocks all URLs which are not essential." That sentence is the whole product thesis. A mobile browser loading chatgpt.com pulls in analytics endpoints, CDN hosts, font services and whatever else the page decides to request. gptAssist puts the same site in an Android WebView and refuses the requests the developer did not classify as necessary. The audience is narrow and specific: someone with an existing ChatGPT account, on Android, who wants the chat interface without the rest of the browser. It is not a ChatGPT client in the API sense. There is no key to paste, no model picker, no token accounting. The app renders the web product, which means your account, your history and your plan limits are whatever the web product gives you. The README also lists file upload for analysis and voice input for conversations, both of which are features of the web interface rather than additions the app implements.

How the URL blocking actually works

The mechanism is a WebView with request interception. Android exposes shouldInterceptRequest on WebViewClient, and a wrapper app can inspect each outgoing URL, compare it against a list, and return an empty response for anything that fails the test. The repository is Java, and the README credits "parts from GMaps WV" (gitlab.com/divested-mobile/maps), another GPLv3 project by the same author family, which is where that interception pattern most likely originates. What matters for a user is the shape of the trade-off: the blocklist is a fixed list maintained in the source, not a filter you configure. If OpenAI moves a resource to a new hostname, the app can break in ways that look like a blank page or a spinner that never resolves. That is why the toggle exists. The README says you "switch on/off blocking by clicking the button at the top right" and that you can "swipe up a bit to hide the button." Unrestricted mode is the escape hatch, and it is also the honest admission that a static blocklist is brittle. The README does not document what the blocklist contains, so there is no way to audit the claim from the documentation alone; you would have to read the Java source in app/.

Installing gptAssist from F-Droid and signing in

The README points to F-Droid as the distribution channel, with the package name org.woheller69.gptassist and a "Get it on F-Droid" badge. There is no Play Store link and no APK download link in the README. The package name is the identifier you search for in the F-Droid client:

bash
org.woheller69.gptassist

The repository layout is a standard Gradle Android project: build.gradle and settings.gradle sit at the root, the Android module is in app/, and the Gradle wrapper scripts gradlew and gradlew.bat are checked in. The README documents no build steps, so the wrapper scripts are the only build entry point visible in the repository listing. Once installed, the first run has a constraint the README states plainly: the app "does not support login via Apple, Microsoft or Google account," and it advises you to "use a web browser for initial sign up." In practice that means creating or already owning an email-and-password ChatGPT account, signing in through a normal browser, then opening gptAssist and authenticating with those credentials inside the WebView. If your account was created through a social provider, the app is the wrong tool and no amount of toggling fixes it. The interface itself is one screen: a chat view, a button at the top right for the blocking toggle, and a swipe gesture to hide that button. The README documents no settings screen, no theme options and no export.

Where the wrapper approach breaks down

Three limitations follow directly from the design. First, the blocklist is static and undocumented. Any change to the ChatGPT front end that introduces a new required host can produce a broken page, and the only remedy the README offers is turning blocking off. Second, authentication is constrained. Social sign-in is out, and the README says nothing about multi-factor prompts, session expiry or what happens when the WebView cookie jar is cleared, so those are unknowns rather than guarantees. Third, and largest, is the platform notice at the top of the README: Google has announced that starting in 2026/2027 all apps on certified Android devices will require the developer to submit personal identity details directly to Google, and since the developers of this app do not agree to that requirement, "this app will no longer work on certified Android devices after that time." That is a stated end-of-life, not a rumour. Anyone evaluating gptAssist for a long deployment should read it as a project with a known expiry on mainstream hardware. The README does not describe a workaround, a fork policy or a migration path.

gptAssist versus just using the ChatGPT app

The obvious alternative is OpenAI's own Android app, and the difference is architectural rather than cosmetic. The official app is a native client that talks to OpenAI's services directly and is distributed through Google Play, which means it carries Play Services, whatever analytics the vendor ships, and the same developer-identity requirement that gptAssist's authors are refusing. gptAssist instead renders the web page and filters its network traffic, so the trust boundary is different: you are trusting a small GPLv3 codebase to intercept requests correctly, rather than trusting a large vendor's SDK. The cost is fidelity. A WebView can lag behind the web interface, voice input depends on WebView microphone permissions, and file upload goes through the browser file picker rather than a native share sheet. If you want the most reliable ChatGPT experience on Android, the official app wins. If you want the fewest parties in the request path and you accept a static blocklist, gptAssist is the trade in the other direction.

Licence, maintenance and what an upgrade costs

gptAssist is licensed under GPLv3, and the README notes it uses parts from GMaps WV, also GPLv3. For an end user this changes nothing. For anyone who wants to ship a modified build, GPLv3 means the source of your distributed version has to be available under the same terms, and the licence text sits in LICENSE at the repository root. Maintenance signals are mixed. The last push to the default branch was on 2026-05-19, which is recent, and the release history shows V2.20 on 2025-09-01, V2.30 on 2025-10-10 and V2.40 on 2026-03-02, so releases have been roughly every few months. The repository is not archived. What the README does not provide is any upgrade guidance: no changelog in the README, no note on whether settings survive an update, no rollback instructions. Since the app stores a session inside a WebView, a reinstall or a data clear will at minimum require signing in again, and the README is silent on anything beyond that.

Editorial conclusion

gptAssist is for Android users who already have a ChatGPT account, want the chat in a single-purpose window, and accept that sign-up happens elsewhere. It is not for anyone who signs in with Apple, Microsoft or Google, and not for anyone who needs a guaranteed long-lived install: the README states the app will no longer work on certified Android devices after the identity-verification requirement takes effect in 2026/2027. Before installing, confirm your sign-in method is email and password, and check the F-Droid listing for the current version, since the README documents the blocking toggle but not rollback or a downgrade path.

Frequently asked questions

What is gptAssist?

It is a simple WebView wrapper for ChatGPT on Android that blocks all URLs the developer considers non-essential. The README describes it as privacy-focused, with a clean chat interface and no browser distractions.

How do I install gptAssist?

The README links to F-Droid under the package name org.woheller69.gptassist. There is no Play Store or direct APK link documented.

Can I log in to gptAssist with my Google or Apple account?

No. The README states the app does not support login via Apple, Microsoft or Google account, and advises using a web browser for initial sign up.

Why is the ChatGPT page broken in gptAssist?

The app blocks URLs that are not on its list, and that list is maintained in the source rather than configured by the user. The README's remedy is the toggle at the top right, which switches blocking off.

Will gptAssist keep working on Android?

The README states that Google's identity-verification requirement for certified Android devices starts in 2026/2027, and that because the developers do not agree to it, the app will no longer work on certified Android devices after that time.

What licence is gptAssist under?

GPLv3, according to the README and the LICENSE file at the repository root. The README also notes the app uses parts from GMaps WV, which is GPLv3 as well.

Official sources

  1. Issues
  2. License: GPL-3.0
  3. README
  4. Releases
  5. woheller69/gptAssist on GitHub
Community notes

Community notes