@networkpro/web 1.13.7 → 1.14.1

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.
Files changed (47) hide show
  1. package/.browserslistrc +5 -0
  2. package/.editorconfig +65 -0
  3. package/.env.template +18 -0
  4. package/.gitattributes +212 -0
  5. package/.github/COMMIT_GUIDE.md +31 -0
  6. package/.github/ISSUE_TEMPLATE/bug_report.yml +74 -0
  7. package/.github/ISSUE_TEMPLATE/config.yml +32 -0
  8. package/.github/ISSUE_TEMPLATE/feature_request.yml +35 -0
  9. package/.github/ISSUE_TEMPLATE/legal_review.yml +53 -0
  10. package/.github/workflows/auto-assign.yml +36 -0
  11. package/.github/workflows/backup-branch.yml +40 -0
  12. package/.github/workflows/build-and-publish.yml +202 -0
  13. package/.github/workflows/check-codeql.yml +40 -0
  14. package/.github/workflows/check-security-txt-expirty.yml +46 -0
  15. package/.github/workflows/dependency-review.yml +22 -0
  16. package/.github/workflows/lighthouse.yml +163 -0
  17. package/.github/workflows/playwright.yml +66 -0
  18. package/.github/workflows/publish-test.yml +215 -0
  19. package/.github/workflows/templates/check-codeql.template.yml +47 -0
  20. package/.lighthouserc.cjs +37 -0
  21. package/.markdownlint.mjs +31 -0
  22. package/.md-smart-quotes.js +31 -0
  23. package/.node-version +1 -0
  24. package/.nvmrc +1 -0
  25. package/.prettierignore +55 -0
  26. package/.prettierrc +35 -0
  27. package/.stylelintignore +43 -0
  28. package/.svelte-kit/tsconfig.json +49 -0
  29. package/.vscode/customData.json +73 -0
  30. package/.vscode/extensions.json +13 -0
  31. package/.vscode/extensions.jsonc +24 -0
  32. package/.vscode/settings.json +80 -0
  33. package/CHANGELOG.md +56 -2
  34. package/cspell.json +4 -0
  35. package/package.json +3 -3
  36. package/src/app.html +1 -1
  37. package/src/lib/components/ui/.gitkeep +0 -0
  38. package/src/lib/data/fossData.js +82 -2
  39. package/src/lib/images.js +6 -4
  40. package/src/lib/img/posts/cryptomator.png +0 -0
  41. package/src/lib/img/posts/cryptomator.webp +0 -0
  42. package/src/routes/...404/+page.svelte +26 -0
  43. package/static/.well-known/dnt-policy.txt +218 -0
  44. package/static/.well-known/gpc.json +4 -0
  45. package/static/.well-known/humans.txt +21 -0
  46. package/static/.well-known/security.txt +12 -0
  47. package/static/.well-known/security.txt.sig +7 -0
@@ -0,0 +1,80 @@
1
+ {
2
+ // Editor settings
3
+ "editor.defaultFoldingRangeProvider": "esbenp.prettier-vscode",
4
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
5
+ "[markdown]": {
6
+ "editor.defaultFoldingRangeProvider": "esbenp.prettier-vscode",
7
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
8
+ },
9
+ "[svelte]": {
10
+ "editor.defaultFormatter": "svelte.svelte-vscode",
11
+ "editor.tabSize": 2
12
+ },
13
+ "[json]": {
14
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
15
+ },
16
+ "[jsonc]": {
17
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
18
+ },
19
+ // ESLint configuration
20
+ "eslint.workingDirectories": ["D:\\Netwk-Pro\\git\\netwk-pro.github.io"],
21
+ "eslint.validate": ["svelte", "javascript", "javascriptreact"],
22
+ "eslint.lintTask.enable": true,
23
+ "eslint.lintTask.options": ". --ext .mjs,.js,.svelte --config eslint.config.mjs",
24
+ "eslint.useESLintClass": true,
25
+ "eslint.useFlatConfig": true,
26
+ "eslint.codeActionsOnSave.mode": "problems",
27
+ "eslint.probe": [
28
+ "javascript",
29
+ "javascriptreact",
30
+ "html",
31
+ "markdown",
32
+ "json",
33
+ "jsonc",
34
+ "svelte"
35
+ ],
36
+ // Stylelint configuration
37
+ "stylelint.configBasedir": "D:\\Netwk-Pro\\git\\netwk-pro.github.io",
38
+ "stylelint.configFile": "stylelint.config.js",
39
+ "stylelint.validate": ["css", "postcss", "html", "svelte"],
40
+ // Custom CSS data for FontAwesome classes
41
+ "css.customData": [
42
+ ".vscode/customData.json" // Path to your custom data file
43
+ ],
44
+ "markdown.validate.enabled": false,
45
+ "markdown.validate.ignoredLinks": [
46
+ "#bugs",
47
+ "#features",
48
+ "#top",
49
+ "#ownership",
50
+ "#trademark",
51
+ "#branding",
52
+ "#licensed-material",
53
+ "#licenses",
54
+ "#dlnotes",
55
+ "#cc-by",
56
+ "#gnu-gpl",
57
+ "#third-party",
58
+ "#prohibited-uses",
59
+ "#disclaimer",
60
+ "#contact",
61
+ "#revisions",
62
+ "#pledge",
63
+ "#standards",
64
+ "#response",
65
+ "#enforce",
66
+ "#attribute",
67
+ "#version",
68
+ "#structure",
69
+ "#getting-started",
70
+ "#configuration",
71
+ "#sw-utilities",
72
+ "#cspreport",
73
+ "#testing",
74
+ "#toolchain",
75
+ "#toolconfig",
76
+ "#scripts",
77
+ "#license",
78
+ "#questions"
79
+ ]
80
+ }
package/CHANGELOG.md CHANGED
@@ -20,11 +20,62 @@ This project attempts to follow [Keep a Changelog](https://keepachangelog.com/en
20
20
 
21
21
  ## [Unreleased]
22
22
 
23
+ ---
24
+
25
+ ## [1.14.1] - 2025-06-16
26
+
27
+ ### Changed
28
+
29
+ - Updated Node.js engine to `24` to match the specified engine constraints in `package.json`.
30
+ - Reordered `npm ci` step to follow Node.js and npm setup to prevent version mismatches during simulation steps.
31
+ - Refactored `build-and-publish.yml` to use `git archive` for artifact preparation and aligned it with a tested publishing flow.
32
+ - Removed `.npmrc` token-based authentication in favor of environment secrets to avoid credential conflicts.
33
+
34
+ ### Added
35
+
36
+ - Introduced `.github/workflows/publish-test.yml`, a standalone workflow to safely simulate `npm publish` without publishing.
37
+ - Added commands to display Node.js and npm versions for visibility and troubleshooting in all relevant jobs.
38
+
39
+ ---
40
+
41
+ ## [1.14.0] - 2025-06-16
42
+
43
+ ### Changed
44
+
45
+ - Commented out registry and auth lines in `.npmrc`, retaining only `engine-strict=true` to streamline CI token handling and prevent conflicts
46
+
47
+ ### Reverted
48
+
49
+ - Temporarily reverted `build-and-publish.yml` to prior, working workflow to confirm publish capability before attempting archive-based improvements
50
+
51
+ ---
52
+
53
+ ## [1.13.8] - 2025-06-16
54
+
55
+ ### Added
56
+
57
+ - Added `cryptomator.png` and `cryptomator.webp` images for use in the FOSS Spotlight route
58
+ - Imported assets via image utility (`src/lib/images.js`) as `cryptomPng` and `cryptomWbp`
59
+ - Introduced `cryptomator` entry to `fossData.js`
60
+ - Added `COMMIT_GUIDE.md` to help standardize commit message formatting across contributions
61
+
62
+ ### Changed
63
+
64
+ - Updated `build-and-publish.yml` to use an allowlist-based upload approach, explicitly including root-level files and directories (`.github/`, `.vscode/`, `netlify/`, `scripts/`, `src/`, `static/`, and `tests/`)
65
+ - Updated meta `author` field in `app.html` to `Scott Lopez`
66
+ - Version bumped to **v1.13.8**
67
+ - Upgraded dependencies:
68
+ - `postcss` updated from `^8.5.5` → `^8.5.6`
69
+ - `posthog-js` updated from `^1.252.1` → `^1.253.4`
70
+
71
+ ---
72
+
23
73
  ## [1.13.7] - 2025-06-15
24
74
 
25
75
  ### Changed
26
76
 
27
77
  - Added pre-publish steps in `build-and-publish.yml` to recursively list all files and top-level directory contents for auditing
78
+ - Version bumped to **v1.13.7**
28
79
 
29
80
  ---
30
81
 
@@ -448,7 +499,10 @@ This project attempts to follow [Keep a Changelog](https://keepachangelog.com/en
448
499
 
449
500
  <!-- Link references -->
450
501
 
451
- [Unreleased]: https://github.com/netwk-pro/netwk-pro.github.io/compare/v1.13.7...HEAD
502
+ [Unreleased]: https://github.com/netwk-pro/netwk-pro.github.io/compare/v1.14.1...HEAD
503
+ [1.14.1]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.14.1
504
+ [1.14.0]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.14.0
505
+ [1.13.8]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.13.8
452
506
  [1.13.7]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.13.7
453
507
  [1.13.6]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.13.6
454
508
  [1.13.5]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.13.5
@@ -466,4 +520,4 @@ This project attempts to follow [Keep a Changelog](https://keepachangelog.com/en
466
520
  [1.12.3]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.12.3
467
521
  [1.12.1]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.12.1
468
522
 
469
- <!-- cspell:ignore qrcode -->
523
+ <!-- cspell:ignore qrcode cryptom -->
package/cspell.json CHANGED
@@ -13,10 +13,13 @@
13
13
  "ccby",
14
14
  "CCPA",
15
15
  "CPRA",
16
+ "cryptomator",
17
+ "dont",
16
18
  "elif",
17
19
  "Embedder",
18
20
  "Ente",
19
21
  "esbuild",
22
+ "fdroid",
20
23
  "fontawesome",
21
24
  "foss",
22
25
  "geolocation",
@@ -61,6 +64,7 @@
61
64
  "prefs",
62
65
  "publickey",
63
66
  "reconsent",
67
+ "shizuku",
64
68
  "SIEM",
65
69
  "SPDY",
66
70
  "squircle",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@networkpro/web",
3
3
  "private": false,
4
- "version": "1.13.7",
4
+ "version": "1.14.1",
5
5
  "description": "Locking Down Networks, Unlocking Confidence™ | Security, Networking, Privacy — Network Pro Strategies",
6
6
  "keywords": [
7
7
  "advisory",
@@ -80,7 +80,7 @@
80
80
  },
81
81
  "dependencies": {
82
82
  "dompurify": "^3.2.6",
83
- "posthog-js": "^1.252.1",
83
+ "posthog-js": "^1.253.4",
84
84
  "semver": "^7.7.2",
85
85
  "svelte": "5.34.3"
86
86
  },
@@ -108,7 +108,7 @@
108
108
  "markdownlint-cli2": "^0.18.1",
109
109
  "mdsvex": "^0.12.6",
110
110
  "playwright": "^1.53.0",
111
- "postcss": "^8.5.5",
111
+ "postcss": "^8.5.6",
112
112
  "prettier": "^3.5.3",
113
113
  "prettier-plugin-svelte": "^3.4.0",
114
114
  "stylelint": "^16.20.0",
package/src/app.html CHANGED
@@ -15,7 +15,7 @@
15
15
  <meta
16
16
  name="robots"
17
17
  content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" />
18
- <meta name="author" content="Network Pro Strategies" />
18
+ <meta name="author" content="Scott Lopez" />
19
19
 
20
20
  <!-- Favicon: Keep only ICO for max compatibility -->
21
21
  <link
File without changes
@@ -7,7 +7,7 @@ This file is part of Network Pro.
7
7
  ========================================================================== */
8
8
 
9
9
  // Import FOSS images
10
- import { acodePng, acodeWbp, eauthPng, eauthWbp, hboardPng, hboardWbp, lsheetPng, lsheetWbp, pmxPng, pmxWbp, squirclePng, squircleWbp, tosPng, tosWbp, urlPng, urlWbp } from "$lib";
10
+ import { acodePng, acodeWbp, cryptomPng, cryptomWbp, eauthPng, eauthWbp, hboardPng, hboardWbp, lsheetPng, lsheetWbp, pmxPng, pmxWbp, squirclePng, squircleWbp, tosPng, tosWbp, urlPng, urlWbp } from "$lib";
11
11
 
12
12
  // cspell:disable
13
13
  /**
@@ -26,6 +26,86 @@ const lsheetLink = "obtainium://app/%7B%22id%22%3A%22fe.linksheet.nightly%22%2C%
26
26
  //cspell:enable
27
27
 
28
28
  export const fossData = [
29
+ {
30
+ id: "cryptomator",
31
+ images: {
32
+ webp: cryptomWbp,
33
+ png: cryptomPng,
34
+ },
35
+ imgAlt: "Cryptomator",
36
+ title: "Cryptomator",
37
+ headline: "Vault Up Your Cloud Privacy",
38
+ headlineDescription: `
39
+ <p>
40
+ Tired of feeling like your cloud files are just floating out there, unprotected? Say hello to <strong>Cryptomator</strong>—your personal vault for keeping sensitive data safe in the cloud, <em>without giving up open-source freedom</em>.
41
+ </p>
42
+ <p>
43
+ 🛡️ <strong>Cryptomator</strong> provides transparent client-side encryption for your cloud storage. Whether you're using Nextcloud, Google Drive, OneDrive or another service, Cryptomator keeps your files <strong>encrypted and private</strong>—before they even leave your device.
44
+ </p>
45
+ `,
46
+ features: [
47
+ {
48
+ emoji: "📋",
49
+ label: "Why Cryptomator stands out:",
50
+ isIntro: true
51
+ },
52
+ {
53
+ emoji: "🔐",
54
+ label: "Zero-knowledge encryption",
55
+ description: "not even Cryptomator can access your data",
56
+ },
57
+ {
58
+ emoji: "🆓",
59
+ label: "Completely free and open-source",
60
+ description: "GPLv3",
61
+ },
62
+ {
63
+ emoji: "💻",
64
+ label: "Cross-platform",
65
+ description: "Windows, macOS, Linux, iOS & Android"
66
+ },
67
+ {
68
+ emoji: "📂",
69
+ label: "Folder-level encryption",
70
+ description: "integrated with your file system",
71
+ },
72
+ {
73
+ emoji: "💬",
74
+ label: "No account needed",
75
+ description: "no tracking, no ads"
76
+ }
77
+ ],
78
+ detailsDescription: `
79
+ <p>
80
+ 📈 Why privacy-conscious users are switching:<br />
81
+ ✅ <strong>User-friendly interface</strong><br />
82
+ ✅ <strong>End-to-end encryption</strong> without needing to trust any cloud provider<br />
83
+ ✅ <strong>Community-driven</strong> with regular updates<br />
84
+ ✅ <strong>Works with any cloud provider</strong><br />
85
+ ✅ <strong>100% local key management</strong>
86
+ </p>
87
+ <p>
88
+ Your cloud deserves more than blind trust. Cryptomator empowers you to <em>own your data</em> with ease and elegance.
89
+ </p>
90
+ `,
91
+ links: [
92
+ {
93
+ label: "Website",
94
+ href: "https://cryptomator.org",
95
+ },
96
+ {
97
+ label: "GitHub",
98
+ href: "https://github.com/cryptomator/cryptomator",
99
+ },
100
+ {
101
+ label: "F-Droid",
102
+ href: "https://f-droid.org/en/packages/org.cryptomator.lite/",
103
+ }
104
+ ],
105
+ notes: [
106
+ "Cryptomator is available from several sources, including <strong>Google Play, F-Droid, and GitHub/Obtainium</strong>. While we generally recommend using only open-source versions, <strong>you may opt for the Google Play version if Google Drive integration is important to you</strong>. Note that the F-Droid and GitHub versions exclude third-party libraries, which means <strong>they cannot interface with Google Drive</strong>."
107
+ ],
108
+ },
29
109
  {
30
110
  id: "squircle",
31
111
  images: {
@@ -591,4 +671,4 @@ export const fossData = [
591
671
  },
592
672
  ];
593
673
 
594
- // cspell:ignore hboard gboard lsheet eauth tosdr
674
+ // cspell:ignore hboard gboard lsheet eauth tosdr cryptom
package/src/lib/images.js CHANGED
@@ -6,8 +6,6 @@ SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== */
8
8
 
9
- // cspell:ignore lsheet tosdr
10
-
11
9
  /**
12
10
  * Image import utility
13
11
  *
@@ -15,7 +13,7 @@ This file is part of Network Pro.
15
13
  * @description Provides convenient access to images in the src/lib/img directory
16
14
  * @module src/lib
17
15
  * @author SunDevil311
18
- * @updated 2025-06-09
16
+ * @updated 2025-06-16
19
17
  */
20
18
 
21
19
  // Import favicon images
@@ -39,6 +37,8 @@ import obtainiumWbp from '$lib/img/obtainium.webp';
39
37
  // Import images for posts
40
38
  import acodePng from '$lib/img/posts/acode.png';
41
39
  import acodeWbp from '$lib/img/posts/acode.webp';
40
+ import cryptomPng from "$lib/img/posts/cryptomator.png";
41
+ import cryptomWbp from "$lib/img/posts/cryptomator.webp";
42
42
  import eauthPng from '$lib/img/posts/eauth.png';
43
43
  import eauthWbp from '$lib/img/posts/eauth.webp';
44
44
  import hboardPng from '$lib/img/posts/hboard.png';
@@ -72,6 +72,8 @@ export {
72
72
  bySvg,
73
73
  ccBadge,
74
74
  ccSvg,
75
+ cryptomPng,
76
+ cryptomWbp,
75
77
  eauthPng,
76
78
  eauthWbp,
77
79
  faviconSvg,
@@ -99,4 +101,4 @@ export {
99
101
  vcfWbp
100
102
  };
101
103
 
102
- // cspell:ignore eauth hboard
104
+ // cspell:ignore eauth hboard cryptom tosdr
@@ -0,0 +1,26 @@
1
+ <!-- ==========================================================================
2
+ src/routes/...404/+page.svelte
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
+
9
+ <script>
10
+ /**
11
+ * @type {string}
12
+ * Style class for the h1 and p elements.
13
+ */
14
+ const centerText = 'center-text';
15
+
16
+ /** @type {{ pathname: string } | undefined} */
17
+ export let url;
18
+
19
+ // Use a fallback pathname if `url` is undefined
20
+ const pathname = url?.pathname ?? '/';
21
+ </script>
22
+
23
+ <main>
24
+ <h1 class={centerText}>404 - Page Not Found</h1>
25
+ <p class={centerText}>The page "{pathname}" does not exist.</p>
26
+ </main>
@@ -0,0 +1,218 @@
1
+ Do Not Track Compliance Policy
2
+
3
+ Version 1.0
4
+
5
+ This domain complies with user opt-outs from tracking via the "Do Not Track"
6
+ or "DNT" header [http://www.w3.org/TR/tracking-dnt/]. This file will always
7
+ be posted via HTTPS at https://example-domain.com/.well-known/dnt-policy.txt
8
+ to indicate this fact.
9
+
10
+ SCOPE
11
+
12
+ This policy document allows an operator of a Fully Qualified Domain Name
13
+ ("domain") to declare that it respects Do Not Track as a meaningful privacy
14
+ opt-out of tracking, so that privacy-protecting software can better determine
15
+ whether to block or anonymize communications with this domain. This policy is
16
+ intended first and foremost to be posted on domains that publish ads, widgets,
17
+ images, scripts and other third-party embedded hypertext (for instance on
18
+ widgets.example.com), but it can be posted on any domain, including those users
19
+ visit directly (such as www.example.com). The policy may be applied to some
20
+ domains used by a company, site, or service, and not to others. Do Not Track
21
+ may be sent by any client that uses the HTTP protocol, including websites,
22
+ mobile apps, and smart devices like TVs. Do Not Track also works with all
23
+ protocols able to read HTTP headers, including SPDY.
24
+
25
+ NOTE: This policy contains both Requirements and Exceptions. Where possible
26
+ terms are defined in the text, but a few additional definitions are included
27
+ at the end.
28
+
29
+ REQUIREMENTS
30
+
31
+ When this domain receives Web requests from a user who enables DNT by actively
32
+ choosing an opt-out setting in their browser or by installing software that is
33
+ primarily designed to protect privacy ("DNT User"), we will take the following
34
+ measures with respect to those users' data, subject to the Exceptions, also
35
+ listed below:
36
+
37
+ 1. END USER IDENTIFIERS:
38
+
39
+ a. If a DNT User has logged in to our service, all user identifiers, such as
40
+ unique or nearly unique cookies, "supercookies" and fingerprints are
41
+ discarded as soon as the HTTP(S) response is issued.
42
+
43
+ Data structures which associate user identifiers with accounts may be
44
+ employed to recognize logged in users per Exception 4 below, but may not
45
+ be associated with records of the user's activities unless otherwise
46
+ excepted.
47
+
48
+ b. If a DNT User is not logged in to our service, we will take steps to ensure
49
+ that no user identifiers are transmitted to us at all.
50
+
51
+ 2. LOG RETENTION:
52
+
53
+ a. Logs with DNT Users' identifiers removed (but including IP addresses and
54
+ User Agent strings) may be retained for a period of 10 days or less,
55
+ unless an Exception (below) applies. This period of time balances privacy
56
+ concerns with the need to ensure that log processing systems have time to
57
+ operate; that operations engineers have time to monitor and fix technical
58
+ and performance problems; and that security and data aggregation systems
59
+ have time to operate.
60
+
61
+ b. These logs will not be used for any other purposes.
62
+
63
+ 3. OTHER DOMAINS:
64
+
65
+ a. If this domain transfers identifiable user data about DNT Users to
66
+ contractors, affiliates or other parties, or embeds from or posts data to
67
+ other domains, we will either:
68
+
69
+ b. ensure that the operators of those domains abide by this policy overall
70
+ by posting it at /.well-known/dnt-policy.txt via HTTPS on the domains in
71
+ question,
72
+
73
+ OR
74
+
75
+ ensure that the recipient's policies and practices require the recipient
76
+ to respect the policy for our DNT Users' data.
77
+
78
+ OR
79
+
80
+ obtain a contractual commitment from the recipient to respect this policy
81
+ for our DNT Users' data.
82
+
83
+ NOTE: if an “Other Domain” does not receive identifiable user information
84
+ from the domain because such information has been removed, because the
85
+ Other Domain does not log that information, or for some other reason, these
86
+ requirements do not apply.
87
+
88
+ c. "Identifiable" means any records which are not Anonymized or otherwise
89
+ covered by the Exceptions below.
90
+
91
+ 4. PERIODIC REASSERTION OF COMPLIANCE:
92
+
93
+ At least once every 12 months, we will take reasonable steps commensurate
94
+ with the size of our organization and the nature of our service to confirm
95
+ our ongoing compliance with this document, and we will publicly reassert our
96
+ compliance.
97
+
98
+ 5. USER NOTIFICATION:
99
+
100
+ a. If we are required by law to retain or disclose user identifiers, we will
101
+ attempt to provide the users with notice (unless we are prohibited or it
102
+ would be futile) that a request for their information has been made in
103
+ order to give the users an opportunity to object to the retention or
104
+ disclosure.
105
+
106
+ b. We will attempt to provide this notice by email, if the users have given
107
+ us an email address, and by postal mail if the users have provided a
108
+ postal address.
109
+
110
+ c. If the users do not challenge the disclosure request, we may be legally
111
+ required to turn over their information.
112
+
113
+ d. We may delay notice if we, in good faith, believe that an emergency
114
+ involving danger of death or serious physical injury to any person
115
+ requires disclosure without delay of information relating to the
116
+ emergency.
117
+
118
+ EXCEPTIONS
119
+
120
+ Data from DNT Users collected by this domain may be logged or retained only in
121
+ the following specific situations:
122
+
123
+ 1. CONSENT / "OPT BACK IN"
124
+
125
+ a. DNT Users are opting out from tracking across the Web. It is possible
126
+ that for some feature or functionality, we will need to ask a DNT User to
127
+ "opt back in" to be tracked by us across the entire Web.
128
+
129
+ b. If we do that, we will take reasonable steps to verify that the users who
130
+ select this option have genuinely intended to opt back in to tracking.
131
+ One way to do this is by performing scientifically reasonable user
132
+ studies with a representative sample of our users, but smaller
133
+ organizations can satisfy this requirement by other means.
134
+
135
+ c. Where we believe that we have opt back in consent, our server will
136
+ send a tracking value status header "Tk: C" as described in section 6.2
137
+ of the W3C Tracking Preference Expression draft:
138
+
139
+ http://www.w3.org/TR/tracking-dnt/#tracking-status-value
140
+
141
+ 2. TRANSACTIONS
142
+
143
+ If a DNT User actively and knowingly enters a transaction with our
144
+ services (for instance, clicking on a clearly-labeled advertisement,
145
+ posting content to a widget, or purchasing an item), we will retain
146
+ necessary data for as long as required to perform the transaction. This
147
+ may for example include keeping auditing information for clicks on
148
+ advertising links; keeping a copy of posted content and the name of the
149
+ posting user; keeping server-side session IDs to recognize logged in
150
+ users; or keeping a copy of the physical address to which a purchased
151
+ item will be shipped. By their nature, some transactions will require data
152
+ to be retained indefinitely.
153
+
154
+ 3. TECHNICAL AND SECURITY LOGGING:
155
+
156
+ a. If, during the processing of the initial request (for unique identifiers)
157
+ or during the subsequent 10 days (for IP addresses and User Agent strings),
158
+ we obtain specific information that causes our employees or systems to
159
+ believe that a request is, or is likely to be, part of a security attack,
160
+ spam submission, or fraudulent transaction, then logs of those requests
161
+ are not subject to this policy.
162
+
163
+ b. If we encounter technical problems with our site, then, in rare
164
+ circumstances, we may retain logs for longer than 10 days, if that is
165
+ necessary to diagnose and fix those problems, but this practice will not be
166
+ routinized and we will strive to delete such logs as soon as possible.
167
+
168
+ 4. AGGREGATION:
169
+
170
+ a. We may retain and share anonymized datasets, such as aggregate records of
171
+ readership patterns; statistical models of user behavior; graphs of system
172
+ variables; data structures to count active users on monthly or yearly
173
+ bases; database tables mapping authentication cookies to logged in
174
+ accounts; non-unique data structures constructed within browsers for tasks
175
+ such as ad frequency capping or conversion tracking; or logs with truncated
176
+ and/or encrypted IP addresses and simplified User Agent strings.
177
+
178
+ b. "Anonymized" means we have conducted risk mitigation to ensure
179
+ that the dataset, plus any additional information that is in our
180
+ possession or likely to be available to us, does not allow the
181
+ reconstruction of reading habits, online or offline activity of groups of
182
+ fewer than 5000 individuals or devices.
183
+
184
+ c. If we generate anonymized datasets under this exception we will publicly
185
+ document our anonymization methods in sufficient detail to allow outside
186
+ experts to evaluate the effectiveness of those methods.
187
+
188
+ 5. ERRORS:
189
+
190
+ From time to time, there may be errors by which user data is temporarily
191
+ logged or retained in violation of this policy. If such errors are
192
+ inadvertent, rare, and made in good faith, they do not constitute a breach
193
+ of this policy. We will delete such data as soon as practicable after we
194
+ become aware of any error and take steps to ensure that it is deleted by any
195
+ third-party who may have had access to the data.
196
+
197
+ ADDITIONAL DEFINITIONS
198
+
199
+ "Fully Qualified Domain Name" means a domain name that addresses a computer
200
+ connected to the Internet. For instance, example1.com; www.example1.com;
201
+ ads.example1.com; and widgets.example2.com are all distinct FQDNs.
202
+
203
+ "Supercookie" means any technology other than an HTTP Cookie which can be used
204
+ by a server to associate identifiers with the clients that visit it. Examples
205
+ of supercookies include Flash LSO cookies, DOM storage, HTML5 storage, or
206
+ tricks to store information in caches or etags.
207
+
208
+ "Risk mitigation" means an engineering process that evaluates the possibility
209
+ and likelihood of various adverse outcomes, considers the available methods of
210
+ making those adverse outcomes less likely, and deploys sufficient mitigations
211
+ to bring the probability and harm from adverse outcomes below an acceptable
212
+ threshold.
213
+
214
+ "Reading habits" includes amongst other things lists of visited DNS names, if
215
+ those domains pertain to specific topics or activities, but records of visited
216
+ DNS names are not reading habits if those domain names serve content of a very
217
+ diverse and general nature, thereby revealing minimal information about the
218
+ opinions, interests or activities of the user.
@@ -0,0 +1,4 @@
1
+ {
2
+ "gpc": true,
3
+ "lastUpdate": "2025-06-02"
4
+ }
@@ -0,0 +1,21 @@
1
+ /* TEAM */
2
+ Organization: Network Pro Strategies (Network Pro™)
3
+ URL: https://netwk.pro
4
+ Contact: SunDevil311 (Scott Lopez)
5
+ GitHub: https://github.com/netwk-pro
6
+ Email: support@neteng.pro
7
+
8
+ /* PGP */
9
+ PGP Fingerprint: 6590 B992 E2E3 EFF1 2738 7BCE 2AF0 93E9 DEC6 1BA0
10
+ PGP Key: https://netwk.pro/pgp/support@neteng.pro.asc
11
+
12
+ /* SITE */
13
+ Standards: HTML5, CSS3, SvelteKit, Markdown
14
+ Tools: GitHub, Material for MkDocs, Proton Mail
15
+ Hosting: Decentralized / CDN-backed static infrastructure
16
+
17
+ /* MOTTO */
18
+ "Designed for professionals. Hardened for privacy. Built with intent."
19
+
20
+ /* LAST UPDATED */
21
+ 2025-06-11
@@ -0,0 +1,12 @@
1
+ # Addresses under the s.neteng.pro domain are powered by Proton Mail.
2
+ # These accounts support built-in encryption and default end-to-end protection.
3
+ Contact: mailto:security@s.neteng.pro
4
+ Encryption: https://raw.githubusercontent.com/netwk-pro/.github/master/PGP-KEY.asc
5
+ Acknowledgments: https://github.com/netwk-pro/netwk-pro.github.io/security/policy
6
+ Policy: https://github.com/netwk-pro/netwk-pro.github.io/security/policy
7
+ Preferred-Languages: en
8
+ Canonical: https://netwk.pro/.well-known/security.txt
9
+ Signature: https://netwk.pro/.well-known/security.txt.sig
10
+ # This file is authenticated using a detached GPG signature:
11
+ # https://netwk.pro/.well-known/security.txt.sig
12
+ Expires: 2025-12-31T23:59:59Z
@@ -0,0 +1,7 @@
1
+ -----BEGIN PGP SIGNATURE-----
2
+
3
+ iIwEABYKADQWIQS3/h1ObKs+cUqf325Iy3KQwA0NpQUCaEyxUhYcc2VjdXJpdHlA
4
+ cy5uZXRlbmcucHJvAAoJEEjLcpDADQ2lPAgA/0rNLm+HpBmlYn2ETD0jyX7jDdPB
5
+ YSX2AifNCEV+AW63AQDTyKq0E0sw45eOjqZnLCxByuRWcNwj8wazWR1p+2ptDw==
6
+ =ybGE
7
+ -----END PGP SIGNATURE-----