{
  "id": 14631562,
  "title": "How I Actually Prove an Offline App Is Offline (Not Just Trust the Marketing)",
  "url": "https://urgent.news/2026/10/15/how-i-actually-prove-an-offline-app-is-offline-not-just-trust-the",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-15T06:43:16.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/getpocketcore/how-i-actually-prove-an-offline-app-is-offline-not-just-trust-the-marketing-65h"
  },
  "original_language": "en",
  "account": "Proving that an offline app is truly offline can be quite challenging, as it is an easy claim to make but one of the hardest to verify. To combat this, I built an offline AI app and conducted thorough testing to ensure its offline capabilities, which anyone else can replicate for any app claiming offline functionality.\n\nFirst, disable the network adapter completely, not just turn off Wi-Fi. Airplane mode and the Wi-Fi toggle leave more devices running than one might think, and on a laptop with an ethernet port, disabling the adapter through the operating system is the most foolproof method. This step is especially important as it provides an airtight seal against any internet connection. In the video, I demonstrate this particular disconnect method to show it's the most reliable.\n\nNext, monitor the filesystem for any activity from the app. On Windows, use Process Monitor filtered to the specific process and host drive, running for the entire session. This captures every file the app writes and where it writes them. In macOS, the equivalent tool is sudo fs_usage. This method catches any hidden caching, logging, or model file storage that a simple network check might miss, which is crucial for apps marketed as portable with no trace left behind.\n\nAfter disconnecting the device from the network, search the entire machine for any files or traces left by the app. Perform a full-disk filename and content search, focusing on configuration folders, temporary directories, and Windows registry entries. A zero result is the only acceptable grade. In my experience, someone tested my app and found traces after purchase, illustrating the importance of this step.\n\nFinally, test the app in scenarios it wasn't designed for to uncover potential issues. Launch the app on a cold boot with no network connection, rather than disconnecting after it has already started running. Many applications quietly download necessary resources during the first launch and then function offline seamlessly afterward. My initial testing on my development machine, which already had all model files and dependencies resolved, provided no meaningful results. This test is only valid if conducted on a fresh machine that has never encountered the app before, which is why the video version was filmed on a different laptop.\n\nThe strictness of these tests is essential because the users who truly care about offline AI applications are typically those who meticulously check such claims. A security consultant who contacted me about my app had already performed his own search before reaching out. If the app's claims fail this rigorous testing, it was never justified in the first place. If you possess a more effective method for detecting hidden network calls before they are actively monitored, I would be eager to hear about it. The app, for you to perform these tests, can be accessed at getpocketcore.com.",
  "summary": "\"Runs offline\" is the easiest claim in software to make and one of the least frequently checked. I build an offline AI app, so I'm on the hook for the claim — here's the testing I actually run, which is the same thing you could run against anything else that claims it. 1. Disable the network adapter, not just Wi-Fi. Airplane mode and the Wi-Fi toggle leave more running than people assume, and on…",
  "key_points": [
    "Disable network adapter completely, not just turn off Wi-Fi",
    "Monitor filesystem for app activity using Process Monitor (Windows) or fsusage (macOS)",
    "Search entire machine for app traces, aim for zero results"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}