sodcalculator

10 Tech How-To

Smartwatch App Safety: How to Check Open Source Apps

Guide 10-12383 · Updated · Step by step

Open source smartwatch apps offer transparency and customization, but “open source” alone doesn’t guarantee safety. This guide walks you through a practical checklist—from reading source code to checking permissions—so you can decide with confidence whether an app is safe to install on your watch.

What You’ll Need

  • The app’s source code repository URL (usually on GitHub, GitLab, or Codeberg)
  • A web browser
  • Basic familiarity with reading a file list and looking at code (no programming skill required)
  • Your smartwatch’s app store or sideloading method (e.g., Wear OS, Garmin Connect IQ, or a custom firmware)

Step-by-Step

  1. Find the official source repository. Go to the app’s official website or its listing on your watch’s app store. Look for a link that says “Source Code,” “GitHub,” or “Repository.” If the app is only distributed as a binary file with no link to source code, treat it as a red flag—it may not truly be open source.
  2. Check the repository’s activity. Open the repo page. Look at the last commit date (the “commits” tab). If the last update was more than 12–18 months ago, the app may be unmaintained, meaning security issues are unlikely to be fixed. Also check the number of stars, forks, and open issues. A healthy project usually has recent activity and a maintainer who responds to issues.
  3. Read the README and documentation. The README should explain what the app does, what permissions it requires, and how to build it. If the README is missing, vague, or full of placeholder text, that’s a sign of low-quality or rushed development.
  4. Look at the file structure. Click into the main source folder (often called src, app, or lib). You should see a logical set of files. A typical watch app will have a few dozen files at most. If you see hundreds of files or obfuscated names like a1.js, b2.js, that could indicate code designed to hide its behavior.
  5. Search for suspicious permissions. Open the manifest file (for Wear OS, it’s AndroidManifest.xml; for Garmin, it’s manifest.xml). Look at the uses-permission entries. A simple watch face or timer app should only request things like VIBRATE, WAKE_LOCK, or BODY_SENSORS (if it measures heart rate). If a flashlight app asks for INTERNET, READ_CONTACTS, or ACCESS_FINE_LOCATION, that’s a major warning sign.
  6. Scan for network calls. If the app has internet permission, search the code for URLs. In most code editors, you can press Ctrl+F (or Cmd+F) and type http:// or https://. Every URL should point to a service the app legitimately needs (like a weather API). If you see an IP address, a URL with a weird domain, or a data-collection endpoint you don’t recognize, do not install.
  7. Check for obfuscated code. Look for long strings of base64 text, hex-encoded strings, or code that’s been minified (all on one line with short variable names). Legitimate open source apps are written to be readable. Obfuscation is a strong indicator of malicious intent.
  8. Review the release notes and changelog. On the releases page, see what the developer says changed in each version. If the changelog mentions “bug fixes” but the code diff shows new permissions being added, that’s a red flag. Read the actual code changes if you can.
  9. Search the web for the app name + “security” or “malware”. A quick search can reveal if the app has been flagged by security researchers or users. Also check the app’s issue tracker for any reports about suspicious behavior.
  10. Build the app from source yourself (optional but best). If you have the tools (e.g., Android Studio for Wear OS, or the Garmin SDK), download the source, build it, and install that build instead of a pre-compiled binary. This guarantees the code you reviewed is exactly what runs on your watch.
  11. Install and monitor. After installing, check your watch’s battery usage and data usage over the next few days. A well-behaved app should not drain battery significantly when idle. If you see unusual network activity or battery drain, uninstall immediately.

Common Mistakes

  • Assuming “open source” means “safe.” Anyone can publish code. Open source just means you can inspect it—it doesn’t guarantee anyone actually did.
  • Only checking the star count. Popularity doesn’t equal security. Some malicious repos are promoted with fake stars.
  • Ignoring the permissions. Many users tap “Allow” without reading what the app requests. Always compare permissions to the app’s core function.
  • Installing from a random APK link. If the developer links to a file hosting site instead of the app store or the repo’s release page, the binary might not match the source code.
  • Forgetting about the watch’s own OS. A safe app on an outdated watch OS can still be risky because the OS itself has vulnerabilities. Keep your watch updated.

Tips

  • Prefer apps from official app stores. Even for open source apps, installing via the official store (like Google Play for Wear OS) adds a layer of review and sandboxing.
  • Check if the app is on F-Droid. For Android-based watches, F-Droid only hosts apps whose source code is verified to build from source. This is a strong trust signal.
  • Look for a security policy. A good project will have a SECURITY.md file explaining how to report vulnerabilities. Its absence isn’t fatal, but its presence is a positive sign.
  • Use a spare watch if you’re testing. If you have an old smartwatch, test new apps there first before installing on your daily driver.
  • Learn to read a diff. When a new version comes out, look at the “Compare” view on GitHub to see exactly what changed. That’s where malicious code often sneaks in.

Troubleshooting

  • I can’t find the source code link. Try searching the app’s name on GitHub or GitLab directly. If you still can’t find it, the app may be “source-available” but not truly open source, or it may be a copy of another project. Proceed with caution.
  • The code is too complex for me to understand. You don’t need to read every line. Focus on the manifest, permissions, and network calls. If those look fine, you can also ask in the project’s issue tracker: “I’m considering installing this; can someone explain what this function does?” A responsive maintainer is a good sign.
  • The app requests a permission that seems odd. Look at the app’s documentation or issue tracker for an explanation. For example, a watch face might need INTERNET to fetch weather data. If there’s no explanation, ask the developer directly.
  • The build fails when I try to compile it. This is common. Check the README for build instructions, and ensure you have the correct SDK version. If the build instructions are outdated or wrong, that’s another sign of poor maintenance.
  • The app behaves differently than the source suggests. This can happen if the binary was compiled from a different version of the code. Compare the release date of the binary with the latest commit. If they don’t match, ask the developer for clarity.

Frequently Asked Questions

Q: Is it safe to install any app from F-Droid?
A: F-Droid verifies that apps build from their published source, which is a strong safety measure. However, it doesn’t guarantee the app is free of privacy issues—a developer could still collect data. Use the same checklist above.

Q: What if the app has no source code but claims to be open source?
A: That’s a contradiction. If there’s no repository, you cannot verify anything. Avoid installing it.

Q: Can a malicious app access my phone through my watch?
A: Yes, if the watch app has permissions that bridge to the phone (like Bluetooth or network access), it could potentially send data to your phone or read data from it. This is why checking permissions is critical.

Q: How often should I check for updates to the apps on my watch?
A: At least monthly. Open source apps get security fixes, but only if you install the updates. Enable auto-update if your watch OS supports it.

Q: What’s the difference between “open source” and “source-available”?
A: Open source means the license allows anyone to use, modify, and distribute the code. Source-available means you can look at the code but not necessarily modify or redistribute it. For safety checking, both allow you to inspect the code, but open source is more transparent about the development process.

Q: Does a high number of downloads mean the app is safe?
A: No. Malicious apps can have many downloads, especially if they’re promoted on social media or forums. Always do your own review.

Related

General steps for current mainstream versions; menus can differ by device and version. See the disclaimer or report an error.

More in this bed

The whole Tech How-To bed →