https://datalore.io has
(1) a reactive Datalore kernel that solves the reproducibility problem. It recalculates the code automatically when something is changed, and recalculates only the changed and the dependent code;
(2) good completion;
(3) online collaboration;
(4) read-only sharing;
(5) publishing;
(6) sensitive data can be saved in .private directory that is not exposed when the notebook is shared with read-only access