1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-12-27 18:40:28 +00:00

Privacy docs suggestions from @ericshulman

This commit is contained in:
Jeremy Ruston 2024-11-17 17:31:38 +00:00
parent 7f730b7cbf
commit 8151942bd4

View File

@ -1,49 +1,46 @@
title: TiddlyWiki Privacy and Security
created: 20241106165307259
modified: 20241106165307259
modified: 20241117170845666
title: TiddlyWiki Privacy and Security
<span class="tc-float-right tc-bordered-image">[img width=200 [TiddlyWiki Privacy Badge.png]]</span>
TiddlyWiki is unique in that ordinary people without special training can use it securely and privately. It is easy to apply the advice from the EFF to ~TiddlyWiki. The key is that ~TiddlyWiki is just a text file, or a folder of files. Everything that users may have already learned about how to keep documents and images private can be applied to ~TiddlyWiki.
Because data is stored in simple text files, people choosing to use ~TiddlyWiki today can be confident that their data will still be accessible in the decades to come.
! Verifiable Trust
An important aspect of ~TiddlyWiki's claims in the area of security and privacy is that these claims can be readily verified by anyone with basic technical skills. For example, the network monitoring tools built into browsers allow users to verify that ~TiddlyWiki doesn't send any data to other servers. Similarly anyone can open a ~TiddlyWiki HTML file in an editor and verify that their data is readily accessible.
''TiddlyWiki is unique in that ordinary people can use it securely and privately without any special training.'' The key is that ~TiddlyWiki is just a text file, or a folder of files, so everything that you may already know about how to keep your documents and images private can be applied to ~TiddlyWiki. Also, because your ~TiddlyWiki data is stored in simple text files, you can be confident that it will still be securely accessible in the decades to come.
! ~TiddlyWiki Configurations
~TiddlyWiki can be used in two main configurations:
* As a single HTML file that contains all the data and code. This is the simplest configuration, and the most widely supported. Popular services like [[Tiddlyhost]] are based on the single file configuration
* As a single HTML file that contains all the data and code. This is the easiest setup, and the most widely supported.
** Popular services like [[Tiddlyhost]] are based on the single file configuration
** See [[Saving]] for a listing of all the different ways to save a single file ~TiddlyWiki
* As a Node.js application that runs a web server. This configuration is more powerful, but requires more technical knowledge to set up and maintain. See:
** [[Installing TiddlyWiki on Node.js]]
** [[Using TiddlyWiki on Node.js]]
The security and privacy implications of the two configurations are different.
The security and privacy implications of the two configurations are different:
<<<
!! Single File Configuration
As a practical matter, using ~TiddlyWiki securely and privately in the single file configuration depends upon keeping that single file securely and privately.
As a practical matter, using ~TiddlyWiki in the single file configuration depends upon keeping that file secure and private. Users can employ the same tools that they use to keep any document and photograph secure. For many users, the simplest solution will be to use an existing file storage service such as [[Google Drive|https://drive.google.com]], [[Apple's iCloud|https://www.icloud.com]], or [[Dropbox|https://www.dropbox.com]]. Many users already rely on the privacy and security of these services. There are also open source alternatives such as [[Syncthing|https://syncthing.net/]] that allow users to synchronise files between their devices without using a third party service.
Users can employ the same tools that they use to keep any document and photograph secure. So, for many users, the simplest solution will be to use an existing file storage service such as Google Drive, Apple's iCloud, or Dropbox. Many users will already be relying on the privacy and security of these services.
Users may wish to use additional layers of security. ~TiddlyWiki in the single file configuration offers built-in encryption using an industry standard encryption library to offer AES 128-bit encryption in CCM mode. All the data within the file is encrypted and cannot be accessed without entering the correct password. The password is never stored in the file, and so if it is lost, the data is lost. Instructions can be found in [[Encryption]].
There are also open source alternatives such as [[Syncthing|https://syncthing.net/]] that allow users to synchronise files between their devices without using a third party service.
Users may wish to use additional layers of security. ~TiddlyWiki in the single file configuration itself offers built-in encryption. It uses an industry standard encryption library to offer AES 128 bit encryption in CCM mode. All the data within the file is encrypted, and cannot be accessed without entering the correct password. The password is never stored in the file, and so if it is lost, the data is lost. Instructions can be found in [[Encryption]].
It is important to understand that ~TiddlyWiki's built in encryption is our best endeavour to offer privacy and usability. However, the encryption feature has not been subject to the kind of rigorous third party testing that characterises secure services like Signal or Syncthing.
So, cautious users may wish to use ~TiddlyWiki's built in encryption as an extra layer of security, but should take care not to rely on it as one would rely on industry standard encryption solutions that have been rigorously tested in a variety of situations.
It is important to understand that ~TiddlyWiki's built in encryption is our best endeavour to offer privacy and usability. However, the encryption feature has not been subject to the kind of rigorous third party testing that characterises secure services like Signal or Syncthing. Cautious users may wish to use ~TiddlyWiki's built in encryption as an extra layer of security, but should take care not to rely on it as one would rely on industry standard encryption solutions that have been rigorously tested in a variety of situations.
!! Node.js Configuration
Using ~TiddlyWiki in the Node.js configuration requires more technical knowledge than the single file edition. There are several important areas with respect to security and privacy.
Using ~TiddlyWiki in the Node.js configuration requires more technical knowledge than the single file configuration. There are several important areas with respect to security and privacy.
Firstly, and most obviously, there is the matter of how user data is stored on disc as individual `.tid` files. Just as with the single file configuration, these are just ordinary files, and so can be used with third party tools that provide encryption.
* Most obviously, there is the matter of how user data is stored on disc as individual `.tid` files. Just as with the single file configuration, these are just ordinary files, and so can be used with third party tools that provide encryption.
* Consideration must also be given to how data is transmitted across the network. By default, the Node.js configuration does not use SSL and so network traffic can be observed by others.
** The impact of this is mitigated by the fact that, by default, only users on the same machine can connect to the server.
** ~TiddlyWiki itself does offer the option of setting up an SSL connection. However, it is generally advised to use an external proxy server to provide SSL services. nginx is popular for this purpose.
<<<
Secondly, consideration must be given to how data is transmitted across the network. By default, the Node.js configuration does not use SSL and so traffic can be observed by others (the impact is mitigated by the fact that by default only users on the same machine can connect to the server). While ~TiddlyWiki itself does offer the option of setting up an SSL connection it is generally advised to use an external proxy server to provide SSL services. nginx is popular for this purpose.
! Verifiable Trust
An important aspect of ~TiddlyWiki's security and privacy claims is that they can be readily confirmed by anyone with basic technical skills. For example, the network monitoring tools built into most browsers allow you to verify that ~TiddlyWiki doesn't send any data to other servers. Similarly, you can open a ~TiddlyWiki HTML file in an editor and verify that your data is readily accessible.
! Community Tools
@ -54,7 +51,9 @@ There are also third party tools from the community that extend ~TiddlyWiki's bu
! Further Information
If security and privacy are important to you then you need to take the best available advice, and the best place for that is specialist organisations that focus on this area. The Electronic Frontier Foundation in the US is well respected, and their advice would be a good place to start. It emphasises basics such as dealing with passwords and two factor authentication, but also explains more advanced topics such as making a security plan, and how to set up a device securely.
If security and privacy are important to you then you need to take the best available advice, and the best place for that is specialist organisations that focus on this area.
The [[Electronic Frontier Foundation (EFF)|https://eff.org]] in the US is well respected, and their advice would be a good place to start. It emphasises basics such as dealing with passwords and two factor authentication, but also explains more advanced topics such as making a security plan, and how to set up a device securely.
* https://ssd.eff.org/module-categories/basics
* //Please suggest other useful privacy and security resources//
* //Please suggest other useful privacy and security resources//