Skip to content

Data and Privacy

Nick Briz edited this page Oct 31, 2022 · 1 revision

Don't get us started on "privacy policies", these days companies extract as much data as algorithmically possible—almost entirely unregulated—while they keep their code entirely private, protected by "intellectual property" laws (code which would otherwise reveal the egregious extent of their exploitation) At netizen.org we are strong advocates of privacy and transparency, which is why we've gone against industry norms to design netnet in a way that gives you unprecedented control over your data while giving us as little access to it as possible.

Your Session Data

Any data about you that netnet saves, whether it's personal data like your name or behavioral data like which widgets you've got opened and where you've placed them, is stored entirely locally in your browser on your computer and made accessible to you via the Your Session Data widget (which is linked to throughout netnet, but can also be found in the Functions Menu by clicking viewYourData() as well as discoverable through the search bar) where you can not only inspect all the locally stored data, but also delete it if you'd like. NOTE when working on a public computer (say at a library or school), it's not a bad idea to delete your data using this widget once you're done working.

Saving your data locally like this allows netnet to function as you'd expect, conveniently storing your info without having to send any of the data to our server, meaning your data is kept private. There are a couple of exceptions where data is sent to (and occasionally stored) on our server which we explain below.

Analytics

We do store some server analytics, in order to make sure things run smoothly and to gain some high level insight on our traffic. This includes how many requests we're getting, when we're getting them, what sort of devices their coming from (operating system and browser) and where in the world they're coming from. In order to be 100% sure we're not unintentionally sharing any data with third parties (which has happened to even the best intentioned web developers) we wrote our own custom analytics code from scratch (no google analytics here!).

to save or not to save?

Besides our analytics data, the only other data we occasionally store is any code you're working on that you deliberatly choose to save. This works a little differently depending on whether you're saving a "sketch" or a "project" (refer to our Sketching docs for more on that distinction)

saving sketches

When you save a sketch you're working on (either by clicking saveSketch() in the function menu or using the Ctrl+S (CMD+S on Mac) shortcut keys) netnet will temporarily save your progress locally to your browser's session data (nothing is sent back to the server). Upon saving your sketch's progress, netent will give you the option to download your sketch as an HTML file to your computer or to share your sketch.

Choosing to share your sketch will open up the Share Sketch widget which you can use to create a custom data URL for your sketch. This is a URL which stores a compressed version of your sketch in the URL itself (it's not being saved on any computer). These URLs can get really long, so netnet will also give you the option to create a "Short URL", when you do this we will save your sketches code on our server (this is necessary in order to create the short URL) but we do not associate this sketch with any metadata (like your name, location or any other personal info).

The last option netnet gives you when you temporarily save your sketches progress is to "create a new project", which also involves storing some of your data...

saving projects

Because netnet isn't meant to replace traditional developer tools, but rather provide a lower barrier to entry for the artistically inclined who are beginners to creative coding, we encourage folks to save their projects as "repositories". A repository, or "repo" for short, is a way of not simply saving your most recent changes to your code, but also all the changes you make while developing your project. "Versioning" your project this way also opens the door to other possibilities like creating alternative versions of the same project and even collaborating with others on shared code bases. While this can all get pretty complicated, on netnet we start off slow with the basics: you first need to create a free account on GitHub, which is the most popular (though not the only) online platform for storing your repos, as well as collaborating with other developers. Once you've created a GitHub account you can connect netnet to it by choosing to "Log In" in the functions menu. This will store some info locally in your Session Data (like your GitHub username and project names) but it will also grant netnet the ability to save any projects you work on as "repos" on your GitHub account. In order to do this, some data is sent to (&& temporarily stored) on your servers. When you first create a new project, the code associated with that project is sent to our servers so that we can pass it along to GitHub to store in your account. After that, every time you "save" your progress (Ctrl+S or CMD+S on Mac) we'll store that progress temporarily on our server as well as locally in your session data. When you choose to "push" those changes to your GitHub we'll pass that along to GitHub and later delete it from our servers after it's been stored safely on your GitHub account.

Clone this wiki locally