docs(user): port privacy policy

This commit is contained in:
Elian Doran 2025-10-30 22:37:59 +02:00
parent 5e9c271bfd
commit 1784b50990
No known key found for this signature in database
6 changed files with 447 additions and 368 deletions

File diff suppressed because one or more lines are too long

View File

@ -6,22 +6,19 @@ class="image">
<img style="aspect-ratio:1144/660;" src="Sharing_image.png" <img style="aspect-ratio:1144/660;" src="Sharing_image.png"
width="1144" height="660"> width="1144" height="660">
</figure> </figure>
<h2>Features, interaction and limitations</h2>
<h2>Features, interaction and limitations</h2>
<ul> <ul>
<li data-list-item-id="ef22b391cbc76ef956be01dd41a6b60bf">Searching by note title.</li> <li>Searching by note title.</li>
<li data-list-item-id="eeab18d3a35263669809a1b89d7b060b9">Automatic dark/light mode based on the user's browser settings.</li> <li>Automatic dark/light mode based on the user's browser settings.</li>
<li <li>Mobile-friendly layout, with sidebar.</li>
data-list-item-id="e9a0db9cceacd026e71ad8bda9948542e">Mobile-friendly layout, with sidebar.</li> <li>Collapsible tree with the same note icons as the application.</li>
<li data-list-item-id="eb9da2104d017644f71fcee18eb17d34b">Collapsible tree with the same note icons as the application.</li> <li>Customizable logo.</li>
<li <li>Toggle button for dark/light mode, which also stores the user preferences.</li>
data-list-item-id="ea2be5ec72816441e702ff6dba92ed30d">Customizable logo.</li> <li>Quick navigation buttons (previous and next note).</li>
<li data-list-item-id="e26648726ce48aa84a8c71cf0fe3e4ee2">Toggle button for dark/light mode, which also stores the user preferences.</li> <li>Displaying the date of the last update of the note.</li>
<li
data-list-item-id="ef143555e0d67d1d389f6bbc226ebdc55">Quick navigation buttons (previous and next note).</li>
<li data-list-item-id="e32f67105cfb655c235d2454d9ec4874f">Displaying the date of the last update of the note.</li>
</ul> </ul>
<h3>By note type</h3> <h3>By note type</h3>
<figure class="table">
<table class="ck-table-resized"> <table class="ck-table-resized">
<colgroup> <colgroup>
<col style="width:19.92%;"> <col style="width:19.92%;">
@ -169,15 +166,13 @@ class="image">
</tr> </tr>
</tbody> </tbody>
</table> </table>
</figure>
<p>While the sharing feature is powerful, it has some limitations:</p> <p>While the sharing feature is powerful, it has some limitations:</p>
<ul> <ul>
<li data-list-item-id="e35e0cab1eec05f391623e8279959070c"><strong>Code Notes</strong>: No syntax highlighting.</li> <li><strong>Code Notes</strong>: No syntax highlighting.</li>
<li class="ck-list-marker-bold" <li><strong>Static Note Tree</strong>
data-list-item-id="e36b70bd10c3666c0def874b4ec52db31"><strong>Static Note Tree</strong>
</li> </li>
<li data-list-item-id="ef8144aff172d450cf7b4edbf1a430ab9"><strong>Protected Notes</strong>: Cannot be shared.</li> <li><strong>Protected Notes</strong>: Cannot be shared.</li>
<li data-list-item-id="ec3761c9dce911b115b840a32eebd18b8"><strong>Include Notes</strong>: Not supported.</li> <li><strong>Include Notes</strong>: Not supported.</li>
</ul> </ul>
<p>Some of these limitations may be addressed in future updates.</p> <p>Some of these limitations may be addressed in future updates.</p>
<h2>Prerequisites</h2> <h2>Prerequisites</h2>
@ -186,7 +181,7 @@ class="image">
is necessary because the notes will be hosted from the server.</p> is necessary because the notes will be hosted from the server.</p>
<h2>Sharing a note</h2> <h2>Sharing a note</h2>
<ol> <ol>
<li data-list-item-id="e503f8ad52fe9033ef59212b7b692d69f"> <li>
<p><strong>Enable Sharing</strong>: To share a note, toggle the <code>Shared</code> switch <p><strong>Enable Sharing</strong>: To share a note, toggle the <code>Shared</code> switch
within the note's interface. Once sharing is enabled, an URL will appear, within the note's interface. Once sharing is enabled, an URL will appear,
which you can click to access the shared note.</p> which you can click to access the shared note.</p>
@ -195,9 +190,11 @@ class="image">
alt="Share Note"> alt="Share Note">
</p> </p>
</li> </li>
<li data-list-item-id="e9c5083764d919503412f4f7f1cb0e0e0"><strong>Access the Shared Note</strong>: The link provided will open the <li>
<p><strong>Access the Shared Note</strong>: The link provided will open the
note in your browser. If your server is not configured with a public IP, note in your browser. If your server is not configured with a public IP,
the URL will refer to <code>localhost (127.0.0.1)</code>.</li> the URL will refer to <code>localhost (127.0.0.1)</code>.</p>
</li>
</ol> </ol>
<h2>Sharing a note subtree</h2> <h2>Sharing a note subtree</h2>
<p>When you share a note, you actually share the entire subtree of notes <p>When you share a note, you actually share the entire subtree of notes
@ -212,11 +209,11 @@ class="image">
public.</p> public.</p>
<h2>Security considerations</h2> <h2>Security considerations</h2>
<ul> <ul>
<li data-list-item-id="ea35f4596f6a8c69a83416766b567c3cd">Shared notes are published on the open internet and can be accessed by <li>Shared notes are published on the open internet and can be accessed by
anyone with the URL unless the notes are password-protected.</li> anyone with the URL unless the notes are password-protected.</li>
<li data-list-item-id="e34e983d07439b781597d1abaf8b6e297">The URL's randomness does not provide security, so it is crucial not to <li>The URL's randomness does not provide security, so it is crucial not to
share sensitive information through this feature.</li> share sensitive information through this feature.</li>
<li data-list-item-id="e94fbe4fb4b9f7806074aba4fe7601cb7">Trilium takes precautions to protect your publicly shared instance from <li>Trilium takes precautions to protect your publicly shared instance from
leaking information for non-shared notes, including opening a separate leaking information for non-shared notes, including opening a separate
read-only connection to the&nbsp;<a class="reference-link" href="#root/_help_wX4HbRucYSDD">Database</a>. read-only connection to the&nbsp;<a class="reference-link" href="#root/_help_wX4HbRucYSDD">Database</a>.
Depending on your threat model, it might make more sense to use&nbsp; Depending on your threat model, it might make more sense to use&nbsp;
@ -233,13 +230,12 @@ class="image">
<p>The default design should be a good starting point, but you can customize <p>The default design should be a good starting point, but you can customize
it using your own CSS:</p> it using your own CSS:</p>
<ul> <ul>
<li data-list-item-id="e3fdd3f9d73ed0655a94330d0a75790e4"><strong>Custom CSS</strong>: Link a CSS&nbsp;<a class="reference-link" <li><strong>Custom CSS</strong>: Link a CSS&nbsp;<a class="reference-link"
href="#root/_help_6f9hih2hXXZk">Code</a>&nbsp;note to the shared page by adding href="#root/_help_6f9hih2hXXZk">Code</a>&nbsp;note to the shared page by adding
a <code>~shareCss</code> relation to the note. If you want this style to a <code>~shareCss</code> relation to the note. If you want this style to
apply to the entire subtree, make the label inheritable. You can hide the apply to the entire subtree, make the label inheritable. You can hide the
CSS code note from the tree navigation by adding the <code>#shareHiddenFromTree</code> label.</li> CSS code note from the tree navigation by adding the <code>#shareHiddenFromTree</code> label.</li>
<li <li><strong>Omitting Default CSS</strong>: For extensive styling changes,
data-list-item-id="ee0bb81c27f4cd176412d38258d32da39"><strong>Omitting Default CSS</strong>: For extensive styling changes,
use the <code>#shareOmitDefaultCss</code> label to avoid conflicts with Trilium's use the <code>#shareOmitDefaultCss</code> label to avoid conflicts with Trilium's
<a <a
href="#root/_help_Wy267RK4M69c">default stylesheet</a>.</li> href="#root/_help_Wy267RK4M69c">default stylesheet</a>.</li>
@ -257,22 +253,22 @@ class="image">
itself.</p> itself.</p>
<p>The <code>#shareHtmlLocation</code> label accepts values in the format <code>location:position</code>:</p> <p>The <code>#shareHtmlLocation</code> label accepts values in the format <code>location:position</code>:</p>
<ul> <ul>
<li data-list-item-id="ead2588d20ac1fb23e7cb2a6d33d02bcb"><strong>Locations</strong>: <code>head</code>, <code>body</code>, <code>content</code> <li><strong>Locations</strong>: <code>head</code>, <code>body</code>, <code>content</code>
</li> </li>
<li data-list-item-id="e368323f330b229cb3428266304ebc2b4"><strong>Positions</strong>: <code>start</code>, <code>end</code> <li><strong>Positions</strong>: <code>start</code>, <code>end</code>
</li> </li>
</ul> </ul>
<p>For example:</p> <p>For example:</p>
<ul> <ul>
<li data-list-item-id="e2f0cbb70e71902ec26d64b4c10f1b3cf"><code>#shareHtmlLocation=head:start</code> - Injects HTML at the beginning <li><code>#shareHtmlLocation=head:start</code> - Injects HTML at the beginning
of the <code>&lt;head&gt;</code> section</li> of the <code>&lt;head&gt;</code> section</li>
<li data-list-item-id="e2ac6f7ec36059fc5ea2148bee57d9329"><code>#shareHtmlLocation=head:end</code> - Injects HTML at the end of the <code>&lt;head&gt;</code> section <li><code>#shareHtmlLocation=head:end</code> - Injects HTML at the end of the <code>&lt;head&gt;</code> section
(default)</li> (default)</li>
<li data-list-item-id="e9fea05a82b09b66521807ae4b08bfd53"><code>#shareHtmlLocation=body:start</code> - Injects HTML at the beginning <li><code>#shareHtmlLocation=body:start</code> - Injects HTML at the beginning
of the <code>&lt;body&gt;</code> section</li> of the <code>&lt;body&gt;</code> section</li>
<li data-list-item-id="ed33846c38d6e8a631111fc858ecf4963"><code>#shareHtmlLocation=content:start</code> - Injects HTML at the beginning <li><code>#shareHtmlLocation=content:start</code> - Injects HTML at the beginning
of the content area</li> of the content area</li>
<li data-list-item-id="e89347723de7736060ce226d93530a162"><code>#shareHtmlLocation=content:end</code> - Injects HTML at the end of <li><code>#shareHtmlLocation=content:end</code> - Injects HTML at the end of
the content area</li> the content area</li>
</ul> </ul>
<p>If no location is specified, the HTML will be injected at <code>content:end</code> by <p>If no location is specified, the HTML will be injected at <code>content:end</code> by
@ -290,16 +286,16 @@ for (const attr of parentNote.attributes) {
This will change the URL to <code>http://domain.tld/share/highlighting</code>.</p> This will change the URL to <code>http://domain.tld/share/highlighting</code>.</p>
<p><strong>Important</strong>:</p> <p><strong>Important</strong>:</p>
<ol> <ol>
<li data-list-item-id="edff04cba1df31a2aae23fd2f6a5ee847">Ensure that aliases are unique.</li> <li>Ensure that aliases are unique.</li>
<li data-list-item-id="eea48bfb287b0559450050141243032a9">Using slashes (<code>/</code>) within aliases to create subpaths is not <li>Using slashes (<code>/</code>) within aliases to create subpaths is not
supported.</li> supported.</li>
</ol> </ol>
<aside class="admonition tip"> <aside class="admonition tip">
<ul> <ul>
<li data-list-item-id="e0fcb644d56cb60448a87ddb7831e6043">To easily identify pages that don't have a share alias, run a&nbsp; <li>To easily identify pages that don't have a share alias, run a&nbsp;
<a <a
class="reference-link" href="#root/_help_eIg8jdvaoNNd">Search</a>&nbsp;with <code>#!shareAlias</code>.</li> class="reference-link" href="#root/_help_eIg8jdvaoNNd">Search</a>&nbsp;with <code>#!shareAlias</code>.</li>
<li data-list-item-id="e888d6e9d905db9a030755430007e522b">To be able to enter the share alias faster, consider using&nbsp;<a class="reference-link" <li>To be able to enter the share alias faster, consider using&nbsp;<a class="reference-link"
href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a>&nbsp;(for example <code>#label:shareAlias(inheritable)="promoted,alias=Slug,single,text"</code>).</li> href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a>&nbsp;(for example <code>#label:shareAlias(inheritable)="promoted,alias=Slug,single,text"</code>).</li>
</ul> </ul>
</aside> </aside>
@ -323,7 +319,6 @@ for (const attr of parentNote.attributes) {
When viewed, the list of shared roots will be displayed at the bottom of When viewed, the list of shared roots will be displayed at the bottom of
the note.</p> the note.</p>
<h2>Attribute reference</h2> <h2>Attribute reference</h2>
<figure class="table" style="width:100%;">
<table class="ck-table-resized"> <table class="ck-table-resized">
<colgroup> <colgroup>
<col style="width:18.38%;"> <col style="width:18.38%;">
@ -411,16 +406,11 @@ for (const attr of parentNote.attributes) {
</tr> </tr>
</tbody> </tbody>
</table> </table>
</figure>
<h3>Customizing logo</h3> <h3>Customizing logo</h3>
<p>It's possible to adjust the logo which is displayed on the top-left of <p>It's possible to adjust the logo which is displayed on the top-left of
the left pane.</p> the left pane.</p>
<figure class="table" style="width:100%;"> <table>
<table class="ck-table-resized">
<colgroup>
<col style="width:19.08%;">
<col style="width:80.92%;">
</colgroup>
<thead> <thead>
<tr> <tr>
<th>Attribute</th> <th>Attribute</th>
@ -451,14 +441,9 @@ for (const attr of parentNote.attributes) {
</tr> </tr>
</tbody> </tbody>
</table> </table>
</figure>
<h3>Customizing OpenGraph</h3> <h3>Customizing OpenGraph</h3>
<figure class="table" style="width:100%;"> <table>
<table class="ck-table-resized">
<colgroup>
<col style="width:19.08%;">
<col style="width:80.92%;">
</colgroup>
<thead> <thead>
<tr> <tr>
<th>Attribute</th> <th>Attribute</th>
@ -467,7 +452,7 @@ for (const attr of parentNote.attributes) {
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td><span style="color:#3b3b3b;"><code>#shareOpenGraphColor</code></span> <td><code>#shareOpenGraphColor</code>
</td> </td>
<td>This adjusts the <code>theme-color</code> meta-property.</td> <td>This adjusts the <code>theme-color</code> meta-property.</td>
</tr> </tr>
@ -486,13 +471,13 @@ for (const attr of parentNote.attributes) {
<br><code>~shareOpenGraphImage</code> <br><code>~shareOpenGraphImage</code>
</td> </td>
<td>Can be either a label, case in which the value is passed on as-is, or <td>Can be either a label, case in which the value is passed on as-is, or
it can be a relation to an image&nbsp;<a class="reference-link" href="#root/pOsGYCXsbNQG/KSZ04uQ2D1St/_help_W8vYD3Q1zjCR">File</a>. it can be a relation to an image&nbsp;<a class="reference-link" href="#root/_help_W8vYD3Q1zjCR">File</a>.
This controls the <code>og:image</code> meta-property.</td> This controls the <code>og:image</code> meta-property.</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</figure>
<h2>Credits</h2> <h2>Credits</h2>
<p>Since v0.95.0, a new theme was introduced (and enabled by default) which <p>Since v0.95.0, a new theme was introduced (and enabled by default) which
greatly improves the visual aspect of the Share feature, as well as its greatly improves the visual aspect of the Share feature, as well as its
functionality (such as mobile support, dark/light mode, collapsible tree, functionality (such as mobile support, dark/light mode, collapsible tree,

View File

@ -6,18 +6,13 @@
reverse_proxy /share http://localhost:8080/share reverse_proxy /share http://localhost:8080/share
}</code></pre> }</code></pre>
<p>This is for newer versions where the share functionality is isolated, <p>This is for newer versions where the share functionality is isolated,
for older versions it's required to also include <code>/assets</code>. for older versions it's required to also include <code>/assets</code>.<sup><a href="#fn2b8mg20aol8">[1]</a></sup>
<span
class="footnote-reference" data-footnote-reference="" data-footnote-index="1"
data-footnote-id="2b8mg20aol8" role="doc-noteref" id="fnref2b8mg20aol8"><sup><a href="#fn2b8mg20aol8">[1]</a></sup>
</span>
</p> </p>
<ol class="footnote-section footnotes" data-footnote-section="" role="doc-endnotes"> <ol>
<li class="footnote-item" data-footnote-item="" data-footnote-index="1" <li>
data-footnote-id="2b8mg20aol8" role="doc-endnote" id="fn2b8mg20aol8"><span class="footnote-back-link" data-footnote-back-link="" data-footnote-id="2b8mg20aol8"><sup><strong><a href="#fnref2b8mg20aol8">^</a></strong></sup></span> <p><sup><strong><a href="#fnref2b8mg20aol8">^</a></strong></sup>
<div </p>
class="footnote-content" data-footnote-content=""> <p><a href="https://github.com/orgs/TriliumNext/discussions/7341#discussioncomment-14679897">https://github.com/orgs/TriliumNext/discussions/7341#discussioncomment-14679897</a>
<p><a href="https://github.com/orgs/TriliumNext/discussions/7341#discussioncomment-14679897">https://github.com/orgs/TriliumNext/discussions/7341#discussioncomment-14679897</a>&nbsp;</p> </p>
</div>
</li> </li>
</ol> </ol>

View File

@ -0,0 +1,20 @@
<h3>Trilium Notes</h3>
<p>Trilium Notes does not collect/send any data from the user's installation,
i.e. no analytics, no telemetry etc. The data flows only between user controlled
/ installed applications, without any intermediary.</p>
<p>Automatic network activity consists of:</p>
<ul>
<li data-list-item-id="edb71d4fe0be295aea582b3bd69ae896e">Trilium periodically queries URL <a href="https://github.com/TriliumNext/Trilium/releases">https://github.com/TriliumNext/Trilium/releases</a> to
see if there's a new stable version released. (check only, there's no automatic
download and/or installation).</li>
<li data-list-item-id="ea0de29e780d3a00603386fa133584eba">Trilium will download spelling dictionaries automatically as needed based
on language settings</li>
</ul>
<h3>Trilium Web Clipper</h3>
<p>Trilium Web Clipper does not collect/send any data from the user's installation,
i.e. no analytics, no telemetry etc. The data flows only between user controlled
/ installed applications, without any intermediary.</p>
<h3>Trilium Sender for Android</h3>
<p>Trilium Sender for Android does not collect/send any data from the user's
installation, i.e. no analytics, no telemetry etc. The data flows only
between user controlled / installed applications, without any intermediary.</p>

View File

@ -15021,6 +15021,68 @@
] ]
} }
] ]
},
{
"isClone": false,
"noteId": "Fm0j45KqyHpU",
"notePath": [
"pOsGYCXsbNQG",
"Fm0j45KqyHpU"
],
"title": "Miscellaneous",
"notePosition": 370,
"prefix": null,
"isExpanded": false,
"type": "text",
"mime": "text/html",
"attributes": [
{
"type": "label",
"name": "shareAlias",
"value": "misc",
"isInheritable": false,
"position": 30
},
{
"type": "label",
"name": "iconClass",
"value": "bx bx-info-circle",
"isInheritable": false,
"position": 40
}
],
"format": "markdown",
"attachments": [],
"dirFileName": "Miscellaneous",
"children": [
{
"isClone": false,
"noteId": "WFbFXrgnDyyU",
"notePath": [
"pOsGYCXsbNQG",
"Fm0j45KqyHpU",
"WFbFXrgnDyyU"
],
"title": "Privacy Policy",
"notePosition": 10,
"prefix": null,
"isExpanded": false,
"type": "text",
"mime": "text/html",
"attributes": [
{
"type": "label",
"name": "shareAlias",
"value": "privacy-policy",
"isInheritable": false,
"position": 30
}
],
"format": "markdown",
"dataFileName": "Privacy Policy.md",
"attachments": []
}
]
} }
] ]
} }

View File

@ -0,0 +1,17 @@
# Privacy Policy
### Trilium Notes
Trilium Notes does not collect/send any data from the user's installation, i.e. no analytics, no telemetry etc. The data flows only between user controlled / installed applications, without any intermediary.
Automatic network activity consists of:
* Trilium periodically queries URL [https://github.com/TriliumNext/Trilium/releases](https://github.com/TriliumNext/Trilium/releases) to see if there's a new stable version released. (check only, there's no automatic download and/or installation).
* Trilium will download spelling dictionaries automatically as needed based on language settings
### Trilium Web Clipper
Trilium Web Clipper does not collect/send any data from the user's installation, i.e. no analytics, no telemetry etc. The data flows only between user controlled / installed applications, without any intermediary.
### Trilium Sender for Android
Trilium Sender for Android does not collect/send any data from the user's installation, i.e. no analytics, no telemetry etc. The data flows only between user controlled / installed applications, without any intermediary.