Privacy Policy — InstantIoT

Last updated: September 23, 2026

TL;DR
  • You choose where your data lives. Direct Mode and Server Mode work without any account with us, and your data never reaches us. InstantIoT Cloud is optional: it needs an account (an email address and a password), and your projects, devices and readings are then stored on our servers so your boards and your phone can reach each other from anywhere.
  • Crash and basic usage analytics via Firebase start only after you accept the Privacy Policy and Terms, are on by default from that point, and can be turned off at any time. They are technical and pseudonymous, and never include the content of your projects or sensor readings.
  • Notifications use Google (FCM) and Apple (APNs) to reach your phone. A push token is sent to the InstantIoT server that sends you alerts, and to no other.
  • No advertising. No data selling. No third-party tracking SDKs beyond Firebase Crashlytics and Firebase Analytics.

1. Who we are

InstantIoT is built and maintained by Djoufack Tsobeng Jean Loick (the « Maintainer »), operating under the brand InstantIoT.

This Privacy Policy covers the entire InstantIoT ecosystem:

  1. The InstantIoT mobile app for Android and iOS (this is the part that needs a privacy policy on the app stores).
  2. InstantIoT Cloud (instantiot.cloud), the hosted service run by the Maintainer, which you may choose to create an account on.
  3. The InstantIoT Server, an open-source (AGPLv3) self-hosted relay you can install on your own machine.
  4. The InstantIoT Arduino library (MIT), which runs on your ESP32 / ESP8266 / Arduino Uno R4 WiFi boards.

The Maintainer is the data controller for the diagnostic data described in Section 4 (Firebase) and for everything you store on InstantIoT Cloud (Section 6). The Maintainer is not a controller or processor for the data you exchange between your phone, your board, and a self-hosted server — that data flows between systems you own.

2. What InstantIoT does

InstantIoT lets you build dashboards on your phone to control and monitor IoT devices (typically Arduino / ESP32 boards) over Wi-Fi or Bluetooth. There are three ways to connect:

  • Direct Mode — your phone talks to a board directly, over the board’s own Wi-Fi network (SoftAP) that your phone joins, or over Bluetooth. No router and no server in the middle.
  • Server Mode — your phone and your boards both connect to an InstantIoT Server that you install yourself (on a computer, a Raspberry Pi, anywhere). Multi-device, time-series history. The server runs entirely on your infrastructure; we do not host it.
  • InstantIoT Cloud — the same relay, hosted by us at instantiot.cloud, so your boards and your phone can reach each other from anywhere. This mode needs an account, and the data you put there is stored on our servers. It is optional.

In Direct Mode and Server Mode, your project, your devices, and your sensor data stay on systems you own.

3. Data we do NOT collect

We do not, in any operating mode:

  • Ask you for a name, phone number, or postal address. The only identifier we ever ask for is the email address of an InstantIoT Cloud account, and only if you create one.
  • Send your IoT widgets, project configurations, dashboards, sensor readings, or device tokens to any server we operate unless you put them on InstantIoT Cloud yourself (Section 6).
  • Use advertising IDs or run advertising SDKs. The advertising-ID permission that Firebase would add is explicitly removed from the app.
  • Sell or share data with brokers, advertisers, or analytics resellers.
  • Track you across other apps or websites.

4. Data we DO collect (via Firebase, after your acceptance)

The mobile app integrates Firebase Crashlytics and Firebase Analytics from Google to help us catch bugs and understand how the app is used at an aggregate level. Both are off when the app is installed and stay off until you accept the Privacy Policy and Terms of Service on first launch. From that acceptance on they are enabled by default, and you can turn them off at any time from the Resources screen in the app; turning them off stops collection immediately.

When enabled, Firebase may collect:

  • Crash reports — stack traces of app crashes, the device model, the OS version, the app version. Used to fix bugs.
  • Anonymous usage events — for example: « the user opened Direct Mode », « the user added a widget », « the user signed in to a server ». No content. No personally identifiable information.
  • Pseudonymous device identifier issued by Firebase — used to deduplicate sessions, not linked to any user account on our side.

We do not link Firebase data to your IoT activity. Firebase data is processed by Google under Google’s Privacy Policy.

To disable analytics and crash reporting:

Mobile app → Profile → Privacy → Anonymous usage analytics: OFF

Disabling stops further collection. Past anonymous data already on Firebase is automatically deleted after Firebase’s standard retention window (typically 14 months for Analytics, 90 days for Crashlytics events).

5. Data stored locally on your device

The mobile app stores the following on your phone, using Android DataStore / iOS UserDefaults and Room SQLite:

  • Projects and dashboards you create
  • Widget configurations and their last-known values (for restoring state)
  • Connection settings (Wi-Fi SSIDs and passwords you entered for SoftAP devices, server addresses, session tokens for the servers and the Cloud account you signed into)
  • App preferences (theme, language, analytics setting, acceptance of the terms)

This data stays on your device and is stored in the app’s private storage. The database that holds session tokens and Wi-Fi passwords is excluded from Android and iCloud backups, so it does not travel with a device backup. Uninstalling the app removes it. You can also clear it from Android Settings → Apps → InstantIoT → Storage → Clear data.

6. Data on InstantIoT Cloud

If you create an InstantIoT Cloud account, the following is stored on servers operated by the Maintainer (hosted in Canada):

  • Your account: email address, a hash of your password (never the password itself), the date you accepted the terms, and your plan. Account emails (address verification, password reset) are sent to this address. We also send a short series of onboarding emails during your first week (getting-started tips); you can unsubscribe in one click from any of them.
  • Your projects, devices and dashboards, and the values your boards send, kept as history for the depth your plan allows and then deleted. Device tokens are stored hashed.
  • Your automation rules and the notifications they produce. A rule may send an email: it can only be sent to the email address of your own account.
  • Push tokens (Google FCM on Android, Apple APNs on iOS) so alerts reach your phone. A token is only ever sent to the server that will send you alerts, never to a self-hosted server you add.
  • Technical logs for a few weeks, with IP addresses truncated (the last byte of an IPv4 address, the last 80 bits of an IPv6 address are dropped).

InstantIoT Cloud data is hosted in Canada, which the European Commission recognises as ensuring an adequate level of data protection, so transfers of EU/EEA users’ data remain GDPR-compliant.

Boards and phones talk to the Cloud over TLS. Backups are encrypted before they leave the server. You can delete your account from the app at any time — see Deleting your InstantIoT account below.

The Cloud runs the same open-source relay as the self-hosted server.

Deleting your InstantIoT account and your data

This applies to the InstantIoT mobile app (Android and iOS) published by JeanLoick DT, and to the InstantIoT Cloud account you may have created in it. Direct projects and self-hosted servers hold no account with us: there is nothing to delete on our side.

How to delete your account — from the app, in four taps:

  1. Open InstantIoT and go to Profile (the icon at the top left of the home screen).
  2. Under Account, tap Delete my account.
  3. Confirm. The deletion is immediate and cannot be undone.
  4. You are signed out; the app keeps working for Direct projects without an account.

If you can no longer open the app (lost phone, uninstalled), send an email from the address of your account to rejoindre@instantiot.io with the subject « Delete my account ». We delete it within 7 days and confirm by email.

What is deleted, immediately: your account (email address, password hash, plan, acceptance date), your Cloud projects, dashboards and devices, the values your boards sent and their history, your automation rules and their notifications, and the push tokens of your phones. The account is also removed from the identity service. An active subscription is not refunded and must be cancelled in your Google Play or App Store account separately.

What is kept, and for how long: encrypted backups of the whole service, in which your data may still appear for up to 90 days after deletion (30 days on the server, 90 days off-site), after which they are rotated out; technical logs with truncated IP addresses, for a few weeks; and, if you subscribed, the purchase records that Google Play or Apple require us to keep for accounting. Anonymous usage analytics (Firebase) carry no account identifier and cannot be linked back to you.

Deleting some data without deleting the account: delete a project, a device or a rule in the app and its history goes with it, at once. Turn Anonymous usage analytics off in Profile → Privacy to stop analytics collection.

7. Data on your self-hosted InstantIoT Server (Server Mode)

If you choose Server Mode, you install and run the InstantIoT Server yourself. The server stores, on its own machine:

  • A database with: user accounts (you create them), projects, devices, widget definitions, time-series history of sensor values.
  • The key material used to sign authentication tokens.
  • Automatic backups, in a folder you configure.

The Maintainer never sees this data. You are the data controller for everything on your self-hosted server. Anyone you give access to that server can see what is on it; secure it accordingly.

The server is open source under GNU AGPLv3. You can audit it. Source: https://github.com/jeanloickdt/instantiot-server

8. Data flowing on your Arduino board (Arduino library)

The InstantIoT Arduino library, running on your board, transmits widget commands and sensor values over Wi-Fi, Ethernet, Bluetooth or a serial link to one of:

  • Your phone (Direct Mode),
  • Your self-hosted InstantIoT Server (Server Mode), or
  • InstantIoT Cloud over TLS, if your sketch connects to it (Section 6).

On ESP8266 boards, the library also asks a public time server (pool.ntp.org) for the time, once, so that it can check the server’s certificate. It does not connect to any other endpoint. The library is open source under MIT. Source: https://github.com/jeanloickdt/InstantIoT

9. Permissions used by the mobile app

The app requests the following permissions, only when needed:

Android

  • Bluetooth (BLUETOOTH_SCAN / BLUETOOTH_CONNECT and legacy variants on Android ≤ 11) — to discover and connect to Bluetooth-capable boards. The app offers Bluetooth boards and links by default; you can turn them off in Profile → Preferences → Bluetooth (experimental), which leaves the app on Wi-Fi only.
  • Wi-Fi (ACCESS_WIFI_STATE, CHANGE_WIFI_STATE, NEARBY_WIFI_DEVICES on Android 13+) — to scan for and join the SoftAP Wi-Fi networks broadcast by your boards.
  • Network (INTERNET, ACCESS_NETWORK_STATE, CHANGE_NETWORK_STATE) — required to reach your local Wi-Fi devices and any InstantIoT Server you connect to.
  • Location (ACCESS_COARSE_LOCATION on Android ≤ 12, ACCESS_FINE_LOCATION) — Android requires location permission to obtain Wi-Fi scan results on Android 12 and below. We do not access, store, or transmit your physical location; we only need the scan results. On Android 13+, this is replaced by NEARBY_WIFI_DEVICES which does not imply location.
  • POST_NOTIFICATIONS (Android 13+) — to show notifications when your automation rules trigger alerts. Asked only after you sign in to a server that can notify you.

iOS

  • NSBluetoothAlwaysUsageDescription — for Bluetooth discovery (preview).
  • NSLocalNetworkUsageDescription — required by iOS 14+ to communicate with local devices on your Wi-Fi.
  • NSBonjourServices: _instantiot._tcp — to discover InstantIoT Servers on your LAN via mDNS.
  • com.apple.developer.networking.HotspotConfiguration — to programmatically join the SoftAP Wi-Fi network of a board.

None of these permissions are used to collect personal data; they exist only to support the app’s core IoT functions.

10. Third-party services

Service Purpose Optional ? Where data goes
Firebase Crashlytics (Google) Crash reports for bug fixing Yes — off until you accept the terms, can be turned off Google servers under Google’s policy
Firebase Analytics (Google) Pseudonymous usage events Yes — same Same
Firebase Cloud Messaging (Google) / Apple Push Notification service Delivering alerts to your phone Only if you use a server that sends alerts Google / Apple, carrying the alert’s title and text
InstantIoT Cloud (the Maintainer) Hosted relay, if you choose it Yes — needs an account Servers operated by the Maintainer in Canada

The app does not embed any other third-party SDK that transmits data off-device.

11. Children’s privacy

InstantIoT is a maker / DIY electronics tool aimed at developers and hobbyists. It does not knowingly collect personal data from children. It contains no advertising and complies with Google Play’s Families program where applicable.

12. International users

The app can be used worldwide. Your IoT data stays on your phone and your self-hosted server, both of which are physically wherever you are. Firebase data (if you opt in) is processed by Google on infrastructure that may include the United States and the European Union; refer to Google’s policy for details.

If you are in the EU / EEA / UK, you have the right under the GDPR to access, rectify, erase, restrict, or port any personal data we hold about you. In practice:

  1. For your Cloud account, delete it from the app (Section 6): everything attached to it is removed. To export it first, email us.
  2. For analytics, turn them off in the app (Section 4), which stops further collection.
  3. For anything else, email us at rejoindre@instantiot.io — we will forward Firebase deletion requests to Google if needed.

13. Security

  • The mobile app keeps session tokens in its private storage, excluded from device backups. It sends a token only to the server that issued it, never to another address, and never on a plain-text connection to a server outside your local network without warning you first.
  • Passwords are stored hashed, never in clear. Session tokens are signed and short-lived; changing or resetting a password ends every existing session.
  • InstantIoT Cloud is reachable over TLS only. A self-hosted server supports TLS when you put it behind a reverse proxy with a certificate; in pure LAN mode, traffic is plain TCP / WebSocket within your network.
  • Bluetooth / Wi-Fi SoftAP communications are not encrypted by default beyond the link-layer protections of those protocols. If you transmit sensitive data, prefer Server Mode behind TLS.

14. Changes to this policy

We may update this policy when the app or the ecosystem evolves. Material changes will be reflected by updating the « Last updated » date at the top, and where appropriate, surfaced in-app at the next launch. Continued use after an update constitutes acceptance.

15. Contact

For any question about this policy, your data, or to exercise a privacy right:

The terms governing the use of the app are available at https://instantiot.io/terms-of-service/.