Does a plotly dash dashboard publish data online?

5.4k views Asked by At

I am confused about the privacy of plotly and dash hosted locally through flask.

Given a project of hosting a dash dashboard with Flask to users on my local network:

If I deploy a Dash app using a Flask server as per the user guide to deployment (https://plot.ly/dash/deployment), i.e.:

import flask
import dash

server = flask.Flask(__name__)
app = dash.Dash(__name__, server=server)

If I serve data to the dash app, is this published online anywhere (i.e. the plotly website)?

What if I create a graph such as a plotly.graph_objs.Figure in a dash_core_components.Graph? Will data served to this figure be published online? Or do I have to specify using plotly.offline.plot to ensure it doesn't connect to an external server, similar to a notebook using plotly?

3

There are 3 answers

1
Maximilian Peters On BEST ANSWER

The documentation is indeed a bit confusing. Based on the four points below I would assume that no data is uploaded to the cloud.

  • Your Flask app needs to be explicitly uploaded to the cloud, otherwise nothing will happen (https://plot.ly/python/create-online-dashboard/#upload-dashboard).

  • In addition you don't need a Plotly account to create a Dash app, but you do need an account to upload a graph.

  • Dash works locally without an internet connection, so no data can be uploaded

  • There is no code indicating upload in the Dash code
0
Ryan Boch On

As far as I can tell from various documentation or comments, plotly does not upload data to the cloud.

This is documented for the R version of plotly

Comment here on dash community forum specifically states no data is sent to the cloud.

I also spoke with a representative from Dash. Their commercial enterprise version is deployed on-premises or in the public cloud, so it appears the only time data would be uploaded into the cloud is if you have Dash Enterprise set up on the cloud.

See also: https://dash.plot.ly/deployment

3
WillJones On

I have recently been looking into this, as I shared your concern. What I found was that my data was being uploaded when I clicked the "Edit in Chart Studio" button. Using Dash, you can remove this button from your graphs with the following code:

import dash_core_components as dcc
dcc.Graph(
    id='test-div',
    config={'modeBarButtonsToRemove': ['sendDataToCloud']}
)