plotly / plotly.js

Open-source JavaScript charting library behind Plotly and Dash
https://plotly.com/javascript/
MIT License
16.95k stars 1.86k forks source link

Should the 'send to cloud' option be disabled by default? #316

Closed th0ma5w closed 5 years ago

th0ma5w commented 8 years ago

The CDN hosted version of the library includes the toolbar link to immediately copy the data elsewhere. It would be nice to use the CDN version without this seemingly insecure option that can be clicked accidentally. There does not seem to be a way to disable this option. The Codepen examples all use a custom build and not the CDN version, so this issue is not apparent on the examples.

Alternatively, perhaps hosting can be done at CDNJS or Google if this button is a condition of the cost of the CDN hosting.

etpinard commented 8 years ago

Please search http://community.plot.ly/c/plotly-js for the answer.

th0ma5w commented 8 years ago

Okay cool! I found http://community.plot.ly/t/plotly-privacy-policy/303 which denotes how to disable this functionality. I will break out the security, privacy, and sales funnel issues into separate issues since they are not resolved by the community. Thanks again, I didn't even think to check the forum!

etpinard commented 8 years ago

@th0ma5w issues

are all valid concerns. Thanks for reporting.

That said, from the perspective of this repo, they are all related to the same feature, So I merged the above three issues in this one. I hope you don't mind.

th0ma5w commented 8 years ago

Nope, don't mind. I thought perhaps there could be work on where the link points to to address some of these things individually? Anyway, makes sense to have it here. Plotly is so very wonderful and a powerful addition to the JS landscape. I can 100% see when the system was proprietary that the public sharing features were an integral part to the service, and even an absolutely wonderful idea for the concept of open data. Unfortunately not all data is open, and not all people immediately get some of the implications, at least in my opinion. I shared the library with some colleagues and afterwards noticed the button. I can of course tell them how to disable it, no big deal, but I wondered about the risk to the greater audience that may consume Plotly charts. Thanks for your work and putting up with my drama :P If I was a little more versed in the code base I could offer a commit. Perhaps it could just be a simple addition to the dictionary/map on the main object? Thank you so much!!

etpinard commented 8 years ago

Unfortunately not all data is open, and not all people immediately get some of the implications, at least in my opinion.

That's a very good point. I personally agree with you. But Plotly isn't my company, so I can't guarantee an outcome for this issue nor any short-term action.

At the moment, the workaround of least-friction is:

// include the call below once per page:
Plotly.setPlotConfig({
  modeBarButtonsToRemove: ['sendDataToCloud']
});

// then all subsequent 
Plotly.plot('graph', data, layout);

// won't show the send data to cloud mode bar button
nicolaskruchten commented 5 years ago

A few updates on the status quo as of today, which differs somewhat from March 2016 when this issue was opened:

th0ma5w commented 5 years ago

I will never use this in a corporate setting because the project insists on making available by default an option that sends all data across the public network. There is no way with this option enabled should anyone consider the product secure or private.

alexcjohnson commented 5 years ago

What we've been insisting on primarily is backward compatibility. This was originally linked to the v2.0 milestone, in recognition that we would like to change it but doing so can be considered a breaking change.

That said, in addition to the changes @nicolaskruchten points out above, plotly.js and its ecosystem have evolved in ways that both mitigate some of the original reasons to want this functionality, and strengthen the argument for removing it. So on balance we've become comfortable that the benefits of making this change in a minor release override our concerns about it being a breaking change. Scheduling it for inclusion in 1.43.

nicolaskruchten commented 5 years ago

(1.43.0 is out now out, so this button is gone by default on the CDN version)

sorenwacker commented 3 years ago

And how can we get it back? Cannot find a description anywhere.

nicolaskruchten commented 3 years ago

you can set the showEditInChartStudio option to true in config: https://plotly.com/javascript/configuration-options/#display-edit-in-chart-studio-modebar-button

sorenwacker commented 3 years ago

And with plotly.py ? I tried finding it.

nicolaskruchten commented 3 years ago

The same options work for Python, which you can pass in as documented here: https://plotly.com/python/configuration-options/