@networkpro/blog 1.5.9 → 1.6.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.
@@ -27,7 +27,7 @@ jobs:
27
27
 
28
28
  steps:
29
29
  - name: Checkout master branch
30
- uses: actions/checkout@v5
30
+ uses: actions/checkout@v6
31
31
  with:
32
32
  ref: master
33
33
  fetch-depth: 0 # Required to push to another branch
@@ -18,7 +18,7 @@ jobs:
18
18
 
19
19
  steps:
20
20
  - name: 'Checkout Repository'
21
- uses: actions/checkout@v5
21
+ uses: actions/checkout@v6
22
22
 
23
23
  - name: 'Dependency Review'
24
24
  uses: actions/dependency-review-action@v4
@@ -31,7 +31,7 @@ jobs:
31
31
 
32
32
  steps:
33
33
  - name: Checkout repository
34
- uses: actions/checkout@v5
34
+ uses: actions/checkout@v6
35
35
  with:
36
36
  fetch-depth: 0
37
37
 
@@ -45,7 +45,7 @@ jobs:
45
45
  - name: Upgrade npm
46
46
  run: |
47
47
  corepack enable
48
- npm install -g npm@11.6.2
48
+ npm install -g npm@11.7.0
49
49
 
50
50
  - name: Install Node.js dependencies
51
51
  run: npm ci
@@ -73,7 +73,7 @@ jobs:
73
73
  run: git archive --format=tar.gz --output=clean-source.tar.gz HEAD
74
74
 
75
75
  - name: Upload source archive
76
- uses: actions/upload-artifact@v5
76
+ uses: actions/upload-artifact@v6
77
77
  with:
78
78
  name: clean-source
79
79
  path: clean-source.tar.gz
@@ -86,7 +86,7 @@ jobs:
86
86
 
87
87
  steps:
88
88
  - name: Download clean source archive
89
- uses: actions/download-artifact@v5
89
+ uses: actions/download-artifact@v7
90
90
  with:
91
91
  name: clean-source
92
92
  path: ./
@@ -113,7 +113,7 @@ jobs:
113
113
  - name: Upgrade npm
114
114
  run: |
115
115
  corepack enable
116
- npm install -g npm@11.6.2
116
+ npm install -g npm@11.7.0
117
117
 
118
118
  - name: Install Node.js dependencies
119
119
  run: npm ci
@@ -136,7 +136,7 @@ jobs:
136
136
 
137
137
  steps:
138
138
  - name: Download clean source archive
139
- uses: actions/download-artifact@v5
139
+ uses: actions/download-artifact@v7
140
140
  with:
141
141
  name: clean-source
142
142
  path: ./
@@ -163,7 +163,7 @@ jobs:
163
163
  - name: Upgrade npm
164
164
  run: |
165
165
  corepack enable
166
- npm install -g npm@11.6.2
166
+ npm install -g npm@11.7.0
167
167
 
168
168
  - name: Install Node.js dependencies
169
169
  run: npm ci
@@ -35,7 +35,7 @@ jobs:
35
35
 
36
36
  steps:
37
37
  - name: Checkout repository
38
- uses: actions/checkout@v5
38
+ uses: actions/checkout@v6
39
39
  with:
40
40
  fetch-depth: 0
41
41
 
@@ -49,7 +49,7 @@ jobs:
49
49
  - name: Upgrade npm
50
50
  run: |
51
51
  corepack enable
52
- npm install -g npm@11.6.2
52
+ npm install -g npm@11.7.0
53
53
 
54
54
  - name: Install Node.js dependencies
55
55
  run: npm ci
@@ -77,7 +77,7 @@ jobs:
77
77
  run: git archive --format=tar.gz --output=clean-source.tar.gz HEAD
78
78
 
79
79
  - name: Upload source archive
80
- uses: actions/upload-artifact@v5
80
+ uses: actions/upload-artifact@v6
81
81
  with:
82
82
  name: clean-source
83
83
  path: clean-source.tar.gz
@@ -90,7 +90,7 @@ jobs:
90
90
 
91
91
  steps:
92
92
  - name: Download clean source archive
93
- uses: actions/download-artifact@v5
93
+ uses: actions/download-artifact@v7
94
94
  with:
95
95
  name: clean-source
96
96
  path: ./
@@ -112,7 +112,7 @@ jobs:
112
112
  - name: Upgrade npm
113
113
  run: |
114
114
  corepack enable
115
- npm install -g npm@11.6.2
115
+ npm install -g npm@11.7.0
116
116
 
117
117
  - name: Install Node.js dependencies
118
118
  run: npm ci
@@ -135,7 +135,7 @@ jobs:
135
135
 
136
136
  steps:
137
137
  - name: Download clean source archive
138
- uses: actions/download-artifact@v5
138
+ uses: actions/download-artifact@v7
139
139
  with:
140
140
  name: clean-source
141
141
  path: ./
@@ -157,7 +157,7 @@ jobs:
157
157
  - name: Upgrade npm
158
158
  run: |
159
159
  corepack enable
160
- npm install -g npm@11.6.2
160
+ npm install -g npm@11.7.0
161
161
 
162
162
  - name: Install Node.js dependencies
163
163
  run: npm ci
package/CHANGELOG.md CHANGED
@@ -6,9 +6,9 @@
6
6
 
7
7
  All notable changes to this project will be documented in this file.
8
8
 
9
- This project attempts to follow
10
- [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), though versioning and
11
- formatting may vary.
9
+ This project follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
10
+ Version numbers use a **SemVer-inspired** `MAJOR.MINOR.PATCH` format, with
11
+ version increments reflecting both user-visible and operational impact.
12
12
 
13
13
  ---
14
14
 
@@ -16,6 +16,71 @@ formatting may vary.
16
16
 
17
17
  ---
18
18
 
19
+ ## [1.6.1] - 2025-12-24
20
+
21
+ ### Added
22
+
23
+ - Added `src/posts/2025-12-24-uk-nudity.md`, along with image assets:
24
+ - `src/img/uk-nudity-promo.png`
25
+ - `src/img/uk-nudity-promo.webp`
26
+ - Added `src/posts/2025-12-24-mp-vpn.md`, along with image assets:
27
+ - `src/img/mp-vpn-promo.png`
28
+ - `src/img/mp-vpn-promo.webp`
29
+
30
+ ### Changed
31
+
32
+ - Modified `npm run dev` script to use the `--livereload` flag.
33
+ - Bumped project version to `v1.6.1`.
34
+ - Updated Python dependencies:
35
+ - `mkdocs-rss-plugin` `1.17.5` → `1.17.7`
36
+
37
+ ---
38
+
39
+ ## [1.6.0] - 2025-12-19
40
+
41
+ ### Added
42
+
43
+ - Added `vercel.json` to define Vercel build configuration and security headers.
44
+ - Added Vercel as a supported deployment target for this site.
45
+ - Added `VERSIONING.md` for clarity regarding how we implement versioning.
46
+
47
+ ### Changed
48
+
49
+ - Migrated static site deployment from Netlify to Vercel.
50
+ - Converted Netlify build configuration (`netlify.toml`) to Vercel-equivalent
51
+ settings.
52
+ - Updated MkDocs build invocation to use `python -m mkdocs` for improved
53
+ compatibility in CI environments.
54
+ - Explicitly configured the build output directory as `build/`.
55
+ - Preserved existing Content Security Policy (CSP), reporting endpoints, and
56
+ security headers under Vercel.
57
+ - Updated GitHub workflows to utilize the latest versions of
58
+ `actions/checkout@v6`, `actions/upload-artifact@v6`, and
59
+ `actions/download-artifact@v7`, as well as **npm** `v11.7.0`:
60
+ - `.github/workflows/backup-branch.yml`
61
+ - `.github/workflows/dependency-review.yml`
62
+ - `.github/workflows/publish-test.yml`
63
+ - `.github/workflows/publish.yml`
64
+ - Bumped project version to `v1.6.0`.
65
+ - Updated frontend tooling dependencies:
66
+ - `@eslint/js` `^9.39.1` → `^9.39.2`
67
+ - `autoprefixer` `^10.4.22` → `^10.4.23`
68
+ - `browserslist` `^4.28.0` → `^4.28.1`
69
+ - `eslint` `^9.39.1` → `^9.39.2`
70
+ - `prettier` `3.6.2` → `3.7.4`
71
+ - `stylelint` `^16.25.0` → `^16.26.1`
72
+ - `markdownlint` `^0.39.0` → `^0.40.0`
73
+ - `markdownlint-cli2` `^0.19.0` → `^0.20.0`
74
+
75
+ ### Removed
76
+
77
+ - Removed `netlify.toml`, as Netlify is no longer the active deployment
78
+ platform.
79
+ - Removed reliance on Netlify-specific header configuration in favor of Vercel
80
+ headers.
81
+
82
+ ---
83
+
19
84
  ## [1.5.9] - 2025-11-18
20
85
 
21
86
  ### Added
@@ -516,7 +581,9 @@ formatting may vary.
516
581
 
517
582
  <!-- Link references -->
518
583
 
519
- [Unreleased]: https://github.com/netwk-pro/blog/compare/v1.5.9...HEAD
584
+ [Unreleased]: https://github.com/netwk-pro/blog/compare/v1.6.1...HEAD
585
+ [1.6.1]: https://github.com/netwk-pro/blog/releases/tag/v1.6.1
586
+ [1.6.0]: https://github.com/netwk-pro/blog/releases/tag/v1.6.0
520
587
  [1.5.9]: https://github.com/netwk-pro/blog/releases/tag/v1.5.9
521
588
  [1.5.8]: https://github.com/netwk-pro/blog/releases/tag/v1.5.8
522
589
  [1.5.7]: https://github.com/netwk-pro/blog/releases/tag/v1.5.7
package/VERSIONING.md ADDED
@@ -0,0 +1,47 @@
1
+ # Versioning Policy
2
+
3
+ This project uses a **SemVer-inspired versioning scheme** based on the
4
+ `MAJOR.MINOR.PATCH` format.
5
+
6
+ Version numbers are intended to communicate the **impact of a change** rather
7
+ than strict compliance with the Semantic Versioning specification. In addition
8
+ to user-facing changes, version increments may reflect infrastructure, hosting,
9
+ or operational changes relevant to maintainers.
10
+
11
+ ## Version Number Meaning
12
+
13
+ ### MAJOR (`X.0.0`)
14
+
15
+ Incremented when changes introduce **user-visible incompatibilities**, such as:
16
+
17
+ - URL or navigation structure changes
18
+ - Removal or renaming of major sections
19
+ - Changes that break existing links or bookmarks
20
+ - Changes to access, availability, or licensing
21
+
22
+ ### MINOR (`1.X.0`)
23
+
24
+ Incremented for **backward-compatible but significant changes**, including:
25
+
26
+ - Hosting platform migrations (e.g. Netlify → Vercel)
27
+ - Build or deployment pipeline changes
28
+ - Security header or CSP delivery changes
29
+ - Changes that may affect maintainers or operators, but not readers
30
+ - New features or content additions that do not break existing usage
31
+
32
+ ### PATCH (`1.1.X`)
33
+
34
+ Incremented for **backward-compatible, low-impact changes**, such as:
35
+
36
+ - Content edits or corrections
37
+ - Dependency updates
38
+ - Tooling updates that do not alter build behavior
39
+ - Internal refactoring or cleanup
40
+
41
+ ## Notes
42
+
43
+ - Infrastructure or platform changes may be considered “breaking” from a
44
+ maintainer perspective, but do not automatically imply a MAJOR version bump.
45
+ - Version numbers are intended to communicate **impact**, not just change.
46
+ - Detailed migration or operational notes are documented in the changelog when
47
+ relevant.
package/cspell.json CHANGED
@@ -45,7 +45,8 @@
45
45
  "urlset",
46
46
  "vcard",
47
47
  "vite",
48
- "Voss"
48
+ "Voss",
49
+ "vpns"
49
50
  ],
50
51
  "ignorePaths": [
51
52
  ".gitignore",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@networkpro/blog",
3
- "version": "1.5.9",
3
+ "version": "1.6.1",
4
4
  "description": "The official blog of Network Pro Strategies (Network Pro™).",
5
5
  "keywords": [
6
6
  "advisory",
@@ -32,7 +32,7 @@
32
32
  },
33
33
  "type": "module",
34
34
  "scripts": {
35
- "dev": "mkdocs serve",
35
+ "dev": "mkdocs serve --livereload",
36
36
  "start": "npm run dev",
37
37
  "build": "mkdocs build",
38
38
  "delete": "rm -rf build node_modules package-lock.json",
@@ -51,20 +51,20 @@
51
51
  "prepare": "npx simple-git-hooks || echo ''"
52
52
  },
53
53
  "devDependencies": {
54
- "@eslint/js": "^9.39.1",
54
+ "@eslint/js": "^9.39.2",
55
55
  "@eslint/json": "^0.14.0",
56
- "autoprefixer": "^10.4.22",
57
- "browserslist": "^4.28.0",
58
- "eslint": "^9.39.1",
56
+ "autoprefixer": "^10.4.23",
57
+ "browserslist": "^4.28.1",
58
+ "eslint": "^9.39.2",
59
59
  "eslint-config-prettier": "^10.1.8",
60
60
  "globals": "^16.5.0",
61
- "markdownlint": "^0.39.0",
62
- "markdownlint-cli2": "^0.19.0",
61
+ "markdownlint": "^0.40.0",
62
+ "markdownlint-cli2": "^0.20.0",
63
63
  "npm-run-all": "^4.1.5",
64
64
  "postcss": "^8.5.6",
65
- "prettier": "3.6.2",
65
+ "prettier": "3.7.4",
66
66
  "simple-git-hooks": "^2.13.1",
67
- "stylelint": "^16.25.0",
67
+ "stylelint": "^16.26.1",
68
68
  "stylelint-config-html": "^1.1.0",
69
69
  "stylelint-config-recommended": "^17.0.0",
70
70
  "stylelint-order": "^7.0.0"
package/requirements.txt CHANGED
@@ -1,5 +1,4 @@
1
1
  mkdocs==1.6.1
2
2
  mkdocs-material==9.7.0
3
3
  mkdocs-material-extensions==1.3.1
4
- mkdocs-get-deps==0.2.0
5
- mkdocs-rss-plugin==1.17.5
4
+ mkdocs-rss-plugin==1.17.7
@@ -37,9 +37,9 @@ tags:
37
37
 
38
38
  &nbsp;
39
39
 
40
- Thanks for your interest in improving **Network Pro Strategies** (Network
41
- Pro™)! We're always looking for collaborators and contributors of all skill
42
- levels. This guide will help you get started quickly and effectively.
40
+ Thanks for your interest in improving **Network Pro Strategies** (Network Pro™)!
41
+ We're always looking for collaborators and contributors of all skill levels.
42
+ This guide will help you get started quickly and effectively.
43
43
 
44
44
  Following these guidelines helps us all work together efficiently and
45
45
  respectfully. 🙌
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,55 @@
1
+ ---
2
+ date:
3
+ created: 2025-12-24
4
+ title: Are VPNs next on the UK's ban list?
5
+ summary:
6
+ Some MPs want regulators to pressure app stores (like Apple and Google) to
7
+ stop children from downloading VPNs entirely, arguing they "undermine" safety
8
+ laws.
9
+ authors:
10
+ - team
11
+ categories:
12
+ - Privacy
13
+ - Security
14
+ - Policy
15
+ tags:
16
+ - apple
17
+ - google
18
+ - vpn
19
+ - uk
20
+ - privacy
21
+ - security
22
+ ---
23
+
24
+ # Are VPNs next on the UK's ban list? 🚫💻
25
+
26
+ First, it was age checks for websites. Now, UK MPs are turning their sights on
27
+ VPNs.
28
+
29
+ <!-- more -->
30
+
31
+ **The argument:** The UK's new Online Safety Act requires strict age
32
+ verification to access certain content. But VPNs easily let users (including
33
+ teenagers) bypass these checks by pretending to be in a different country.
34
+ 🌍➡️🇬🇧
35
+
36
+ Now, some MPs want regulators to pressure app stores (like Apple and Google) to
37
+ stop children from downloading VPNs entirely, arguing they "undermine" safety
38
+ laws.
39
+
40
+ VPN providers are fighting back, arguing their tools are essential for basic
41
+ online privacy and security, not just dodging rules. 🛡️
42
+
43
+ **The Debate:** Is restricting VPNs a necessary step to protect kids, or a
44
+ dangerous blow to digital privacy for everyone?
45
+
46
+ Read more at the link below:
47
+ 🔗 [techradar.com/vpn/vpn-privacy-security/uk-mps-target-vpns-in-latest-online-safety-act-debate](https://www.techradar.com/vpn/vpn-privacy-security/uk-mps-target-vpns-in-latest-online-safety-act-debate)
48
+
49
+ &nbsp;
50
+
51
+ <figure class="poster-figure">
52
+ <source srcset="/img/mp-vpn-promo.webp" type="image/webp" />
53
+ <img src="/img/mp-vpn-promo.png" alt="Are VPNs next on the UK's ban list?" style="width: 60%; height: 60%;">
54
+ <figcaption>Are VPNs next on the UK's ban list? – featured visual</figcaption>
55
+ </figure>
@@ -0,0 +1,49 @@
1
+ ---
2
+ date:
3
+ created: 2025-12-24
4
+ title: 'Your phone might soon block nudity by default'
5
+ summary:
6
+ The UK government is pushing Apple and Google to install system-level "nudity
7
+ blockers" on all phones.
8
+ authors:
9
+ - team
10
+ categories:
11
+ - Privacy
12
+ - Security
13
+ - Android
14
+ - Policy
15
+ tags:
16
+ - google
17
+ - apple
18
+ - android
19
+ - uk
20
+ - privacy
21
+ - security
22
+ ---
23
+
24
+ # Your phone might soon block nudity by default 🔒
25
+
26
+ Imagine trying to open a photo on your own phone and getting blocked until you
27
+ scan your ID. 🛑
28
+
29
+ <!-- more -->
30
+
31
+ The UK government is pushing Apple and Google to install system-level "nudity
32
+ blockers" on all phones. The idea is that your OS would scan for explicit
33
+ content and hide it unless you verify you are an adult.
34
+
35
+ Supporters say it’s a crucial step to keep children safe online. Critics are
36
+ calling it "spyware" and a massive overreach into personal privacy. 🧐
37
+
38
+ Read more at the link below:
39
+ 🔗 [arstechnica.com/tech-policy/2025/12/uk-to-encourage-apple-and-google-to-put-nudity-blocking-systems-on-phones/](https://arstechnica.com/tech-policy/2025/12/uk-to-encourage-apple-and-google-to-put-nudity-blocking-systems-on-phones/)
40
+
41
+ &nbsp;
42
+
43
+ <figure class="poster-figure">
44
+ <source srcset="/img/uk-nudity-promo.webp" type="image/webp" />
45
+ <img src="/img/uk-nudity-promo.png" alt="Your phone might soon block nudity by default" style="width: 60%; height: 60%;">
46
+ <figcaption>Your phone might soon block nudity by default – featured visual</figcaption>
47
+ </figure>
48
+
49
+ # cspell:ignore arstechnica
package/src/posts/live.md CHANGED
@@ -75,8 +75,8 @@ gatekeeping.
75
75
 
76
76
  ### ✅ Our Vision: Security That Respects You
77
77
 
78
- At **Network Pro™**, we believe security should be **transparent, adaptable,
79
- and aligned with your goals**. While we advocate for privacy-first solutions and
78
+ At **Network Pro™**, we believe security should be **transparent, adaptable, and
79
+ aligned with your goals**. While we advocate for privacy-first solutions and
80
80
  actively support open technologies, we apply them with discretion—not dogma. Our
81
81
  priority is delivering **reliable, resilient results**, whether through open
82
82
  source tools or vetted proprietary platforms.
package/src/robots.txt CHANGED
@@ -11,10 +11,10 @@ User-agent: *
11
11
  # Disallow dev and CI/CD artifacts
12
12
  Disallow: /tests/
13
13
  Disallow: /reports/
14
- Disallow: /build/
15
14
 
16
15
  # Allow everything else
17
16
  Allow: /
17
+ Allow: /.well-known
18
18
 
19
19
  # Inform bots where to find the sitemap
20
20
  Sitemap: https://blog.netwk.pro/sitemap.xml
package/vercel.json ADDED
@@ -0,0 +1,39 @@
1
+ {
2
+ "buildCommand": "pip install -r requirements.txt && python -m mkdocs build --clean --site-dir build",
3
+ "outputDirectory": "build",
4
+ "headers": [
5
+ {
6
+ "source": "/(.*)",
7
+ "headers": [
8
+ {
9
+ "key": "Content-Security-Policy",
10
+ "value": "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self' https://api.github.com; font-src 'self' data: https://fonts.gstatic.com; form-action 'self'; base-uri 'self'; object-src 'none'; frame-ancestors 'none'; upgrade-insecure-requests; report-uri https://csp.netwk.pro/.netlify/functions/csp-report; report-to csp-endpoint;"
11
+ },
12
+ {
13
+ "key": "Report-To",
14
+ "value": "{\"group\":\"csp-endpoint\",\"max_age\":10886400,\"endpoints\":[{\"url\":\"https://csp.netwk.pro/.netlify/functions/csp-report\"}],\"include_subdomains\":true}"
15
+ },
16
+ {
17
+ "key": "Permissions-Policy",
18
+ "value": "fullscreen=(self), sync-xhr=(), camera=(), microphone=(), geolocation=(), clipboard-read=(), clipboard-write=(), payment=(), usb=(), hid=(), gamepad=(), serial=(), publickey-credentials-get=(), browsing-topics=()"
19
+ },
20
+ {
21
+ "key": "X-Content-Type-Options",
22
+ "value": "nosniff"
23
+ },
24
+ {
25
+ "key": "Referrer-Policy",
26
+ "value": "strict-origin-when-cross-origin"
27
+ },
28
+ {
29
+ "key": "X-Frame-Options",
30
+ "value": "DENY"
31
+ },
32
+ {
33
+ "key": "Strict-Transport-Security",
34
+ "value": "max-age=31536000; includeSubDomains"
35
+ }
36
+ ]
37
+ }
38
+ ]
39
+ }
package/netlify.toml DELETED
@@ -1,37 +0,0 @@
1
- [build]
2
- command = "mkdocs build --clean --site-dir build"
3
- publish = "build"
4
-
5
- [[headers]]
6
- for = "/*"
7
- [headers.values]
8
- Content-Security-Policy = """
9
- default-src 'self';
10
- script-src 'self' 'unsafe-inline';
11
- style-src 'self' 'unsafe-inline';
12
- img-src 'self' data:;
13
- connect-src 'self' https://api.github.com;
14
- font-src 'self' data: https://fonts.gstatic.com;
15
- form-action 'self';
16
- base-uri 'self';
17
- object-src 'none';
18
- frame-ancestors 'none';
19
- upgrade-insecure-requests;
20
- report-uri https://csp.netwk.pro/.netlify/functions/csp-report;
21
- report-to csp-endpoint;
22
- """
23
- Report-To = """
24
- {
25
- "group": "csp-endpoint",
26
- "max_age": 10886400,
27
- "endpoints": [
28
- { "url": "https://csp.netwk.pro/.netlify/functions/csp-report" }
29
- ],
30
- "include_subdomains": true
31
- }
32
- """
33
- Permissions-Policy = "fullscreen=(self), sync-xhr=(), camera=(), microphone=(), geolocation=(), clipboard-read=(), clipboard-write=(), payment=(), usb=(), hid=(), gamepad=(), serial=(), publickey-credentials-get=(), browsing-topics=()"
34
- X-Content-Type-Options = "nosniff"
35
- Referrer-Policy = "strict-origin-when-cross-origin"
36
- X-Frame-Options = "DENY"
37
- Strict-Transport-Security = "max-age=31536000; includeSubDomains"
package/src/sitemap.xml DELETED
@@ -1,392 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!-- Last Updated: 2025-11-09 -->
3
-
4
- <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
5
-
6
- <url>
7
-
8
- <loc>https://blog.netwk.pro</loc>
9
-
10
- <lastmod>2025-11-09</lastmod>
11
-
12
- <changefreq>monthly</changefreq>
13
-
14
- <priority>1.0</priority>
15
-
16
- </url>
17
-
18
- <url>
19
-
20
- <loc>https://blog.netwk.pro/2025/11/09/introducing-our-new-privacy--security-apps--services-portal/</loc>
21
-
22
- <lastmod>2025-11-09</lastmod>
23
-
24
- <changefreq>monthly</changefreq>
25
-
26
- <priority>0.8</priority>
27
-
28
- </url>
29
-
30
- <url>
31
-
32
- <loc>https://blog.netwk.pro/2025/11/09/the-end-of-true-sideloading/</loc>
33
-
34
- <lastmod>2025-11-09</lastmod>
35
-
36
- <changefreq>monthly</changefreq>
37
-
38
- <priority>0.8</priority>
39
-
40
- </url>
41
-
42
- <url>
43
-
44
- <loc>https://blog.netwk.pro/2025/09/23/cyber-alert-update---sonicwall-security-breach-what-you-need-to-know/</loc>
45
-
46
- <lastmod>2025-09-23</lastmod>
47
-
48
- <changefreq>monthly</changefreq>
49
-
50
- <priority>0.8</priority>
51
-
52
- </url>
53
-
54
- <url>
55
-
56
- <loc>https://blog.netwk.pro/2025/07/27/uk-reverses-course-on-apple-cloud-encryption-demands/</loc>
57
-
58
- <lastmod>2025-07-27</lastmod>
59
-
60
- <changefreq>monthly</changefreq>
61
-
62
- <priority>0.7</priority>
63
-
64
- </url>
65
-
66
- <url>
67
-
68
- <url>
69
-
70
- <loc>https://blog.netwk.pro/2025/07/17/foss-spotlight-copy-sms-code---otp-helper/</loc>
71
-
72
- <lastmod>2025-07-27</lastmod>
73
-
74
- <changefreq>monthly</changefreq>
75
-
76
- <priority>0.7</priority>
77
-
78
- </url>
79
-
80
- <url>
81
-
82
- <loc>https://blog.netwk.pro/2025/07/17/ai-personality-profiling-and-the-rise-of-intellectual-leveling/</loc>
83
-
84
- <lastmod>2025-07-17</lastmod>
85
-
86
- <changefreq>monthly</changefreq>
87
-
88
- <priority>0.7</priority>
89
-
90
- </url>
91
-
92
- <url>
93
-
94
- <loc>https://blog.netwk.pro/2025/07/10/is-outlook-quietly-turning-into-microsofts-data-collection-machine/</loc>
95
-
96
- <lastmod>2025-07-10</lastmod>
97
-
98
- <changefreq>monthly</changefreq>
99
-
100
- <priority>0.7</priority>
101
-
102
- </url>
103
-
104
- <url>
105
-
106
- <loc>https://blog.netwk.pro/2025/07/07/hpe-completes-acquisition-of-juniper-networks/</loc>
107
-
108
- <lastmod>2025-07-07</lastmod>
109
-
110
- <changefreq>monthly</changefreq>
111
-
112
- <priority>0.7</priority>
113
-
114
- </url>
115
-
116
- <url>
117
-
118
- <loc>https://blog.netwk.pro/2025/07/01/supreme-court-upholds-age-verification-law/</loc>
119
-
120
- <lastmod>2025-07-01</lastmod>
121
-
122
- <changefreq>monthly</changefreq>
123
-
124
- <priority>0.7</priority>
125
-
126
- </url>
127
-
128
- <url>
129
-
130
- <loc>https://blog.netwk.pro/2025/06/23/encryption-is-not-a-loophole/</loc>
131
-
132
- <lastmod>2025-07-27</lastmod>
133
-
134
- <changefreq>monthly</changefreq>
135
-
136
- <priority>0.6</priority>
137
-
138
- </url>
139
-
140
- <url>
141
-
142
- <loc>https://blog.netwk.pro/2025/06/16/foss-spotlight-cryptomator/</loc>
143
-
144
- <lastmod>2025-07-27</lastmod>
145
-
146
- <changefreq>monthly</changefreq>
147
-
148
- <priority>0.6</priority>
149
-
150
- </url>
151
-
152
- <url>
153
-
154
- <loc>https://blog.netwk.pro/2025/06/12/whats-a-backdoor-in-encryption/</loc>
155
-
156
- <lastmod>2025-07-27</lastmod>
157
-
158
- <changefreq>monthly</changefreq>
159
-
160
- <priority>0.6</priority>
161
-
162
- </url>
163
-
164
- <url>
165
-
166
- <loc>https://blog.netwk.pro/2025/06/08/foss-spotlight-squircle-ce/</loc>
167
-
168
- <lastmod>2025-07-27</lastmod>
169
-
170
- <changefreq>monthly</changefreq>
171
-
172
- <priority>0.6</priority>
173
-
174
- </url>
175
-
176
- <url>
177
-
178
- <loc>https://blog.netwk.pro/2025/06/03/google-gemini-now-reads-your-emails-heres-why-you-should-switch/</loc>
179
-
180
- <lastmod>2025-06-03</lastmod>
181
-
182
- <changefreq>monthly</changefreq>
183
-
184
- <priority>0.6</priority>
185
-
186
- </url>
187
-
188
- <url>
189
-
190
- <loc>https://blog.netwk.pro/2025/06/03/digital-identity-a-trojan-horse-for-surveillance/</loc>
191
-
192
- <lastmod>2025-06-03</lastmod>
193
-
194
- <changefreq>monthly</changefreq>
195
-
196
- <priority>0.6</priority>
197
-
198
- </url>
199
-
200
- <url>
201
-
202
- <loc>https://blog.netwk.pro/2025/05/29/foss-spotlight-heliboard/</loc>
203
-
204
- <lastmod>2025-07-27</lastmod>
205
-
206
- <changefreq>monthly</changefreq>
207
-
208
- <priority>0.5</priority>
209
-
210
- </url>
211
-
212
- <url>
213
-
214
- <loc>https://blog.netwk.pro/2025/05/29/microsoft-authenticator-users---major-change-incoming/</loc>
215
-
216
- <lastmod>2025-07-27</lastmod>
217
-
218
- <changefreq>monthly</changefreq>
219
-
220
- <priority>0.5</priority>
221
-
222
- </url>
223
-
224
- <url>
225
-
226
- <loc>https://blog.netwk.pro/2025/05/26/welcome-to-the-future-of-network-pro/</loc>
227
-
228
- <lastmod>2025-05-26</lastmod>
229
-
230
- <changefreq>monthly</changefreq>
231
-
232
- <priority>0.5</priority>
233
-
234
- </url>
235
-
236
- <url>
237
-
238
- <loc>https://blog.netwk.pro/2025/05/16/progressive-web-app-is-live/</loc>
239
-
240
- <lastmod>2025-05-16</lastmod>
241
-
242
- <changefreq>monthly</changefreq>
243
-
244
- <priority>0.5</priority>
245
-
246
- </url>
247
-
248
- <url>
249
-
250
- <loc>https://blog.netwk.pro/2025/05/15/building-a-better-web-experience/</loc>
251
-
252
- <lastmod>2025-05-15</lastmod>
253
-
254
- <changefreq>monthly</changefreq>
255
-
256
- <priority>0.5</priority>
257
-
258
- </url>
259
-
260
- <url>
261
-
262
- <loc>https://blog.netwk.pro/2025/05/11/the-network-pro-blog-has-moved/</loc>
263
-
264
- <lastmod>2025-05-11</lastmod>
265
-
266
- <changefreq>monthly</changefreq>
267
-
268
- <priority>0.5</priority>
269
-
270
- </url>
271
-
272
- <url>
273
-
274
- <loc>https://blog.netwk.pro/2025/04/30/our-blog-is-live/</loc>
275
-
276
- <lastmod>2025-05-11</lastmod>
277
-
278
- <changefreq>monthly</changefreq>
279
-
280
- <priority>0.5</priority>
281
-
282
- </url>
283
-
284
- <url>
285
-
286
- <loc>https://blog.netwk.pro/category/android/</loc>
287
-
288
- <lastmod>2025-11-09</lastmod>
289
-
290
- <changefreq>monthly</changefreq>
291
-
292
- <priority>0.5</priority>
293
-
294
- </url>
295
-
296
- <url>
297
-
298
- <loc>https://blog.netwk.pro/category/open-source/</loc>
299
-
300
- <lastmod>2025-11-09</lastmod>
301
-
302
- <changefreq>monthly</changefreq>
303
-
304
- <priority>0.5</priority>
305
-
306
- </url>
307
-
308
- <url>
309
-
310
- <loc>https://blog.netwk.pro/category/privacy/</loc>
311
-
312
- <lastmod>2025-11-09</lastmod>
313
-
314
- <changefreq>monthly</changefreq>
315
-
316
- <priority>0.5</priority>
317
-
318
- </url>
319
-
320
- <url>
321
-
322
- <loc>https://blog.netwk.pro/category/security/</loc>
323
-
324
- <lastmod>2025-11-09</lastmod>
325
-
326
- <changefreq>monthly</changefreq>
327
-
328
- <priority>0.5</priority>
329
-
330
- </url>
331
-
332
- <url>
333
-
334
- <loc>https://blog.netwk.pro/archive/2025/</loc>
335
-
336
- <lastmod>2025-11-09</lastmod>
337
-
338
- <changefreq>monthly</changefreq>
339
-
340
- <priority>0.5</priority>
341
-
342
- </url>
343
-
344
- <url>
345
-
346
- <loc>https://blog.netwk.pro/tags/</loc>
347
-
348
- <lastmod>2025-11-09</lastmod>
349
-
350
- <changefreq>monthly</changefreq>
351
-
352
- <priority>0.5</priority>
353
-
354
- </url>
355
-
356
- <url>
357
-
358
- <loc>https://blog.netwk.pro/2015/01/04/secure-secure-shell/</loc>
359
-
360
- <lastmod>2025-11-09</lastmod>
361
-
362
- <changefreq>yearly</changefreq>
363
-
364
- <priority>0.4</priority>
365
-
366
- </url>
367
-
368
- <url>
369
-
370
- <loc>https://blog.netwk.pro/contributing/</loc>
371
-
372
- <lastmod>2025-11-09</lastmod>
373
-
374
- <changefreq>monthly</changefreq>
375
-
376
- <priority>0.4</priority>
377
-
378
- </url>
379
-
380
- <url>
381
-
382
- <loc>https://blog.netwk.pro/CODE_OF_CONDUCT/</loc>
383
-
384
- <lastmod>2025-05-30</lastmod>
385
-
386
- <changefreq>monthly</changefreq>
387
-
388
- <priority>0.4</priority>
389
-
390
- </url>
391
-
392
- </urlset>