RFChat Privacy Policy

Effective date: July 16, 2026 · Last updated: July 16, 2026

The short version. RFChat has no servers, no accounts, no analytics, and no ads. The app never connects to the internet. Everything you create stays on your device — except what you deliberately transmit over amateur radio, which is public by the nature of radio.

Callsign and Node Identity

Your callsign is entered by you and stored only in the app’s local preferences on your device. It is included in every frame you transmit, as amateur radio regulations require. RFChat can also generate an Ed25519 key pair to sign your messages; the private key is created on your device, stored in the system Keychain, and never leaves the device. Only the public key is ever broadcast.

Messages and Directed Messages

Messages you send and receive are stored in a local database on your device. When you transmit, your message travels over a shared radio frequency: any station listening on that frequency can receive and store it, whether or not it was directed at them. Directed messages (@CALLSIGN) are addressed and may be signed, but they are not encrypted and not private — amateur-band rules prohibit encrypting message content.

Location Data

Bluetooth and Local Network Access

RFChat asks for Bluetooth permission solely to communicate with your BLE KISS TNC, and for Local Network permission solely to reach a KISS-TCP modem (such as Dire Wolf) on your own network. Neither permission is used for scanning, advertising, tracking, or any purpose beyond the TNC link you configure.

Local Storage

Messages, rooms, peers, positions
Local SQLite database on your device
Callsign, preferences, room list
Local app preferences (UserDefaults)
Ed25519 private key
System Keychain; never transmitted
Callsign directory
Offline database bundled with the app; lookups never touch any network

Diagnostics and Connection Logs

The Monitor pane shows recent raw frames for debugging. This view is kept in memory only, is capped in size, and is never written to disk or sent anywhere. RFChat contains no crash reporting or diagnostic upload of any kind.

Data Sharing

We do not collect your data, so we cannot share or sell it. RFChat sends data to exactly one place: the radio channel, when you transmit. No data is ever sold to advertisers or shared with any company.

Third-Party Services

None. RFChat uses no analytics, no advertising SDKs, no crash reporters, and no cloud services. The app’s Apple privacy manifest declares zero collected data types and no tracking. The only third-party components are open-source libraries that run entirely on your device (a local database engine and an animation renderer).

Data Retention and Deletion

Everything RFChat stores lives on your device and remains until you remove it. Leaving a room removes it from your room list. Deleting the app deletes the entire local database, preferences, and keys. There is no server-side copy to delete — none exists. Note that messages you have already transmitted may have been received and stored by other stations, which is inherent to radio and outside anyone’s control.

Children’s Privacy

RFChat is not directed at children. Transmitting on amateur bands requires an amateur radio license issued in your jurisdiction. The app collects no personal information from anyone, including children.

Security

Message content cannot be encrypted on amateur bands, so treat everything you transmit as public. For authenticity, RFChat supports Ed25519 signatures: the app remembers each station’s public key and warns you if a station’s key suddenly changes. Private keys stay in the system Keychain on your device.

Policy Changes

If this policy changes, the new version will be posted at this address with an updated date. Because RFChat has no accounts or messaging infrastructure, we cannot notify you individually — check this page after major app updates.

Contact

Privacy questions: raguchiindo@gmail.com