@networkpro/web 1.12.3 → 1.12.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +42 -3
- package/LICENSE.md +1 -1
- package/package.json +6 -6
- package/src/service-worker.js +1 -9
- package/static/docs/Home.md +0 -63
- package/static/docs/extensions.md +0 -58
- package/static/docs/pgp-email.md +0 -152
- package/static/docs/pgp-win.md +0 -67
- package/static/docs/pgp.md +0 -71
- package/static/docs/tracking.md +0 -63
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,20 @@
|
|
|
1
|
+
<!-- =====================================================================
|
|
2
|
+
CHANGELOG.md
|
|
3
|
+
|
|
4
|
+
Copyright © 2025 Network Pro Strategies (Network Pro™)
|
|
5
|
+
SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
|
|
6
|
+
This file is part of Network Pro.
|
|
7
|
+
====================================================================== -->
|
|
8
|
+
|
|
1
9
|
# Changelog
|
|
2
10
|
|
|
3
11
|
<!-- markdownlint-disable MD024 -->
|
|
4
12
|
|
|
13
|
+
<!-- Use sections: Added, Changed, Deprecated, Removed, Fixed, Security -->
|
|
14
|
+
|
|
5
15
|
All notable changes to this project will be documented in this file.
|
|
6
16
|
|
|
7
|
-
This project attempts to follow [Keep a Changelog](https://keepachangelog.com/en/1.
|
|
17
|
+
This project attempts to follow [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), though versioning and formatting may vary.
|
|
8
18
|
|
|
9
19
|
---
|
|
10
20
|
|
|
@@ -12,6 +22,28 @@ This project attempts to follow [Keep a Changelog](https://keepachangelog.com/en
|
|
|
12
22
|
|
|
13
23
|
---
|
|
14
24
|
|
|
25
|
+
## [1.12.4] - 2025-06-05
|
|
26
|
+
|
|
27
|
+
### Added
|
|
28
|
+
|
|
29
|
+
- Introduced `.md-smart-quotes.js` script for use with markdownlint to flag "smart quotes" in Markdown files.
|
|
30
|
+
|
|
31
|
+
### Changed
|
|
32
|
+
|
|
33
|
+
- Cleaned up `IGNORE_PATHS` in `src/service-worker.js`: removed the `static/docs/` entry, as the directory no longer exists.
|
|
34
|
+
- Upgraded development dependencies:
|
|
35
|
+
- `@vitest/coverage-v8`
|
|
36
|
+
- `posthog-js`
|
|
37
|
+
- `vitest`
|
|
38
|
+
- Corrected the "Effective Date" in `LICENSE.md`.
|
|
39
|
+
- Refactored `.markdownlint.jsonc` into `.markdownlint.mjs` to support the custom linting script.
|
|
40
|
+
|
|
41
|
+
### Removed
|
|
42
|
+
|
|
43
|
+
- Removed the entire `static/docs/` directory; its contents have been migrated to the [Wiki](https://github.com/netwk-pro/netwk-pro.github.io/wiki).
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
15
47
|
## [1.12.3] - 2025-06-04
|
|
16
48
|
|
|
17
49
|
### Added
|
|
@@ -25,7 +57,7 @@ This project attempts to follow [Keep a Changelog](https://keepachangelog.com/en
|
|
|
25
57
|
|
|
26
58
|
---
|
|
27
59
|
|
|
28
|
-
##
|
|
60
|
+
## 1.12.2 – 2025-06-04
|
|
29
61
|
|
|
30
62
|
### Changed
|
|
31
63
|
|
|
@@ -52,7 +84,7 @@ This project attempts to follow [Keep a Changelog](https://keepachangelog.com/en
|
|
|
52
84
|
|
|
53
85
|
---
|
|
54
86
|
|
|
55
|
-
##
|
|
87
|
+
## 1.12.0 – 2025-06-04
|
|
56
88
|
|
|
57
89
|
### Added
|
|
58
90
|
|
|
@@ -77,3 +109,10 @@ This project attempts to follow [Keep a Changelog](https://keepachangelog.com/en
|
|
|
77
109
|
- Deprecated `shouldTrackUser()` logic and legacy cookie checks.
|
|
78
110
|
|
|
79
111
|
---
|
|
112
|
+
|
|
113
|
+
<!-- Link references -->
|
|
114
|
+
|
|
115
|
+
[Unreleased]: https://github.com/netwk-pro/netwk-pro.github.io/compare/v1.12.4...HEAD
|
|
116
|
+
[1.12.4]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.12.4
|
|
117
|
+
[1.12.3]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.12.3
|
|
118
|
+
[1.12.1]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.12.1
|
package/LICENSE.md
CHANGED
|
@@ -14,7 +14,7 @@ This file is part of Network Pro.
|
|
|
14
14
|
# Legal, Copyright, and Licensing
|
|
15
15
|
|
|
16
16
|
**Network Pro Strategies**
|
|
17
|
-
**Effective Date:**
|
|
17
|
+
**Effective Date:** June 4, 2025
|
|
18
18
|
|
|
19
19
|
**Official Version Notice**
|
|
20
20
|
This document is provided for convenience only. In the event of any discrepancy, the authoritative version is the one published at [https://netwk.pro](https://netwk.pro).
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@networkpro/web",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.12.
|
|
5
|
-
"description": "Locking Down Networks, Unlocking Confidence | Security, Networking, Privacy — Network Pro Strategies",
|
|
4
|
+
"version": "1.12.4",
|
|
5
|
+
"description": "Locking Down Networks, Unlocking Confidence™ | Security, Networking, Privacy — Network Pro Strategies",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"advisory",
|
|
8
8
|
"consulting",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
],
|
|
17
17
|
"homepage": "https://netwk.pro",
|
|
18
18
|
"bugs": {
|
|
19
|
-
"url": "https://github.com/netwk-pro/netwk-pro.github.io/issues"
|
|
19
|
+
"url": "https://github.com/netwk-pro/netwk-pro.github.io/issues/new/choose"
|
|
20
20
|
},
|
|
21
21
|
"repository": {
|
|
22
22
|
"type": "git",
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
},
|
|
78
78
|
"dependencies": {
|
|
79
79
|
"dompurify": "^3.2.6",
|
|
80
|
-
"posthog-js": "^1.249.
|
|
80
|
+
"posthog-js": "^1.249.4",
|
|
81
81
|
"semver": "^7.7.2",
|
|
82
82
|
"svelte": "5.33.14"
|
|
83
83
|
},
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
"@sveltejs/vite-plugin-svelte": "5.1.0",
|
|
92
92
|
"@testing-library/jest-dom": "^6.6.3",
|
|
93
93
|
"@testing-library/svelte": "^5.2.8",
|
|
94
|
-
"@vitest/coverage-v8": "^3.2.
|
|
94
|
+
"@vitest/coverage-v8": "^3.2.2",
|
|
95
95
|
"autoprefixer": "^10.4.21",
|
|
96
96
|
"browserslist": "^4.25.0",
|
|
97
97
|
"eslint": "^9.28.0",
|
|
@@ -119,7 +119,7 @@
|
|
|
119
119
|
"vite": "^6.3.5",
|
|
120
120
|
"vite-plugin-lightningcss": "^0.0.5",
|
|
121
121
|
"vite-tsconfig-paths": "^5.1.4",
|
|
122
|
-
"vitest": "^3.2.
|
|
122
|
+
"vitest": "^3.2.2"
|
|
123
123
|
},
|
|
124
124
|
"overrides": {
|
|
125
125
|
"@sveltejs/kit": {
|
package/src/service-worker.js
CHANGED
|
@@ -27,23 +27,15 @@ const CACHE = `cache-${version}`;
|
|
|
27
27
|
/** @type {string[]} */
|
|
28
28
|
const excludedAssets = [];
|
|
29
29
|
|
|
30
|
-
//TODO: Remove files in docs once migrated to documentation subsite
|
|
31
|
-
|
|
32
30
|
const IGNORE_PATHS = new Set([
|
|
33
|
-
"/docs/extensions.md",
|
|
34
|
-
"/docs/Home.md",
|
|
35
|
-
"/docs/pgp-email.md",
|
|
36
|
-
"/docs/pgp-win.md",
|
|
37
|
-
"/docs/pgp.md",
|
|
38
|
-
"/docs/tracking.md",
|
|
39
31
|
"/img/banner-1280x640.png",
|
|
40
32
|
"/img/logo-transparent.png",
|
|
41
33
|
"/img/logo.png",
|
|
42
34
|
"/img/svelte.png",
|
|
35
|
+
"/screenshots/desktop-foss.png",
|
|
43
36
|
"/webfonts/fa-brands-400.ttf",
|
|
44
37
|
"/webfonts/fa-solid-900.ttf",
|
|
45
38
|
"/robots.txt",
|
|
46
|
-
"/screenshots/desktop-foss.png",
|
|
47
39
|
"/sitemap.xml",
|
|
48
40
|
"/CNAME",
|
|
49
41
|
]);
|
package/static/docs/Home.md
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
# 🧠 Network Pro — Developer Wiki
|
|
2
|
-
|
|
3
|
-
> Internal documentation and contributor onboarding resources for the [Network Pro™ Web Presence](https://github.com/netwk-pro/netwk-pro.github.io) project.
|
|
4
|
-
> **Note:** Most of the below links are currently non-functional and serve solely as placeholders. Once pages are added, the placeholder links will be removed.
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## 📌 Overview
|
|
9
|
-
|
|
10
|
-
This wiki provides documentation, conventions, and internal tooling references to support development, testing, and deployment workflows across the Network Pro stack.
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## 📁 Sections
|
|
15
|
-
|
|
16
|
-
### 🛠 Setup & Tooling
|
|
17
|
-
|
|
18
|
-
- [Environment Requirements](Environment-Requirements.md)
|
|
19
|
-
Node, npm, version managers, OS-specific notes.
|
|
20
|
-
- [Editor Configuration](Editor-Configuration.md)
|
|
21
|
-
Workspace settings, recommended VS Code/VSCodium extensions.
|
|
22
|
-
- [CLI Scripts Reference](CLI-Scripts.md)
|
|
23
|
-
`npm run` scripts explained with tips for usage.
|
|
24
|
-
|
|
25
|
-
### 🚧 Development
|
|
26
|
-
|
|
27
|
-
- [Local Development](Local-Development.md)
|
|
28
|
-
Running the project, debugging, hot reload, ENV_MODE behavior.
|
|
29
|
-
- [Testing & Audits](Testing-&-Audits.md)
|
|
30
|
-
Vitest, Playwright, Lighthouse, CI reports.
|
|
31
|
-
- [Styling & Components](Styling-&-Components.md)
|
|
32
|
-
Design system, reusable components, naming conventions.
|
|
33
|
-
|
|
34
|
-
### 🚀 CI/CD
|
|
35
|
-
|
|
36
|
-
- [GitHub Actions Workflows](CI-CD-Workflows.md)
|
|
37
|
-
How our deploy/audit pipelines are structured.
|
|
38
|
-
- [Versioning & Releases](Versioning-&-Releases.md)
|
|
39
|
-
Publishing, changelog generation, NPM tagging conventions.
|
|
40
|
-
|
|
41
|
-
### 📚 Documentation Maintenance
|
|
42
|
-
|
|
43
|
-
- [Contributing to the Wiki](Contributing-to-the-Wiki.md)
|
|
44
|
-
Format, tone, and content guidelines for internal docs.
|
|
45
|
-
- [MkDocs Subsite Overview](MkDocs-Subsite.md)
|
|
46
|
-
How the public documentation repo is built and deployed.
|
|
47
|
-
|
|
48
|
-
---
|
|
49
|
-
|
|
50
|
-
## 📎 Related Repositories
|
|
51
|
-
|
|
52
|
-
- [Main Site (Web)](https://github.com/netwk-pro/netwk-pro.github.io)
|
|
53
|
-
- [Documentation Site](https://github.com/netwk-pro/docs)
|
|
54
|
-
- [Blog Subsite](https://github.com/netwk-pro/blog)
|
|
55
|
-
- [GitHub Wiki](https://github.com/netwk-pro/netwk-pro.github.io/wiki)
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
## 🤝 Contributing
|
|
60
|
-
|
|
61
|
-
If you're new to the project, start with [Environment Requirements](Environment-Requirements.md) and [Local Development](Local-Development.md). See [Contributing to the Wiki](Contributing-to-the-Wiki.md) for how to add or edit content.
|
|
62
|
-
|
|
63
|
-
---
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
# 🧩 Recommended VS Code Extensions
|
|
2
|
-
|
|
3
|
-
To streamline development and align with project conventions, we recommend the following [VSCodium](https://vscodium.com/) and [Visual Studio Code](https://code.visualstudio.com/) (VS Code) extensions. These tools enhance productivity, enforce code quality, and ensure consistency across the codebase.
|
|
4
|
-
|
|
5
|
-
> Note: While these extensions are optional, they are thoughtfully curated to complement our development workflow.
|
|
6
|
-
|
|
7
|
-
<!-- cspell:disable -->
|
|
8
|
-
|
|
9
|
-
| Extension Name | Identifier | Description |
|
|
10
|
-
| ------------------------- | --------------------------------------- | --------------------------------------------------------------------------- |
|
|
11
|
-
| Prettier - Code formatter | `esbenp.prettier-vscode` | Formats code consistently across various languages. |
|
|
12
|
-
| ESLint | `dbaeumer.vscode-eslint` | Integrates ESLint into VS Code for JavaScript and TypeScript linting. |
|
|
13
|
-
| Stylelint | `stylelint.vscode-stylelint` | Lints CSS/SCSS and enforces consistent styling conventions. |
|
|
14
|
-
| Markdownlint | `DavidAnson.vscode-markdownlint` | Provides linting and style checking for Markdown files. |
|
|
15
|
-
| EditorConfig for VS Code | `EditorConfig.EditorConfig` | Maintains consistent coding styles between different editors and IDEs. |
|
|
16
|
-
| Svelte for VS Code | `svelte.svelte-vscode` | Offers syntax highlighting, code completion, and error checking for Svelte. |
|
|
17
|
-
| Code Spell Checker | `streetsidesoftware.code-spell-checker` | Inline spell checking (comments, Markdown, etc.) |
|
|
18
|
-
|
|
19
|
-
## 🛠 Installation
|
|
20
|
-
|
|
21
|
-
To install these extensions, you can use the following command in your terminal:
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
code --install-extension esbenp.prettier-vscode
|
|
25
|
-
code --install-extension dbaeumer.vscode-eslint
|
|
26
|
-
code --install-extension stylelint.vscode-stylelint
|
|
27
|
-
code --install-extension DavidAnson.vscode-markdownlint
|
|
28
|
-
code --install-extension EditorConfig.EditorConfig
|
|
29
|
-
code --install-extension svelte.svelte-vscode
|
|
30
|
-
code --install-extension volta.volta
|
|
31
|
-
code --install-extension eamodio.gitlens
|
|
32
|
-
code --install-extension github.vscode-pull-request-github
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
<!-- cspell:enable -->
|
|
36
|
-
|
|
37
|
-
Alternatively, you can search for each extension by name in [Open VSX Registry](https://open-vsx.org/) and/or the [VS Code Extensions Marketplace](https://marketplace.visualstudio.com/vscode) and install them individually.
|
|
38
|
-
|
|
39
|
-
## 📁 Workspace Recommendations
|
|
40
|
-
|
|
41
|
-
Our repository includes a `.vscode/extensions.json` file that specifies these recommended extensions. When you open the project in VS Code, you'll be prompted to install any missing recommended extensions. This ensures a consistent development environment across all contributors.
|
|
42
|
-
|
|
43
|
-
## 🔧 Configuration
|
|
44
|
-
|
|
45
|
-
The `.vscode/settings.json` file in the repository contains workspace-specific settings that align with our coding standards and practices. These settings include formatter configurations, linting rules, and other preferences to maintain code quality and consistency.
|
|
46
|
-
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
<div style="font-size: 12px; text-align: center;">
|
|
50
|
-
|
|
51
|
-
Copyright © 2025
|
|
52
|
-
**[Network Pro Strategies](https://netwk.pro) (Network Pro™)**
|
|
53
|
-
|
|
54
|
-
Network Pro™, the shield logo, and the "Locking Down Networks™" slogan are [trademarks](https://netwk.pro/license#trademark) of Network Pro Strategies.
|
|
55
|
-
|
|
56
|
-
Licensed under **[CC BY 4.0](https://netwk.pro/license#cc-by)** and the **[GNU GPL](https://netwk.pro/license#gnu-gpl)**, as published by the [Free Software Foundation](https://www.fsf.org), either version 3 of the License, or (at your option) any later version.
|
|
57
|
-
|
|
58
|
-
</div>
|
package/static/docs/pgp-email.md
DELETED
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
# 📧 Encrypting Email with PGP
|
|
2
|
-
|
|
3
|
-
> This guide walks you through using PGP (Pretty Good Privacy) to encrypt email using both graphical and client-based tools.
|
|
4
|
-
|
|
5
|
-
PGP encryption ensures that only the intended recipient can read your email content — even if it's intercepted.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 🔹 Option A: Outlook (Windows) with GpgOL
|
|
10
|
-
|
|
11
|
-
GpgOL is a plugin included with **Gpg4win** that integrates directly into Microsoft Outlook (desktop only).
|
|
12
|
-
|
|
13
|
-
### ✅ Requirements
|
|
14
|
-
|
|
15
|
-
- Gpg4win (with GpgOL selected during installation)
|
|
16
|
-
- Outlook 2010 or newer (desktop version)
|
|
17
|
-
- Recipient’s **public key**
|
|
18
|
-
|
|
19
|
-
> ⚠️ GpgOL does not work with Outlook for Microsoft 365 Web or Outlook Mobile. It is only compatible with the **desktop edition of Outlook** on Windows.
|
|
20
|
-
|
|
21
|
-
### 📥 Encrypting an Email in Outlook
|
|
22
|
-
|
|
23
|
-
1. Open Outlook and compose a new message
|
|
24
|
-
2. Enter the recipient’s email address (must match imported key)
|
|
25
|
-
3. Click the `Encrypt` button on the **GpgOL ribbon** tab
|
|
26
|
-
4. Send your email
|
|
27
|
-
|
|
28
|
-
> ✉️ Outlook will encrypt the email contents using the recipient's public key.
|
|
29
|
-
|
|
30
|
-
### 📥 Decrypting an Email in Outlook
|
|
31
|
-
|
|
32
|
-
When receiving an encrypted message:
|
|
33
|
-
|
|
34
|
-
- GpgOL will automatically prompt to decrypt it using your private key
|
|
35
|
-
- You may need to enter your key passphrase
|
|
36
|
-
|
|
37
|
-
> 💡 Tip: Manage keys with **Kleopatra** — launch from Start Menu
|
|
38
|
-
|
|
39
|
-
---
|
|
40
|
-
|
|
41
|
-
## 🔹 Option B: Thunderbird (Windows/macOS/Linux)
|
|
42
|
-
|
|
43
|
-
Thunderbird includes **built-in OpenPGP** support and is often preferred for privacy-focused users.
|
|
44
|
-
|
|
45
|
-
### ✅ Setup
|
|
46
|
-
|
|
47
|
-
1. [Download Thunderbird](https://www.thunderbird.net)
|
|
48
|
-
2. Add your email account
|
|
49
|
-
3. Go to: `Account Settings → End-to-End Encryption`
|
|
50
|
-
4. Generate a new key, or import your existing one
|
|
51
|
-
5. Import your recipient’s **public key**
|
|
52
|
-
|
|
53
|
-
### 🔐 Sending Encrypted Email
|
|
54
|
-
|
|
55
|
-
When composing a message:
|
|
56
|
-
|
|
57
|
-
- Click the **padlock** icon to enable encryption
|
|
58
|
-
- Click **sign** if you also want to verify authenticity
|
|
59
|
-
- Send as usual
|
|
60
|
-
|
|
61
|
-
---
|
|
62
|
-
|
|
63
|
-
## 🔹 Option C: Webmail with Mailvelope
|
|
64
|
-
|
|
65
|
-
**Mailvelope** adds OpenPGP support to Gmail, Outlook.com, Yahoo, and others.
|
|
66
|
-
|
|
67
|
-
### 🔧 Setup
|
|
68
|
-
|
|
69
|
-
1. Install [Mailvelope](https://www.mailvelope.com/) for Chrome or Firefox
|
|
70
|
-
2. Import your keys or generate a new pair
|
|
71
|
-
3. Use the Mailvelope overlay when composing encrypted emails
|
|
72
|
-
|
|
73
|
-
---
|
|
74
|
-
|
|
75
|
-
## Alternative PGP-Compatible Email Clients
|
|
76
|
-
|
|
77
|
-
In addition to widely used options like Outlook (via GpgOL) and Thunderbird, several other desktop email clients offer OpenPGP support—either natively or through plugins.
|
|
78
|
-
|
|
79
|
-
Notable alternatives include:
|
|
80
|
-
|
|
81
|
-
- **[Betterbird](https://www.betterbird.eu/):**
|
|
82
|
-
A privacy-focused Thunderbird fork with full PGP support.
|
|
83
|
-
▸ Available on Windows, Linux, and macOS.
|
|
84
|
-
|
|
85
|
-
- **[eM Client](https://www.emclient.com/):**
|
|
86
|
-
A feature-rich client with native OpenPGP integration and calendar/task support.
|
|
87
|
-
▸ Available on Windows, macOS, Android, and iOS.
|
|
88
|
-
▸ _Free tier supports 2 email accounts after a 30-day trial._
|
|
89
|
-
|
|
90
|
-
> 💡 **Note:** Be sure to verify the client’s compatibility with your GPG keyring (e.g., Gpg4win or Kleopatra on Windows).
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
## 📱 Mobile Email Clients with OpenPGP Support
|
|
95
|
-
|
|
96
|
-
For secure email on Android, the following apps support OpenPGP encryption via [**OpenKeychain**](https://www.openkeychain.org/):
|
|
97
|
-
|
|
98
|
-
- **[FairEmail](https://email.faircode.eu/)**
|
|
99
|
-
A lightweight, privacy-first email client for Android, offering built-in OpenPGP support, rich customization, and a modern, privacy-respecting interface.
|
|
100
|
-
|
|
101
|
-
- **[K-9 Mail](https://k9mail.app/)**
|
|
102
|
-
A veteran open-source Android mail client known for its simplicity and transparency. K-9 is now maintained by the Thunderbird team as part of their mobile strategy.
|
|
103
|
-
|
|
104
|
-
- **[Thunderbird Mobile](https://www.thunderbird.net/en-US/mobile/)**
|
|
105
|
-
A mobile adaptation of Thunderbird, currently built on K-9 Mail and maintained by the same team. Provides end-to-end encryption and an open-source, user-friendly experience.
|
|
106
|
-
|
|
107
|
-
> ⚠️ OpenPGP support on iOS is limited due to platform restrictions.
|
|
108
|
-
> Most options are proprietary or require external tools, and may not provide full compatibility with standard PGP workflows.
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
## 📤 Exporting and Sharing Public Keys
|
|
113
|
-
|
|
114
|
-
You can export your public key from **Kleopatra**, Thunderbird, or the command line, and share it via:
|
|
115
|
-
|
|
116
|
-
- Your website
|
|
117
|
-
- A keyserver (e.g., [keys.openpgp.org](https://keys.openpgp.org))
|
|
118
|
-
- Your GitHub profile (e.g., in `SECURITY.md` or a `PGP-KEY.asc` file)
|
|
119
|
-
|
|
120
|
-
### 🔧 Export via Command Line
|
|
121
|
-
|
|
122
|
-
If you’re using GnuPG directly:
|
|
123
|
-
|
|
124
|
-
```sh
|
|
125
|
-
gpg --armor --export your@email.com > publickey.asc
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
This creates a text-formatted (`.asc`) version of your public key that’s easy to upload or embed.
|
|
129
|
-
|
|
130
|
-
> 💡 Replace `your@email.com` with the email associated with your PGP key.
|
|
131
|
-
|
|
132
|
-
---
|
|
133
|
-
|
|
134
|
-
## 🛠 Troubleshooting Tips
|
|
135
|
-
|
|
136
|
-
- Ensure email address in key matches recipient’s address
|
|
137
|
-
- Key must be **trusted/imported** before encryption works
|
|
138
|
-
- For Outlook, restart if GpgOL ribbon does not appear
|
|
139
|
-
- Thunderbird may require re-indexing of OpenPGP keyring
|
|
140
|
-
|
|
141
|
-
---
|
|
142
|
-
|
|
143
|
-
## 📚 Learn More
|
|
144
|
-
|
|
145
|
-
- [Gpg4win Documentation](https://gpg4win.org/documentation.html)
|
|
146
|
-
- [How to Encrypt Emails with OpenPGP in Thunderbird (2022)](https://www.linuxbabe.com/security/encrypt-emails-gpg-thunderbird)
|
|
147
|
-
- [Mozilla OpenPGP Docs](https://support.mozilla.org/en-US/kb/openpgp-thunderbird-how-does-it-work)
|
|
148
|
-
- [Mailvelope Overview](https://www.mailvelope.com/help)
|
|
149
|
-
|
|
150
|
-
---
|
|
151
|
-
|
|
152
|
-
> 🔐 PGP protects your communication, but both parties must be using it correctly. Always test before sending sensitive content.
|
package/static/docs/pgp-win.md
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
# 💻 Using PGP on Windows (Gpg4win & Kleopatra)
|
|
2
|
-
|
|
3
|
-
## This section walks through encrypting a message or file using **Gpg4win** and its GUI tool **Kleopatra**
|
|
4
|
-
|
|
5
|
-
### 📦 1. Install Gpg4win
|
|
6
|
-
|
|
7
|
-
- Download from: [https://gpg4win.org](https://gpg4win.org)
|
|
8
|
-
- During setup, make sure **Kleopatra** is selected.
|
|
9
|
-
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
### 🔑 2. Import the Recipient’s Public Key
|
|
13
|
-
|
|
14
|
-
1. Open **Kleopatra**
|
|
15
|
-
2. Click `File` → `Import Certificates…`
|
|
16
|
-
3. Select the `.asc` or `.gpg` file you downloaded
|
|
17
|
-
4. Confirm the fingerprint matches the published value
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
### ✍️ 3. Encrypt a Message (Text)
|
|
22
|
-
|
|
23
|
-
1. In Kleopatra, go to `Tools` → `Clipboard` → `Encrypt`
|
|
24
|
-
2. Paste your message
|
|
25
|
-
3. Select the recipient’s public key
|
|
26
|
-
4. Click **Encrypt**
|
|
27
|
-
5. Copy or save the armored output (begins with `-----BEGIN PGP MESSAGE-----`)
|
|
28
|
-
|
|
29
|
-
You can now send that encrypted message via email or any communication platform.
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
### 📁 4. Encrypt a File
|
|
34
|
-
|
|
35
|
-
1. Right-click on any file (e.g., PDF or TXT)
|
|
36
|
-
2. Choose **More GpgEX options** → **Encrypt**
|
|
37
|
-
3. Select the recipient key
|
|
38
|
-
4. The encrypted file will be saved with a `.gpg` extension
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
### 🔓 5. Decrypt a Message or File
|
|
43
|
-
|
|
44
|
-
To decrypt a file:
|
|
45
|
-
|
|
46
|
-
- Right-click `.gpg` file → **Decrypt and verify**
|
|
47
|
-
|
|
48
|
-
To decrypt a clipboard message:
|
|
49
|
-
|
|
50
|
-
- In Kleopatra, go to `Tools` → `Clipboard` → `Decrypt/Verify`
|
|
51
|
-
- Paste the encrypted message
|
|
52
|
-
- Kleopatra will prompt for your private key if needed
|
|
53
|
-
|
|
54
|
-
---
|
|
55
|
-
|
|
56
|
-
### 🧠 Tips for Windows Users
|
|
57
|
-
|
|
58
|
-
- Your private key is protected by a passphrase — never share it.
|
|
59
|
-
- You can export your public key for others to encrypt messages to you.
|
|
60
|
-
- Kleopatra also supports **signing** files and messages to verify your identity.
|
|
61
|
-
|
|
62
|
-
---
|
|
63
|
-
|
|
64
|
-
📘 For full walkthroughs, see:
|
|
65
|
-
|
|
66
|
-
- [Gpg4win Documentation](https://gpg4win.org/documentation.html)
|
|
67
|
-
- [Kleopatra User Guide (PDF)](https://files.gpg4win.org/doc/gpg4win-compendium-en.pdf)
|
package/static/docs/pgp.md
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# 🔐 How to Encrypt Messages Using PGP
|
|
2
|
-
|
|
3
|
-
This guide explains how to encrypt a message or file using PGP (Pretty Good Privacy) for secure communication with **Network Pro Strategies** or any contact with a published PGP key.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## 📥 1. Obtain the Recipient's Public Key
|
|
8
|
-
|
|
9
|
-
You can find the official public key at:
|
|
10
|
-
|
|
11
|
-
- [https://netwk.pro/pgp](https://netwk.pro/pgp)
|
|
12
|
-
- Or via GitHub, Keybase, or direct contact
|
|
13
|
-
|
|
14
|
-
Make sure the key fingerprint matches what the recipient advertises.
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## 🔧 2. Import the Public Key
|
|
19
|
-
|
|
20
|
-
Save the public key as a `.asc` or `.gpg` file, then run:
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
gpg --import path/to/public-key.asc
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
You can confirm the key is imported:
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
gpg --list-keys
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## 🔏 3. Encrypt a Message
|
|
33
|
-
|
|
34
|
-
To encrypt a plain text file (e.g. message.txt) for the recipient:
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
gpg --encrypt --armor --recipient recipient@example.com message.txt
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
- --armor creates ASCII-formatted output
|
|
41
|
-
- Output is saved as message.txt.asc
|
|
42
|
-
|
|
43
|
-
## 🔏 4. Encrypt a File (Binary or Attachment)
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
gpg --encrypt --recipient recipient@example.com file.pdf
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
This will create file.pdf.gpg, which you can send securely.
|
|
50
|
-
|
|
51
|
-
## 🔓 Optional: Decrypting (For Testing)
|
|
52
|
-
|
|
53
|
-
If you're the recipient and want to decrypt a file:
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
gpg --decrypt file.txt.asc
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
## 🔐 Tips
|
|
60
|
-
|
|
61
|
-
- Always verify the recipient’s key fingerprint.
|
|
62
|
-
- Never share your private key.
|
|
63
|
-
- Use a strong passphrase to protect your keypair.
|
|
64
|
-
|
|
65
|
-
---
|
|
66
|
-
|
|
67
|
-
📘 For more help, see:
|
|
68
|
-
|
|
69
|
-
- [GnuPG Documentation](https://gnupg.org/documentation/)
|
|
70
|
-
- [A Practical Guide to GPG](https://www.linuxbabe.com/security/a-practical-guide-to-gpg-part-1-generate-your-keypair)
|
|
71
|
-
- [OpenPGP Best Practices](https://help.riseup.net/en/security/message-security/openpgp/best-practices)
|
package/static/docs/tracking.md
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
# Tracking Preferences & Privacy Signals
|
|
2
|
-
|
|
3
|
-
<!-- markdownlint-disable MD018 -->
|
|
4
|
-
|
|
5
|
-
## Overview
|
|
6
|
-
|
|
7
|
-
This document explains how Network Pro handles analytics tracking in a privacy-aware, user-consented, and standards-compliant manner. It covers:
|
|
8
|
-
|
|
9
|
-
- Tracking preference storage (cookies)
|
|
10
|
-
- Browser signals (DNT and GPC)
|
|
11
|
-
- Reconsent logic
|
|
12
|
-
- Reactive store architecture
|
|
13
|
-
|
|
14
|
-
### 🔐 Principles
|
|
15
|
-
|
|
16
|
-
- **Privacy by default**: Tracking is disabled when browser signals indicate user preference (DNT/GPC).
|
|
17
|
-
- **Explicit consent**: Users may opt-in or opt-out manually, overriding signals.
|
|
18
|
-
- **Persistent choice**: Consent state is remembered via first-party cookies.
|
|
19
|
-
- **Transparency**: The tracking status is shown to users in the UI.
|
|
20
|
-
|
|
21
|
-
### 🧠 Architecture Summary
|
|
22
|
-
|
|
23
|
-
- **Store**: `src/lib/stores/trackingPreferences.js`
|
|
24
|
-
- Consolidates logic for cookie preferences, browser signals, and consent state.
|
|
25
|
-
- SSR-safe, reactive, and fully declarative.
|
|
26
|
-
- **Deprecated**:
|
|
27
|
-
- `utils/privacy.js` → replaced by derived store logic.
|
|
28
|
-
- `utils/trackingCookies.js` → merged into the store with SSR-safe cookie APIs.
|
|
29
|
-
|
|
30
|
-
### Reactive State
|
|
31
|
-
|
|
32
|
-
| Store | Type | Description |
|
|
33
|
-
| ----------------------- | ------------------------- | ----------------------------------------------------------------------- |
|
|
34
|
-
| `trackingPreferences` | `Readable<TrackingState>` | Contains current tracking metadata (opt-in/out, DNT, GPC, status, etc). |
|
|
35
|
-
| `trackingEnabled` | `Writable<boolean>` | Exposed to toggle or query PostHog tracking state reactively. |
|
|
36
|
-
| `remindUserToReconsent` | `Readable<boolean>` | Indicates whether a consent renewal prompt should be shown. |
|
|
37
|
-
| `showReminder` | `Writable<boolean>` | Used by PostHog to conditionally display a reminder or banner. |
|
|
38
|
-
|
|
39
|
-
### ⏳ Reconsent Logic
|
|
40
|
-
|
|
41
|
-
The derived store `remindUserToReconsent` evaluates whether a user should be reminded to re-consent to tracking.
|
|
42
|
-
|
|
43
|
-
It checks for:
|
|
44
|
-
|
|
45
|
-
- Manual opt-in or opt-out
|
|
46
|
-
- A valid `tracking_consent_timestamp` cookie
|
|
47
|
-
- Whether 6+ months have elapsed since that timestamp
|
|
48
|
-
|
|
49
|
-
### ⚙️ Developer Notes
|
|
50
|
-
|
|
51
|
-
- Changes to tracking preferences update cookies and reactive state
|
|
52
|
-
- Reconsent timestamp is written/cleared via store utility functions
|
|
53
|
-
- Use `$trackingPreferences` and `remindUserToReconsent` wherever reactive values are needed
|
|
54
|
-
|
|
55
|
-
### 💡 Related Components
|
|
56
|
-
|
|
57
|
-
| File | Purpose |
|
|
58
|
-
| ------------------------------- | -------------------------------------------------------------------------------- |
|
|
59
|
-
| `+layout.svelte` | Initializes PostHog client and service worker; references `trackingPreferences`. |
|
|
60
|
-
| `PrivacyDashboard.svelte` | UI control panel for opt-in/out toggles and consent status display. |
|
|
61
|
-
| `PrivacyContent.svelte` | Informational content rendered in modals, footers, and standalone pages. |
|
|
62
|
-
| `stores/trackingPreferences.js` | Primary source of truth; tracks and derives tracking state. |
|
|
63
|
-
| `stores/posthog.js` | Encapsulates privacy-safe analytics setup and event capture logic. |
|