# Fossify Messages: an ad-free Android SMS and MMS client

> Fossify Messages is a GPL-3.0 Kotlin Android app for SMS and MMS with blocking, backup and no internet permission. It is built for people who want a plain messaging client, not a Google account.

**FossifyOrg/Messages** — An easy and quick way of managing SMS and MMS messages without ads.

- Repository: https://github.com/FossifyOrg/Messages
- Website: https://www.fossify.org
- Stars: 1,573 · Forks: 186
- Language: Kotlin
- License: GPL-3.0
- Published: 2026-08-04 · Updated: 2026-08-18 · Language: en
- Canonical page: https://hysenlabs.com/projects/fossifyorg-messages

## What Fossify Messages replaces, and for whom

The default SMS app on most Android phones is tied to a vendor account and, in Google's case, to RCS and a web client. Fossify Messages takes the opposite position: it is a local SMS and MMS client with no ads and, according to the README, no internet connection requirement. The README states that the app operates without requiring an internet connection and does not request unnecessary permissions.

That shapes the audience. It suits someone who wants their text threads to stay on the handset, who dislikes ad-supported messaging apps, and who is willing to give up RCS features and a browser tab in exchange. It is a poor fit for anyone whose daily messaging happens inside a Google or Apple ecosystem where the other party expects read receipts, typing indicators or high-resolution media over RCS. The README describes SMS and MMS only; it does not claim RCS support anywhere.

## How SMS, MMS and blocking work in the app

The repository is a standard Android Gradle project: a single app/ module, build.gradle.kts and settings.gradle.kts at the top level, detekt.yml and lint.xml for static analysis, and fastlane/ for store metadata. The primary language is Kotlin, and the licence is GPL-3.0. That layout tells you this is a conventional Android application rather than a library or a service, so all of its behaviour runs on the device.

The README describes the feature set in terms of what the user does. Messages are sent as SMS or MMS, including SMS/MMS based group messaging, with photos, emojis and quick greetings. Blocking works on numbers, and the README says blocked numbers can be exported and imported for backup. There is also a content filter: the README states you can prevent messages containing specific words or phrases from reaching your inbox. Backup is the same export and import mechanism applied to messages themselves, which the README frames as the way to move conversations to a new device.

Search is described as a quick retrieval feature rather than a full-text index, and the lock screen behaviour is configurable: show only the sender, show the message content, or show nothing. The README also mentions a material design interface with a dark theme. None of these are unusual for an SMS client; the distinguishing choice is that the app is positioned as offline by default.

## Installing Fossify Messages and sending a first message

The README does not contain build instructions. It points to three distribution channels instead: Google Play under the package id org.fossify.messages, F-Droid at f-droid.org/packages/org.fossify.messages/, and the IzzyOnDroid repository. The Play and F-Droid badges in the README link to exactly those addresses, so the practical install path is a store listing rather than a manual APK download.

If you install from F-Droid, the package name is what you search for:

```bash
org.fossify.messages
```

On first launch Android will ask whether Fossify Messages should be the default SMS app. That prompt is a system requirement for any app that sends and receives SMS, and it is the step that grants the app access to your message store. The README does not document this dialog, but it follows from the app being an SMS client.

After that, sending a message is the expected flow: open the app, start a conversation, type, and send. To test the backup path before you rely on it, use the export and import options the README describes for messages, and separately for blocked numbers. The README treats both as user-facing features, so they should be reachable from the app's settings rather than from a command line.

## Where Fossify Messages is the wrong tool

The clearest limitation is protocol coverage. The README talks about SMS and MMS, group messaging over SMS/MMS, and media in that context. It says nothing about RCS. On networks and carriers where RCS has become the default for one-to-one chats, a plain SMS client will fall back to SMS, which means no end-to-end encryption, no typing indicators and lower media quality. If those matter to you, this is not the app to choose.

Platform coverage is the second boundary. The repository is an Android app written in Kotlin with a Gradle build; there is no desktop client, no web client and no iOS target in the top-level layout. The README's own framing, that the app works without an internet connection, also means there is no server-side sync to fall back on. Moving to a new phone depends on the export and import feature, and the README does not document what happens if that export is partial or if the import encounters an existing thread with the same contact.

Finally, the blocking and keyword filters are described as inbox-level rules. The README does not say whether a blocked sender's messages are discarded or stored somewhere retrievable, which is the detail that decides whether the feature is safe for someone who might need to audit a blocked conversation later.

## How it differs from Google Messages and QKSMS-style clients

Google Messages is the obvious alternative, and the difference is architectural rather than cosmetic. Google Messages is built around a Google account and RCS, with a paired web client and cloud-backed features. Fossify Messages is built around the local SMS and MMS store, and the README states it operates without requiring an internet connection. That single constraint explains most of the other differences: no web pairing, no account, no server-side sync, and backup by export and import instead of by cloud restore.

The second comparison is against older open source SMS clients such as QKSMS. Those projects share the same SMS/MMS scope and the same local-only model, so the meaningful difference here is maintenance and packaging: Fossify Messages has releases 1.9.1, 1.9.0 and 1.8.1 dated 2026-07-19, 2026-07-12 and 2026-07-09 respectively, and the last push to the main branch was on 2026-07-19. A reader comparing abandoned SMS clients should weigh that release cadence, not the feature list, which is broadly similar across this category.

## Maintenance, licence and what upgrading costs you

The repository is not archived, and the last push to main was on 2026-07-19, with release 1.9.1 published the same day. Three releases landed within ten days in July 2026, which suggests version bumps are frequent, but the README does not describe a release policy, a support window or a migration process between versions. There is a CHANGELOG.md at the top level, so release notes exist in the repository, and that is where an upgrade decision should start.

The practical upgrade cost for an Android app is low: store-delivered updates do not require you to rebuild anything. Building from source is a different matter. The repository ships gradlew, gradle.properties, a keystore.properties_sample and a Gemfile, which implies a Gradle and Fastlane toolchain for anyone producing their own build. The README does not document that build process, so a self-builder is working from the repository files alone.

The licence is GPL-3.0. That is a copyleft licence, which matters if you intend to redistribute a modified build: derivative distributions generally have to carry the same licence. If you are only installing the app on your own phone, the licence imposes no practical obligation on you. This is a summary of the licence identifier in the repository, not legal advice; read the LICENSE file for the actual terms.

## Conclusion

Adopt Fossify Messages if you want a local SMS and MMS client with blocking, export and import, and no ad or network dependency, and you accept that it is a phone app with no web or desktop client. Do not adopt it if you need RCS, a browser interface, or an iOS build; none of those appear in the repository. Before switching, verify that your carrier still routes your messages over SMS and MMS, then export your current conversations from your existing app and import them into Fossify Messages to confirm the backup path works on your device.

## FAQ

### How do I install Fossify Messages on Android?

The README links to three distribution channels: Google Play under the package id org.fossify.messages, F-Droid at f-droid.org/packages/org.fossify.messages/, and the IzzyOnDroid repository. The README does not include build-from-source instructions.

### How do I use Fossify Messages instead of Google Messages?

Install it from one of the store links in the README, then set it as the default SMS app when Android prompts you, which is what grants access to your messages. The README describes SMS and MMS sending, blocking, search and export/import as the core features, and does not mention RCS.

### Does Fossify Messages need an internet connection?

No. The README states that the app operates without requiring an internet connection and does not request unnecessary permissions. That also means there is no web client or cloud sync.

### Can I back up and move my messages with Fossify Messages?

The README describes export and import for messages, and the same export and import for blocked numbers. It does not document what happens to an existing thread when an import contains the same contact.

### How do I block a number or filter messages in Fossify Messages?

The README says you can block unwanted messages, including from unknown contacts, and that blocked numbers can be exported and imported. It also states you can prevent messages containing specific words or phrases from reaching your inbox.

## Sources

- [Official documentation](https://www.fossify.org)
- [Official README](https://github.com/FossifyOrg/Messages#readme)
- [Project repository](https://github.com/FossifyOrg/Messages)
- [Release notes](https://github.com/FossifyOrg/Messages/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/fossifyorg-messages
