Skip to content

No way to use a local AirGradient server without leaking data to AirGradient Cloud #339

@mtlynch

Description

@mtlynch

I appreciate that there's an option during WiFi setup to disable outgoing connections to AirGradient Cloud. The problem is that the setting actually disables connections to any server.

For privacy reasons, I'd like to prevent my AirGradient ONE from sending data to AirGradient Cloud, but I'd like to configure my device to send data to my own AirGradient endpoint that implements the same HTTP APIs as AirGradient Cloud.

It seems like I have two options:

  1. During initial WiFi setup, choose the option to disable connections to AirGradient Cloud.
    • Result: I cannot collect data from my AirGradient device at all
  2. During initial WiFi setup, allow my device to make outbound connections to AirGradient Cloud, then set httpDomain to my server after device has booted.
    • Result: I can collect data from AirGradient locally, but it still sends data to AirGradient Cloud until I override httpDomain, leaking private data to third-party servers.

Proposed fix

Setting httpDomain should override disableCloudConnection.

If the user is setting a custom domain, it should be safe to assume they want to connect to it. disableCloudConnection just indicates that the user wants to avoid connecting to AirGradient's servers specifically.

Alternative fix

Make it possible to change the disableCloudConnection after initial WiFi setup. That would at least allow the user to do a flow like:

  1. Set disableCloudConnection to true on initial WiFi setup
  2. Specify a custom httpDomain
  3. Set disableCloudConnection to false after httpDomain has a domain the user controls.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions