Privacy policy

This is the privacy policy for the Android app Octi - Multi-Device Sync (package eu.darken.octi), written and published by Matthias Urhahn (darken).

Last updated: 22 September 2026

Summary

Octi lets you check your other Android devices’ battery, network, clipboard and installed apps, and send files between them. You choose how the devices exchange this data.

If something here is unclear, send a quick mail and I will answer it. My underlying privacy principle is the Golden Rule.

What Octi reads from your device

Octi is built from modules. Battery, connectivity, WiFi, installed apps, clipboard and file transfer each have an on/off switch in the app’s settings. Basic device info is always part of a sync, because without it the other devices cannot tell which device they are looking at.

Module What it reads and syncs
Battery Charge level, charging state and speed, time estimates, and battery health
Connectivity Connection type, your local and public IP address, gateway and DNS servers
WiFi Network name (SSID) and signal quality
Clipboard Only text you explicitly send with the share action or the clipboard widget. Octi does not watch your clipboard in the background.
Installed apps Which apps are installed, with their versions and install times
Device info A device ID generated by Octi, a device name you can set, model and device type, Android version, uptime, and the Octi version
File transfer Only files you explicitly pick to send, with their name, type and size

This information is shown on your own devices, and nowhere else. It is not sent to me, and no part of it is used to build a profile, to advertise, or to train anything.

Turning a module off stops it collecting and syncing new data. Transfers and deletions for files already shared continue in the background until they finish.

How your devices exchange this data

Octi shares data between your own devices, not with other users. Each device writes its data to Octi Server or Google Drive for your other devices to read. You choose which service each device uses.

Octi Server

Octi Server is an open-source sync server. I run one, and you may also host your own.

Module data and transferred files are encrypted on your device with AES-256 authenticated encryption before they are uploaded. The encryption key is generated on your device and travels between your devices in the QR code you scan when linking them. It is never sent to the server, so the server, and therefore I, cannot read the contents of your synced data.

The following is not encrypted, so the server can read it:

Creating an account requires no email address, no password and no personal details.

You can delete everything the server holds for you from inside the app, by deleting your account. Unused data is also removed on its own: a device that has not contacted the server for 90 days is deleted together with its synced data, and an account that is left with no devices is deleted too.

Google Drive

If all your devices are signed in to the same Google account, Octi can use Google Drive instead of a server. See Google user data below for the full detail of what this involves.

Data stored this way is not end-to-end encrypted. It is held in Drive’s hidden application data folder, which only Octi can access, and it is protected by your Google account rather than by a key only your devices know. If you sync over Google Drive, you and Google can access that data. I cannot.

Public IP address lookup

The connectivity module shows your device’s public IP address. A device cannot determine its own public address by itself, so it asks an Octi Server. Any Octi Server you have configured is asked first, and the default Octi Server that I run is always kept as a last fallback, including when you have configured your own.

The server sees your public IP address when it answers the lookup. Nothing else is recorded for it. Turning off the connectivity module stops these requests.

Google user data

This section covers Octi’s use of Google account data and the Google Drive API. It applies only if you connect a Google account for Drive syncing. If you only use Octi Server, Octi requests no Google data at all.

Which permissions Octi requests, and why

OAuth scope What Octi does with it
https://www.googleapis.com/auth/drive.appdata Reads and writes the device state and transferred files your other devices need, inside Drive’s hidden application data folder. This folder is created for Octi, is not visible in your Drive file list, and cannot be read by other apps.
openid, email Reads the account ID and email address of the account you picked, so the app can label it in the account list and check that every device is linked to the same account.

Octi requests no other scope. It cannot list, open, create or delete your ordinary Drive files, documents, photos or folders, and it never asks you for that permission. The drive.appdata scope grants access to Octi’s own hidden folder only.

What is stored, where, and for how long

Sharing

Google user data obtained through these scopes is not shared with anybody. It is not sent to me, to an analytics provider, to an advertiser, or to any other third party. The only parties involved are your devices and Google.

One exception is under your control: a debug log that you generate and share yourself can contain your Google account ID and the email address of the connected account.

Removing it

Limited Use

Octi’s use and transfer of information received from Google APIs to any other app will adhere to the Google API Services User Data Policy, including the Limited Use requirements.

Octi does not use or transfer Google user data for advertising, sell it, or allow anyone other than you to read it.

Android permissions

Location

Viewing information about your current WiFi network requires location permission (ACCESS_COARSE_LOCATION / ACCESS_FINE_LOCATION) on newer Android versions. Android treats nearby WiFi networks as location data, because knowing which networks are around you narrows down where you are.

Granting it is optional. Without it, Octi simply does not show things like the WiFi network name. Octi does not request GPS coordinates and does not track your location.

Camera

The camera (CAMERA) is used to scan QR codes, which is how two devices are linked: one device shows a QR code holding the account data, the other scans it. Camera frames are processed on the device to find the code and are never stored or transmitted.

Query installed apps

Showing which apps are installed on your other devices requires QUERY_ALL_PACKAGES.

This list is visible only to you, on your own devices. When you sync over Octi Server, it is encrypted both during transfer and while stored. It can also appear in a debug log that you choose to generate and share.

Debug log

A debug log is a detailed record of what Octi is doing, used to investigate problems. Recording starts only when you turn it on in the app’s settings. You can share the log file through Android’s sharing menu, for example by emailing it to me.

This file can contain sensitive information, such as your list of installed apps, your WiFi network name, or the Google account ID and email address of a connected Google account. Only share it with people you trust.

Changes to this policy

Changes are published on this page, with the date at the top updated. The revision history of this document is public in the app’s repository.

Contact

Matthias Urhahn (darken), support@darken.eu