{
	"ID": "20210721112229-fp97j3c",
	"Type": "NodeDocument",
	"Properties": {
		"id": "20210721112229-fp97j3c",
		"title": "End-to-end Encryption",
		"updated": "20220115002915"
	},
	"Children": [
		{
			"ID": "20220110113929-087uy2y",
			"Type": "NodeHeading",
			"HeadingLevel": 2,
			"Properties": {
				"id": "20220110113929-087uy2y",
				"updated": "20220110113932"
			},
			"Children": [
				{
					"Type": "NodeText",
					"Data": "Overview"
				}
			]
		},
		{
			"ID": "20210721113811-5tkf18n",
			"Type": "NodeParagraph",
			"Properties": {
				"id": "20210721113811-5tkf18n",
				"updated": "20210721113815"
			},
			"Children": [
				{
					"Type": "NodeText",
					"Data": "SiYuan will encrypt data before backup and synchronization, and the encrypted data can be safely transmitted and hosted over the network."
				}
			]
		},
		{
			"ID": "20210721113811-8fa6box",
			"Type": "NodeList",
			"ListData": {},
			"Properties": {
				"id": "20210721113811-8fa6box",
				"updated": "20220111133331"
			},
			"Children": [
				{
					"ID": "20210721113811-dhoce9n",
					"Type": "NodeListItem",
					"ListData": {
						"BulletChar": 42,
						"Marker": "Kg=="
					},
					"Properties": {
						"id": "20210721113811-dhoce9n"
					},
					"Children": [
						{
							"ID": "20210721113811-j40wc0h",
							"Type": "NodeParagraph",
							"Properties": {
								"id": "20210721113811-j40wc0h"
							},
							"Children": [
								{
									"Type": "NodeText",
									"Data": "The encryption and decryption process is completely performed on the local device"
								}
							]
						}
					]
				},
				{
					"ID": "20210721113811-ny6w1wu",
					"Type": "NodeListItem",
					"ListData": {
						"BulletChar": 42,
						"Marker": "Kg=="
					},
					"Properties": {
						"id": "20210721113811-ny6w1wu"
					},
					"Children": [
						{
							"ID": "20210721113811-qtrzt85",
							"Type": "NodeParagraph",
							"Properties": {
								"id": "20210721113811-qtrzt85"
							},
							"Children": [
								{
									"Type": "NodeText",
									"Data": "The encryption algorithm is AES GCM, which is recognized as safe in the industry"
								}
							]
						}
					]
				},
				{
					"ID": "20210721113811-59an6f2",
					"Type": "NodeListItem",
					"ListData": {
						"BulletChar": 42,
						"Marker": "Kg=="
					},
					"Properties": {
						"id": "20210721113811-59an6f2"
					},
					"Children": [
						{
							"ID": "20210721113811-nnym9aw",
							"Type": "NodeParagraph",
							"Properties": {
								"id": "20210721113811-nnym9aw"
							},
							"Children": [
								{
									"Type": "NodeText",
									"Data": "The password set by the user is encrypted with the built-in key of the program and stored locally"
								}
							]
						}
					]
				}
			]
		},
		{
			"ID": "20220110113934-fl0d0js",
			"Type": "NodeHeading",
			"HeadingLevel": 2,
			"Properties": {
				"id": "20220110113934-fl0d0js",
				"updated": "20220110113937"
			},
			"Children": [
				{
					"Type": "NodeText",
					"Data": "Password generation"
				}
			]
		},
		{
			"ID": "20220110113934-dae2jau",
			"Type": "NodeParagraph",
			"Properties": {
				"id": "20220110113934-dae2jau",
				"updated": "20220115002540"
			},
			"Children": [
				{
					"Type": "NodeText",
					"Data": "There are two methods to generate end-to-end encrypted passwords:"
				}
			]
		},
		{
			"ID": "20220110113934-rfporqh",
			"Type": "NodeList",
			"ListData": {
				"Typ": 1
			},
			"Properties": {
				"id": "20220110113934-rfporqh",
				"updated": "20220110113934"
			},
			"Children": [
				{
					"ID": "20220110113934-gwjk3qx",
					"Type": "NodeListItem",
					"ListData": {
						"Typ": 1,
						"Delimiter": 46,
						"Marker": "MS4=",
						"Num": 1
					},
					"Properties": {
						"id": "20220110113934-gwjk3qx"
					},
					"Children": [
						{
							"ID": "20220110113934-emopzba",
							"Type": "NodeParagraph",
							"Properties": {
								"id": "20220110113934-emopzba"
							},
							"Children": [
								{
									"Type": "NodeText",
									"Data": "Automatic generation of algorithm based on user id"
								}
							]
						}
					]
				},
				{
					"ID": "20220110113934-dpi5mhr",
					"Type": "NodeListItem",
					"ListData": {
						"Typ": 1,
						"Delimiter": 46,
						"Marker": "Mi4=",
						"Num": 2
					},
					"Properties": {
						"id": "20220110113934-dpi5mhr"
					},
					"Children": [
						{
							"ID": "20220110113934-ozy5c5y",
							"Type": "NodeParagraph",
							"Properties": {
								"id": "20220110113934-ozy5c5y"
							},
							"Children": [
								{
									"Type": "NodeText",
									"Data": "Based on user-defined password generation"
								}
							]
						}
					]
				}
			]
		},
		{
			"ID": "20220115002535-0pj2k32",
			"Type": "NodeParagraph",
			"Properties": {
				"id": "20220115002535-0pj2k32",
				"updated": "20220115002553"
			},
			"Children": [
				{
					"Type": "NodeText",
					"Data": "The differences between the two password generation methods are:"
				}
			]
		},
		{
			"ID": "20220115002535-ssrjw0d",
			"Type": "NodeList",
			"ListData": {},
			"Properties": {
				"id": "20220115002535-ssrjw0d",
				"updated": "20220115002535"
			},
			"Children": [
				{
					"ID": "20220115002535-021hil0",
					"Type": "NodeListItem",
					"ListData": {
						"BulletChar": 42,
						"Marker": "Kg=="
					},
					"Properties": {
						"id": "20220115002535-021hil0"
					},
					"Children": [
						{
							"ID": "20220115002535-ntfil4j",
							"Type": "NodeParagraph",
							"Properties": {
								"id": "20220115002535-ntfil4j"
							},
							"Children": [
								{
									"Type": "NodeText",
									"Data": "The id generation method is mainly for simplicity and convenience, but technically developers can decrypt data in the cloud"
								}
							]
						}
					]
				},
				{
					"ID": "20220115002535-cqgvx4i",
					"Type": "NodeListItem",
					"ListData": {
						"BulletChar": 42,
						"Marker": "Kg=="
					},
					"Properties": {
						"id": "20220115002535-cqgvx4i"
					},
					"Children": [
						{
							"ID": "20220115002535-9pk7z51",
							"Type": "NodeParagraph",
							"Properties": {
								"id": "20220115002535-9pk7z51"
							},
							"Children": [
								{
									"Type": "NodeText",
									"Data": "The main purpose of using a custom password is to be more secure (unless you know the password or brute force, it cannot be decrypted), but the operation is relatively troublesome and the password must be remembered"
								}
							]
						}
					]
				}
			]
		},
		{
			"ID": "20220110113934-uwfmdbs",
			"Type": "NodeHeading",
			"HeadingLevel": 2,
			"Properties": {
				"id": "20220110113934-uwfmdbs",
				"updated": "20220110114008"
			},
			"Children": [
				{
					"Type": "NodeTag",
					"Data": "span",
					"Children": [
						{
							"Type": "NodeTagOpenMarker"
						},
						{
							"Type": "NodeText",
							"Data": "Note"
						},
						{
							"Type": "NodeTagCloseMarker"
						}
					]
				}
			]
		},
		{
			"ID": "20220110113934-ldpj5fk",
			"Type": "NodeParagraph",
			"Properties": {
				"id": "20220110113934-ldpj5fk",
				"updated": "20220110113934"
			},
			"Children": [
				{
					"Type": "NodeText",
					"Data": "Once the password generation method is selected:"
				}
			]
		},
		{
			"ID": "20220110113934-v3n5kmk",
			"Type": "NodeList",
			"ListData": {},
			"Properties": {
				"id": "20220110113934-v3n5kmk",
				"updated": "20220110113934"
			},
			"Children": [
				{
					"ID": "20220110113934-vo6xgcm",
					"Type": "NodeListItem",
					"ListData": {
						"BulletChar": 42,
						"Marker": "Kg=="
					},
					"Properties": {
						"id": "20220110113934-vo6xgcm"
					},
					"Children": [
						{
							"ID": "20220110113934-io3fleg",
							"Type": "NodeParagraph",
							"Properties": {
								"id": "20220110113934-io3fleg"
							},
							"Children": [
								{
									"Type": "NodeText",
									"Data": "Need to keep the same build method on all devices"
								}
							]
						}
					]
				},
				{
					"ID": "20220110113934-kwtmv92",
					"Type": "NodeListItem",
					"ListData": {
						"BulletChar": 42,
						"Marker": "Kg=="
					},
					"Properties": {
						"id": "20220110113934-kwtmv92"
					},
					"Children": [
						{
							"ID": "20220110113934-mt1rt0e",
							"Type": "NodeParagraph",
							"Properties": {
								"id": "20220110113934-mt1rt0e"
							},
							"Children": [
								{
									"Type": "NodeText",
									"Data": "You cannot switch after selecting the generation method"
								}
							]
						}
					]
				},
				{
					"ID": "20220110113934-xv21745",
					"Type": "NodeListItem",
					"ListData": {
						"BulletChar": 42,
						"Marker": "Kg=="
					},
					"Properties": {
						"id": "20220110113934-xv21745"
					},
					"Children": [
						{
							"ID": "20220110113934-7zz23zi",
							"Type": "NodeParagraph",
							"Properties": {
								"id": "20220110113934-7zz23zi"
							},
							"Children": [
								{
									"Type": "NodeText",
									"Data": "If you use a custom password, please keep in mind"
								}
							]
						}
					]
				}
			]
		},
		{
			"ID": "20220115002811-6is8h67",
			"Type": "NodeHeading",
			"HeadingLevel": 2,
			"Properties": {
				"id": "20220115002811-6is8h67",
				"updated": "20220115002814"
			},
			"Children": [
				{
					"Type": "NodeText",
					"Data": "Encrypted content"
				}
			]
		},
		{
			"ID": "20220115002811-g4zajnf",
			"Type": "NodeParagraph",
			"Properties": {
				"id": "20220115002811-g4zajnf",
				"updated": "20220115002811"
			},
			"Children": [
				{
					"Type": "NodeText",
					"Data": "data/.siyuan folder and sub-files conf.json, syncignore, these data are configuration and metadata required for synchronization, so they will not be encrypted."
				}
			]
		},
		{
			"ID": "20220115002811-hd5mct8",
			"Type": "NodeParagraph",
			"Properties": {
				"id": "20220115002811-hd5mct8",
				"updated": "20220115002811"
			},
			"Children": [
				{
					"Type": "NodeText",
					"Data": "In addition to this, all data in the data folder will be encrypted. The specific encrypted content is:"
				}
			]
		},
		{
			"ID": "20220115002811-uhgonx9",
			"Type": "NodeList",
			"ListData": {},
			"Properties": {
				"id": "20220115002811-uhgonx9",
				"updated": "20220115002915"
			},
			"Children": [
				{
					"ID": "20220115002811-1lxfxt8",
					"Type": "NodeListItem",
					"ListData": {
						"BulletChar": 42,
						"Marker": "Kg=="
					},
					"Properties": {
						"id": "20220115002811-1lxfxt8",
						"updated": "20220115002858"
					},
					"Children": [
						{
							"ID": "20220115002811-tphbdpy",
							"Type": "NodeParagraph",
							"Properties": {
								"id": "20220115002811-tphbdpy",
								"updated": "20220115002858"
							},
							"Children": [
								{
									"Type": "NodeText",
									"Data": "Folder name and file name (such as the file name of .sy files and assets files)"
								}
							]
						}
					]
				},
				{
					"ID": "20220115002811-iga6lri",
					"Type": "NodeListItem",
					"ListData": {
						"BulletChar": 42,
						"Marker": "Kg=="
					},
					"Properties": {
						"id": "20220115002811-iga6lri",
						"updated": "20220115002915"
					},
					"Children": [
						{
							"ID": "20220115002811-xu85jj7",
							"Type": "NodeParagraph",
							"Properties": {
								"id": "20220115002811-xu85jj7",
								"updated": "20220115002915"
							},
							"Children": [
								{
									"Type": "NodeText",
									"Data": "file content"
								}
							]
						}
					]
				}
			]
		}
	]
}