@networkpro/web 0.13.1 → 1.0.0

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 (282) hide show
  1. package/CODE_OF_CONDUCT.md +172 -0
  2. package/LICENSE.md +4 -4
  3. package/README.md +11 -10
  4. package/assets/bin/contact.vcf +13 -0
  5. package/assets/bin/contact@s.neteng.pro.aexpk +17 -0
  6. package/assets/bin/contact@s.neteng.pro.asc +17 -0
  7. package/assets/bin/github@sl.neteng.cc.aexpk +29 -0
  8. package/assets/bin/github@sl.neteng.cc.asc +29 -0
  9. package/assets/bin/linksheet.json +8 -0
  10. package/assets/bin/support@neteng.pro.aexpk +47 -0
  11. package/assets/bin/support@neteng.pro.asc +47 -0
  12. package/assets/consulting-terms.pdf +0 -0
  13. package/eslint.config.mjs +112 -0
  14. package/jsconfig.json +28 -0
  15. package/netlify.toml +13 -0
  16. package/package.json +64 -61
  17. package/playwright.config.js +79 -0
  18. package/postcss.config.mjs +14 -0
  19. package/scripts/bundleCss.js +40 -0
  20. package/src/app.d.ts +15 -0
  21. package/src/app.html +81 -0
  22. package/src/demo.spec.js +14 -0
  23. package/src/lib/components/Badges.svelte +74 -0
  24. package/src/lib/components/ContainerSection.svelte +19 -0
  25. package/src/lib/components/FullWidthSection.svelte +13 -0
  26. package/src/lib/components/LegalNav.svelte +75 -0
  27. package/src/lib/components/Logo.svelte +110 -0
  28. package/src/lib/components/SocialMedia.svelte +70 -0
  29. package/src/lib/components/foss/FossFeatures.svelte +24 -0
  30. package/src/lib/components/foss/FossItemContent.svelte +153 -0
  31. package/src/lib/components/layout/Footer.svelte +188 -0
  32. package/src/lib/components/layout/HeaderDefault.svelte +86 -0
  33. package/src/lib/components/layout/HeaderHome.svelte +84 -0
  34. package/src/lib/data/fossData.js +233 -0
  35. package/src/lib/images.js +77 -0
  36. package/src/lib/img/badges/cc-by-badge.png +0 -0
  37. package/src/lib/img/badges/gpl-badge.svg +1 -0
  38. package/src/lib/img/by.svg +1 -0
  39. package/src/lib/img/cc.svg +1 -0
  40. package/src/lib/img/logo-web.png +0 -0
  41. package/src/lib/img/logo-web.webp +0 -0
  42. package/src/lib/img/obtainium.webp +0 -0
  43. package/src/lib/img/posts/acode.png +0 -0
  44. package/src/lib/img/posts/acode.webp +0 -0
  45. package/src/lib/img/posts/linksheet.png +0 -0
  46. package/src/lib/img/posts/linksheet.webp +0 -0
  47. package/src/lib/img/posts/pmx.png +0 -0
  48. package/src/lib/img/posts/pmx.webp +0 -0
  49. package/src/lib/img/posts/tosdr.png +0 -0
  50. package/src/lib/img/posts/tosdr.webp +0 -0
  51. package/src/lib/img/posts/urlcheck.png +0 -0
  52. package/src/lib/img/posts/urlcheck.webp +0 -0
  53. package/src/lib/index.js +43 -0
  54. package/src/lib/pages/AboutContent.svelte +294 -0
  55. package/src/lib/pages/FossContent.svelte +109 -0
  56. package/src/lib/pages/HomeContent.svelte +120 -0
  57. package/src/lib/pages/LicenseContent.svelte +486 -0
  58. package/src/lib/pages/PrivacyContent.svelte +249 -0
  59. package/src/lib/pages/TermsConditionsContent.svelte +240 -0
  60. package/src/lib/pages/TermsUseContent.svelte +236 -0
  61. package/src/lib/registerServiceWorker.js +65 -0
  62. package/src/lib/styles/css/brands.css +76 -0
  63. package/src/lib/styles/css/brands.min.css +6 -0
  64. package/src/lib/styles/css/default.css +454 -0
  65. package/src/lib/styles/css/fontawesome.min.css +9 -0
  66. package/src/lib/styles/css/global.css +10 -0
  67. package/src/lib/styles/css/normalize.css +349 -0
  68. package/src/lib/styles/css/offline.css +120 -0
  69. package/src/lib/styles/css/solid.min.css +6 -0
  70. package/src/lib/styles/css/style.css +310 -0
  71. package/src/lib/styles/fa-global.css +10 -0
  72. package/src/lib/styles/global.min.css +9 -0
  73. package/src/lib/styles/index.js +11 -0
  74. package/src/lib/styles/webfonts/fa-brands-400.ttf +0 -0
  75. package/src/lib/styles/webfonts/fa-brands-400.woff2 +0 -0
  76. package/src/lib/styles/webfonts/fa-solid-900.ttf +0 -0
  77. package/src/lib/styles/webfonts/fa-solid-900.woff2 +0 -0
  78. package/src/routes/+error.svelte +43 -0
  79. package/src/routes/+layout.js +94 -0
  80. package/src/routes/+layout.svelte +110 -0
  81. package/src/routes/+page.svelte +77 -0
  82. package/src/routes/about/+page.svelte +61 -0
  83. package/src/routes/contact/+page.server.js +24 -0
  84. package/src/routes/example.svx +9 -0
  85. package/src/routes/foss-spotlight/+page.svelte +63 -0
  86. package/src/routes/license/+page.svelte +63 -0
  87. package/src/routes/page.svelte.test.js +18 -0
  88. package/src/routes/privacy-policy/+page.svelte +63 -0
  89. package/src/routes/privacy-rights/+page.server.js +24 -0
  90. package/src/routes/terms-conditions/+page.svelte +63 -0
  91. package/src/routes/terms-of-use/+page.svelte +63 -0
  92. package/src/service-worker.d.ts +4 -0
  93. package/src/service-worker.js +90 -0
  94. package/static/icon-512x512-maskable.png +0 -0
  95. package/static/icon-contact.png +0 -0
  96. package/static/icon-services.png +0 -0
  97. package/static/img/svelte.png +0 -0
  98. package/static/manifest.json +64 -0
  99. package/static/offline.html +79 -0
  100. package/static/offline.min.css +7 -0
  101. package/{robots.txt → static/robots.txt} +0 -2
  102. package/static/sitemap.xml +102 -0
  103. package/stylelint.config.js +118 -0
  104. package/svelte.config.js +56 -0
  105. package/tests/app.spec.js +67 -0
  106. package/tests/mobile.spec.js +58 -0
  107. package/tests-examples/demo-todo-app.spec.js +504 -0
  108. package/tsconfig.custom.json +39 -0
  109. package/vite.config.js +19 -0
  110. package/vitest-setup-client.js +33 -0
  111. package/vitest.config.client.js +34 -0
  112. package/vitest.config.server.js +30 -0
  113. package/404.html +0 -84
  114. package/about.html +0 -334
  115. package/about.html.br +0 -0
  116. package/about.html.gz +0 -0
  117. package/bundle-report.html +0 -39
  118. package/css/default.css +0 -1
  119. package/css/normalize.css +0 -1
  120. package/css/style.css +0 -1
  121. package/docs/404.html +0 -1187
  122. package/docs/assets/external/avatars.githubusercontent.com/u/170266279.png +0 -0
  123. package/docs/assets/external/img.shields.io/badge/GitHub_Package_Registry-white.ed8def48.svg +0 -1
  124. package/docs/assets/external/img.shields.io/badge/npmjs-white.681714c1.svg +0 -1
  125. package/docs/assets/external/mirrors.creativecommons.org/presskit/icons/by.svg +0 -20
  126. package/docs/assets/external/mirrors.creativecommons.org/presskit/icons/cc.svg +0 -27
  127. package/docs/assets/external/unpkg.com/mermaid@11/dist/mermaid.min.js +0 -2607
  128. package/docs/assets/images/favicon.png +0 -0
  129. package/docs/assets/javascripts/bundle.c8b220af.min.js +0 -16
  130. package/docs/assets/javascripts/bundle.c8b220af.min.js.map +0 -7
  131. package/docs/assets/javascripts/lunr/min/lunr.ar.min.js +0 -1
  132. package/docs/assets/javascripts/lunr/min/lunr.da.min.js +0 -18
  133. package/docs/assets/javascripts/lunr/min/lunr.de.min.js +0 -18
  134. package/docs/assets/javascripts/lunr/min/lunr.du.min.js +0 -18
  135. package/docs/assets/javascripts/lunr/min/lunr.el.min.js +0 -1
  136. package/docs/assets/javascripts/lunr/min/lunr.es.min.js +0 -18
  137. package/docs/assets/javascripts/lunr/min/lunr.fi.min.js +0 -18
  138. package/docs/assets/javascripts/lunr/min/lunr.fr.min.js +0 -18
  139. package/docs/assets/javascripts/lunr/min/lunr.he.min.js +0 -1
  140. package/docs/assets/javascripts/lunr/min/lunr.hi.min.js +0 -1
  141. package/docs/assets/javascripts/lunr/min/lunr.hu.min.js +0 -18
  142. package/docs/assets/javascripts/lunr/min/lunr.hy.min.js +0 -1
  143. package/docs/assets/javascripts/lunr/min/lunr.it.min.js +0 -18
  144. package/docs/assets/javascripts/lunr/min/lunr.ja.min.js +0 -1
  145. package/docs/assets/javascripts/lunr/min/lunr.jp.min.js +0 -1
  146. package/docs/assets/javascripts/lunr/min/lunr.kn.min.js +0 -1
  147. package/docs/assets/javascripts/lunr/min/lunr.ko.min.js +0 -1
  148. package/docs/assets/javascripts/lunr/min/lunr.multi.min.js +0 -1
  149. package/docs/assets/javascripts/lunr/min/lunr.nl.min.js +0 -18
  150. package/docs/assets/javascripts/lunr/min/lunr.no.min.js +0 -18
  151. package/docs/assets/javascripts/lunr/min/lunr.pt.min.js +0 -18
  152. package/docs/assets/javascripts/lunr/min/lunr.ro.min.js +0 -18
  153. package/docs/assets/javascripts/lunr/min/lunr.ru.min.js +0 -18
  154. package/docs/assets/javascripts/lunr/min/lunr.sa.min.js +0 -1
  155. package/docs/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +0 -1
  156. package/docs/assets/javascripts/lunr/min/lunr.sv.min.js +0 -18
  157. package/docs/assets/javascripts/lunr/min/lunr.ta.min.js +0 -1
  158. package/docs/assets/javascripts/lunr/min/lunr.te.min.js +0 -1
  159. package/docs/assets/javascripts/lunr/min/lunr.th.min.js +0 -1
  160. package/docs/assets/javascripts/lunr/min/lunr.tr.min.js +0 -18
  161. package/docs/assets/javascripts/lunr/min/lunr.vi.min.js +0 -1
  162. package/docs/assets/javascripts/lunr/min/lunr.zh.min.js +0 -1
  163. package/docs/assets/javascripts/lunr/tinyseg.js +0 -206
  164. package/docs/assets/javascripts/lunr/wordcut.js +0 -6708
  165. package/docs/assets/javascripts/workers/search.f8cc74c7.min.js +0 -42
  166. package/docs/assets/javascripts/workers/search.f8cc74c7.min.js.map +0 -7
  167. package/docs/assets/stylesheets/main.2afb09e1.min.css +0 -1
  168. package/docs/assets/stylesheets/main.2afb09e1.min.css.map +0 -1
  169. package/docs/assets/stylesheets/palette.06af60db.min.css +0 -1
  170. package/docs/assets/stylesheets/palette.06af60db.min.css.map +0 -1
  171. package/docs/blog/2015/01/04/secure-secure-shell/index.html +0 -1771
  172. package/docs/blog/2025/04/30/our-blog-is-live/index.html +0 -1436
  173. package/docs/blog/archive/2015/index.html +0 -1303
  174. package/docs/blog/archive/2025/index.html +0 -1291
  175. package/docs/blog/category/security/index.html +0 -1303
  176. package/docs/blog/index.html +0 -1350
  177. package/docs/conduct/index.html +0 -1509
  178. package/docs/feed_json_created.json +0 -1
  179. package/docs/feed_json_updated.json +0 -1
  180. package/docs/feed_rss_created.xml +0 -1
  181. package/docs/feed_rss_updated.xml +0 -1
  182. package/docs/fontawesome/LICENSE.txt +0 -165
  183. package/docs/fontawesome/brands/facebook.svg +0 -1
  184. package/docs/fontawesome/brands/instagram.svg +0 -1
  185. package/docs/fontawesome/brands/linkedin.svg +0 -1
  186. package/docs/fontawesome/brands/mastodon.svg +0 -1
  187. package/docs/fontawesome/solid/at.svg +0 -1
  188. package/docs/index.html +0 -1395
  189. package/docs/legal/index.html +0 -1740
  190. package/docs/privacy/index.html +0 -1615
  191. package/docs/search/search_index.json +0 -1
  192. package/docs/sitemap.xml +0 -55
  193. package/docs/sitemap.xml.gz +0 -0
  194. package/docs/tags/index.html +0 -2084
  195. package/docs/terms-conditions/index.html +0 -1655
  196. package/docs/terms-use/index.html +0 -1584
  197. package/favicon-192.png +0 -0
  198. package/favicon-512.png +0 -0
  199. package/favicon.svg.br +0 -0
  200. package/favicon.svg.gz +0 -0
  201. package/html/spotlight.html +0 -435
  202. package/html/spotlight.html.br +0 -0
  203. package/html/spotlight.html.gz +0 -0
  204. package/img/banner-1280x640.png +0 -0
  205. package/img/banner-1440.png +0 -0
  206. package/img/banner-og-1200x630.png +0 -0
  207. package/img/favicon-template.png +0 -0
  208. package/img/fb-cover.png +0 -0
  209. package/img/fb-cover2.png +0 -0
  210. package/img/fsf-member.png +0 -0
  211. package/img/gh-logo.png +0 -0
  212. package/img/gpl3-small.png +0 -0
  213. package/img/gpl3.png +0 -0
  214. package/img/linkedin-banner-new.png +0 -0
  215. package/img/linkedin-banner.png +0 -0
  216. package/img/linkedin-banner2.png +0 -0
  217. package/img/logo-1024x1024.png +0 -0
  218. package/img/logo-alt.png +0 -0
  219. package/img/logo-elevated.png +0 -0
  220. package/img/logo-light-elevated.png +0 -0
  221. package/img/logo-light-slogan.png +0 -0
  222. package/img/logo-light.png +0 -0
  223. package/img/logo-slogan.png +0 -0
  224. package/img/logo-transparent-black-small.png +0 -0
  225. package/img/logo-transparent-black.png +0 -0
  226. package/img/logo-transparent-elevated.png +0 -0
  227. package/img/logo-transparent-slogan.png +0 -0
  228. package/img/mastodon-banner.png +0 -0
  229. package/img/netpro-logo-transparent.png +0 -0
  230. package/img/posts/acode.png +0 -0
  231. package/img/posts/linksheet.png +0 -0
  232. package/img/posts/tosdr.png +0 -0
  233. package/img/posts/urlcheck.png +0 -0
  234. package/img/qr/pgp-github.png +0 -0
  235. package/img/qr/pgp-support.png +0 -0
  236. package/img/qr/vcard.png +0 -0
  237. package/img/sd311.png +0 -0
  238. package/img/shield.png +0 -0
  239. package/img/shield.svg +0 -1
  240. package/img/shield.svg.br +0 -0
  241. package/img/shield.svg.gz +0 -0
  242. package/img/shield2.png +0 -0
  243. package/img/shield3-2000x2000.png +0 -0
  244. package/img/shield3-black-1024x1024.png +0 -0
  245. package/img/shield3-black.png +0 -0
  246. package/img/shield3-white.png +0 -0
  247. package/img/trademark.jpg +0 -0
  248. package/index.html +0 -268
  249. package/index.html.br +0 -0
  250. package/index.html.gz +0 -0
  251. package/js/app.d544156ea2ba85a7d486.mjs +0 -1
  252. package/js/runtime.52b1ac291305b90de3df.mjs +0 -1
  253. package/js/vendor/.gitkeep +0 -0
  254. package/legal.html +0 -535
  255. package/legal.html.br +0 -0
  256. package/legal.html.gz +0 -0
  257. package/privacy.html +0 -404
  258. package/privacy.html.br +0 -0
  259. package/privacy.html.gz +0 -0
  260. package/site.webmanifest +0 -25
  261. package/sitemap.xml +0 -177
  262. package/terms-and-conditions.html +0 -409
  263. package/terms-and-conditions.html.br +0 -0
  264. package/terms-and-conditions.html.gz +0 -0
  265. package/terms-of-use.html +0 -380
  266. package/terms-of-use.html.br +0 -0
  267. package/terms-of-use.html.gz +0 -0
  268. /package/{docs/assets/external/raw.githubusercontent.com/netwk-pro/netwk-pro.github.io/refs/heads/master/assets → assets}/nsa-happy-dance.png +0 -0
  269. /package/{favicon.svg → src/lib/img/favicon.svg} +0 -0
  270. /package/{favicon-180.png → src/lib/img/icon-180x180.png} +0 -0
  271. /package/{img/badge_obtainium.png → src/lib/img/obtainium.png} +0 -0
  272. /package/{img → src/lib/img}/qr/pgp-contact.png +0 -0
  273. /package/{docs/assets/external/raw.githubusercontent.com/netwk-pro/netwk-pro.github.io/refs/heads/master → src/lib}/img/qr/pgp-github.png +0 -0
  274. /package/{docs/assets/external/raw.githubusercontent.com/netwk-pro/netwk-pro.github.io/refs/heads/master → src/lib}/img/qr/pgp-support.png +0 -0
  275. /package/{docs/assets/external/raw.githubusercontent.com/netwk-pro/netwk-pro.github.io/refs/heads/master → src/lib}/img/qr/vcard.png +0 -0
  276. /package/{CNAME → static/CNAME} +0 -0
  277. /package/{favicon.ico → static/favicon.ico} +0 -0
  278. /package/{docs/img/favicon.png → static/icon-192x192.png} +0 -0
  279. /package/{docs/img/logo.png → static/icon-512x512.png} +0 -0
  280. /package/{favicon-splash.png → static/icon-splash.png} +0 -0
  281. /package/{img → static/img}/logo-transparent.png +0 -0
  282. /package/{img → static/img}/logo.png +0 -0
@@ -0,0 +1,249 @@
1
+ <!-- ==========================================================================
2
+ src/lib/pages/PrivacyContent.svelte
3
+
4
+ SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
5
+ This file is part of Network Pro.
6
+ ========================================================================== -->
7
+
8
+ <script>
9
+ import { base } from "$app/paths";
10
+
11
+ // Log the base path to verify its value
12
+ //console.log("Base path:", base);
13
+
14
+ /**
15
+ * URL to the Privacy Rights Request Form redirect route, using the base path
16
+ * @type {string}
17
+ */
18
+ const prightsLink = `${base}/privacy-rights`;
19
+
20
+ /**
21
+ * URL to the privacy policy in Markdown format
22
+ * @type {string}
23
+ */
24
+ const privacyLink = "https://docs.netwk.pro/privacy";
25
+
26
+ /**
27
+ * Table of Contents Links
28
+ * @type {{ id: string, text: string }[]}
29
+ */
30
+ const tocLinks = [
31
+ { id: "intro", text: "Introduction" },
32
+ { id: "collect", text: "Information We Collect" },
33
+ { id: "payment", text: "Payment Information" },
34
+ { id: "use", text: "Use of Information" },
35
+ { id: "sharing", text: "Data Sharing" },
36
+ { id: "security", text: "Data Security" },
37
+ { id: "rights", text: "User Rights" },
38
+ { id: "third-party", text: "Third-Party Links" },
39
+ { id: "disclaimers", text: "Disclaimers and Limitations" },
40
+ { id: "changes", text: "Policy Changes" },
41
+ { id: "contact", text: "Contact" },
42
+ ];
43
+
44
+ /**
45
+ * Contact Information
46
+ * @type {{ company: string, email: string, secure: string, phone: string, effectiveDate: string }}
47
+ */
48
+ const contactInfo = {
49
+ company: "Network Pro Strategies",
50
+ email: "support (at) neteng.pro",
51
+ secure: "contact (at) s.neteng.pro",
52
+ phone: "(623) 252-4350",
53
+ effectiveDate: "May 18, 2025",
54
+ };
55
+
56
+ /**
57
+ * Constants used throughout the component for consistent styling and behavior
58
+ * @type {{
59
+ * classSmall: string,
60
+ * rel: string,
61
+ * backTop: string,
62
+ * hrefTop: string,
63
+ * targetSelf: string,
64
+ * targetBlank: string
65
+ * }}
66
+ */
67
+ const constants = {
68
+ classSmall: "small-text",
69
+ rel: "noopener noreferrer",
70
+ backTop: "Back to top",
71
+ hrefTop: "#top",
72
+ targetSelf: "_self",
73
+ targetBlank: "_blank",
74
+ };
75
+ </script>
76
+
77
+ <!-- BEGIN TITLE -->
78
+ <section id="top">
79
+ <span class={constants.classSmall}>
80
+ <a
81
+ rel={constants.rel}
82
+ href="https://spdx.dev/learn/handling-license-info"
83
+ target={constants.targetBlank}>
84
+ SPDX License Identifier
85
+ </a>
86
+ : &nbsp;<code>CC-BY-4.0 OR GPL-3.0-or-later</code>
87
+ </span>
88
+ </section>
89
+
90
+ <section id="page-title">
91
+ <h1>Privacy Policy</h1>
92
+ <p>
93
+ <strong>{contactInfo.company}</strong><br />
94
+ <strong>Effective Date:</strong>
95
+ {contactInfo.effectiveDate}
96
+ </p>
97
+ </section>
98
+ <!-- END TITLE -->
99
+
100
+ &nbsp;
101
+
102
+ <!-- BEGIN PRIVACY POLICY -->
103
+ <h3>Table of Contents</h3>
104
+ <nav id="toc">
105
+ <ol>
106
+ {#each tocLinks as link}
107
+ <li><a href={"#" + link.id}>{link.text}</a></li>
108
+ {/each}
109
+ </ol>
110
+ </nav>
111
+
112
+ <hr />
113
+
114
+ <section id="formats">
115
+ <p>
116
+ <sup>
117
+ <strong>Formats Available:</strong> &nbsp;<span class="visited"
118
+ >HTML</span>
119
+ |
120
+ <a href={privacyLink} target={constants.targetSelf}> Markdown </a>
121
+ </sup>
122
+ </p>
123
+ </section>
124
+
125
+ <!-- POLICY SECTIONS -->
126
+ {#each tocLinks as link, i}
127
+ <section id={link.id}>
128
+ <h2>{i + 1}. {link.text}</h2>
129
+
130
+ <!-- Dynamic Content for Each Section -->
131
+ {#if link.id === "intro"}
132
+ <p>
133
+ Network Pro Strategies ("Company," "we," "us," or "our") is committed to
134
+ protecting the privacy of clients and website visitors. This Privacy
135
+ Policy outlines how we collect, use, and safeguard your information when
136
+ you interact with our website or services, consistent with applicable
137
+ U.S. federal law and Arizona law, including Title 18, Chapter 5, Article
138
+ 4 of the
139
+ <strong>
140
+ <a
141
+ rel={constants.rel}
142
+ href="https://www.azleg.gov/arstitle"
143
+ target={constants.targetBlank}>
144
+ Arizona Revised Statutes
145
+ </a>
146
+ </strong> (A.R.S. §§ 18-551, 18-552).
147
+ </p>
148
+ {:else if link.id === "collect"}
149
+ <ul>
150
+ <li
151
+ ><strong>Personal Identifiers</strong> (e.g., name, email, phone number)</li>
152
+ <li><strong>Business and Professional Information</strong></li>
153
+ <li
154
+ ><strong>Device/Technical Information</strong> (e.g., IP address, browser
155
+ type, access logs)</li>
156
+ <li
157
+ ><strong>Client-Submitted Content</strong> related to our services</li>
158
+ </ul>
159
+ {:else if link.id === "payment"}
160
+ <p>
161
+ When processing payments, we may collect credit card details and billing
162
+ contact information. All credit card data is encrypted via TLS and
163
+ shared only with PCI-compliant processors.
164
+ <strong
165
+ >Data is purged within 90 days post-verification of payment.</strong>
166
+ </p>
167
+ {:else if link.id === "use"}
168
+ <p>Information is used to:</p>
169
+ <ul>
170
+ <li><strong>Provide and improve services</strong></li>
171
+ <li><strong>Respond to inquiries and fulfill contracts</strong></li>
172
+ <li><strong>Conduct analytics and enhance user experience</strong></li>
173
+ <li><strong>Ensure legal and regulatory compliance</strong></li>
174
+ </ul>
175
+ {:else if link.id === "sharing"}
176
+ <p>
177
+ We do not sell personal information. However, we may share personal and
178
+ business information under the following circumstances:
179
+ </p>
180
+ <ul>
181
+ <li
182
+ ><strong>With Service Providers:</strong> Information is shared with trusted
183
+ third-party vendors.</li>
184
+ <li
185
+ ><strong>Legal Compliance:</strong> Disclosed as required by law or court
186
+ order.</li>
187
+ <li
188
+ ><strong>Business Transfers:</strong> Transferred in case of mergers or
189
+ acquisitions.</li>
190
+ </ul>
191
+ {:else if link.id === "security"}
192
+ <p>
193
+ We implement industry-standard security measures to protect your data.
194
+ However, no method of transmission over the Internet or electronic
195
+ storage is completely secure, and we cannot guarantee absolute security.
196
+ In compliance with <strong>A.R.S. § 18-552</strong>, we will notify
197
+ affected individuals in the event of a data breach involving personal
198
+ information.
199
+ </p>
200
+ {:else if link.id === "rights"}
201
+ <p><strong>Your Rights and Choices</strong></p>
202
+ <ul>
203
+ <li
204
+ ><strong>Access, update, or delete</strong> your personal information.</li>
205
+ <li
206
+ ><strong>Restrict or object to processing</strong> under certain conditions.</li>
207
+ <li><strong>Opt out of direct marketing</strong></li>
208
+ </ul>
209
+ <p>
210
+ To exercise these rights, please use our <a
211
+ rel={constants.rel}
212
+ href={prightsLink}
213
+ target={constants.targetBlank}>Privacy Rights Request Form</a>
214
+ or email us at <code>{contactInfo.secure}</code>.
215
+ </p>
216
+ {:else if link.id === "third-party"}
217
+ <p>
218
+ Our site may contain links to third-party sites. We are not responsible
219
+ for their privacy practices.
220
+ </p>
221
+ {:else if link.id === "disclaimers"}
222
+ <p>
223
+ Network Pro Strategies offers informational content as a public service.
224
+ No warranties are made regarding the accuracy or completeness of such
225
+ content. Consulting services are governed by separate contracts.
226
+ </p>
227
+ {:else if link.id === "changes"}
228
+ <p>
229
+ We may update this policy periodically. Changes are effective upon
230
+ posting.
231
+ </p>
232
+ {:else if link.id === "contact"}
233
+ <p>For questions, contact:</p>
234
+ <p>
235
+ <strong>{contactInfo.company}</strong><br />
236
+ 📧 General Inquiries: <code>{contactInfo.email}</code><br />
237
+ 🔐 Secure Contact: <code>{contactInfo.secure}</code><br />
238
+ 📞 Phone: {contactInfo.phone}
239
+ </p>
240
+ {/if}
241
+
242
+ <!-- Back to Top Link -->
243
+ <span class={constants.classSmall}>
244
+ <a href={constants.hrefTop}>{constants.backTop}</a>
245
+ </span>
246
+ </section>
247
+ {/each}
248
+ <!-- END POLICY SECTIONS -->
249
+ <!-- END PRIVACY POLICY -->
@@ -0,0 +1,240 @@
1
+ <!-- ==========================================================================
2
+ src/lib/pages/TermsConditionsContent.svelte
3
+
4
+ SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
5
+ This file is part of Network Pro.
6
+ ========================================================================== -->
7
+
8
+ <script>
9
+ import { base } from "$app/paths";
10
+
11
+ // Log the base path to verify its value
12
+ //console.log("Base path:", base);
13
+
14
+ /**
15
+ * URL to Terms of Use page, using the base path
16
+ * @type {string}
17
+ */
18
+ const termsLink = `${base}/terms-of-use/`;
19
+
20
+ /**
21
+ * Markdown version of the Terms and Conditions document
22
+ * @type {string}
23
+ */
24
+ const tandcLink = "https://docs.netwk.pro/terms-conditions";
25
+
26
+ /**
27
+ * Common constants used throughout the component
28
+ * @type {{
29
+ * company: string,
30
+ * effectiveDate: string,
31
+ * rel: string,
32
+ * targetBlank: string,
33
+ * targetSelf: string,
34
+ * classSmall: string,
35
+ * hrefTop: string
36
+ * }}
37
+ */
38
+ const constants = {
39
+ company: "Network Pro Strategies",
40
+ effectiveDate: "May 8, 2025",
41
+ rel: "noopener noreferrer",
42
+ targetBlank: "_blank",
43
+ targetSelf: "_self",
44
+ classSmall: "small-text",
45
+ hrefTop: "#top",
46
+ };
47
+
48
+ /**
49
+ * Table of Contents links for the terms sections
50
+ * @type {Array<{id: string, text: string}>}
51
+ */
52
+ const tocLinks = [
53
+ { id: "intro", text: "Introduction" },
54
+ { id: "scope", text: "Scope of Services" },
55
+ { id: "warranties", text: "Disclaimer of Warranties" },
56
+ { id: "risk", text: "Assumption of Risk" },
57
+ { id: "liability", text: "Limitation of Liability" },
58
+ { id: "indemnify", text: "Indemnification" },
59
+ { id: "client", text: "Client Responsibilities" },
60
+ { id: "law", text: "Governing Law and Jurisdiction" },
61
+ { id: "accept", text: "Acceptance of Terms" },
62
+ { id: "exceptions", text: "Exceptions and Negotiations" },
63
+ { id: "changes", text: "Changes to These Terms" },
64
+ ];
65
+ </script>
66
+
67
+ <!-- BEGIN TITLE -->
68
+ <section id="top">
69
+ <span class={constants.classSmall}>
70
+ <a rel={constants.rel} href="https://spdx.dev/learn/handling-license-info">
71
+ SPDX License Identifier
72
+ </a>: &nbsp;<code>CC-BY-4.0 OR GPL-3.0-or-later</code>
73
+ </span>
74
+ </section>
75
+
76
+ <section id="page-title">
77
+ <h1>Consulting Terms and Conditions</h1>
78
+ <p>
79
+ <strong>{constants.company}<br />Effective Date:</strong>
80
+ {constants.effectiveDate}
81
+ </p>
82
+ </section>
83
+ <!-- END TITLE -->
84
+
85
+ &nbsp;
86
+
87
+ <!-- BEGIN TERMS AND CONDITIONS -->
88
+ <nav id="toc">
89
+ <h2>Table of Contents</h2>
90
+ <ol>
91
+ {#each tocLinks as link}
92
+ <li><a href={"#" + link.id}>{link.text}</a></li>
93
+ {/each}
94
+ </ol>
95
+ </nav>
96
+
97
+ <p class="bquote">
98
+ These Terms and Conditions apply exclusively to the provision of our
99
+ consulting and implementation services. For all other uses of our website and
100
+ associated platforms, please refer to the applicable
101
+ <a href={termsLink} target={constants.targetSelf}> Website Terms of Use </a>.
102
+ </p>
103
+
104
+ <hr />
105
+
106
+ <section id="formats">
107
+ <p>
108
+ <sup>
109
+ <strong>Formats Available:</strong> &nbsp;<span class="visited"
110
+ >HTML</span>
111
+ |
112
+ <a href={tandcLink} target={constants.targetSelf}>Markdown</a>
113
+ |
114
+ <a
115
+ rel={constants.rel}
116
+ href="https://raw.githubusercontent.com/netwk-pro/netwk-pro-legal/refs/heads/master/assets/onboard/consulting-terms.pdf"
117
+ target={constants.targetBlank}>
118
+ PDF <span class="fas fa-file-arrow-down"></span>
119
+ </a>
120
+ </sup>
121
+ </p>
122
+ </section>
123
+
124
+ {#each tocLinks as link, i}
125
+ <section id={link.id}>
126
+ <h2>{i + 1}. {link.text}</h2>
127
+
128
+ {#if link.id === "intro"}
129
+ <p>
130
+ By engaging with the information security, network security,
131
+ cybersecurity, and digital privacy consulting and implementation
132
+ services provided by {constants.company} ("Company," "we," "us," or "our"),
133
+ you ("Client") agree to be bound by these Terms and Conditions ("Terms").
134
+ <strong>
135
+ These Terms govern all engagements except where explicitly superseded
136
+ by a separate written agreement or Statement of Work (SOW).
137
+ </strong>
138
+ If you do not agree to these Terms, please do not engage our services.
139
+ </p>
140
+ {:else if link.id === "scope"}
141
+ <p>
142
+ These Terms apply to all consulting and implementation services offered
143
+ by the Company, including but not limited to assessment, planning, risk
144
+ analysis, technical implementation, and configuration of third-party
145
+ cybersecurity tools and systems. Services may be delivered in-person,
146
+ remotely, or via digital communication platforms.
147
+ <strong>
148
+ All deliverables and timelines will be governed by individual SOWs
149
+ when applicable.
150
+ </strong>
151
+ </p>
152
+ {:else if link.id === "warranties"}
153
+ <p>
154
+ All services are provided "as is" and "as available" without warranties
155
+ of any kind, whether express, implied, statutory, or otherwise. The
156
+ Company expressly disclaims all implied warranties, including but not
157
+ limited to merchantability, fitness for a particular purpose, and
158
+ non-infringement. We do not warrant that our services or recommendations
159
+ will detect or prevent all security threats or achieve legal or
160
+ regulatory compliance unless specifically agreed in writing.
161
+ </p>
162
+ {:else if link.id === "risk"}
163
+ <p>
164
+ Client acknowledges that cybersecurity and privacy-related services
165
+ inherently involve risk. The Company does not guarantee uninterrupted
166
+ service, error-free implementation, or complete immunity from breaches
167
+ or attacks. Client assumes full responsibility for decisions based on
168
+ our recommendations and agrees to maintain appropriate internal controls
169
+ and backup protocols.
170
+ </p>
171
+ {:else if link.id === "liability"}
172
+ <p>
173
+ To the maximum extent permitted by law, the Company shall not be liable
174
+ for any indirect, incidental, consequential, special, or punitive
175
+ damages, including without limitation loss of profits, data, business
176
+ interruption, or reputational harm, arising from or related to the use
177
+ or performance of the services, even if advised of the possibility of
178
+ such damages. Direct damages, if any, shall be limited to the amount
179
+ paid by Client for the specific services giving rise to the claim.
180
+ </p>
181
+ {:else if link.id === "indemnify"}
182
+ <p>
183
+ Client agrees to indemnify, defend, and hold harmless the Company, its
184
+ officers, employees, contractors, and affiliates from and against any
185
+ claims, damages, liabilities, losses, and expenses (including reasonable
186
+ legal fees) arising out of or related to (i) Client's misuse of the
187
+ services, (ii) misconfiguration of systems by Client, or (iii)
188
+ third-party claims related to services rendered under these Terms.
189
+ </p>
190
+ {:else if link.id === "client"}
191
+ <p>
192
+ <strong>
193
+ Client shall provide valid, secure, and licensed infrastructure,
194
+ access credentials, and third-party tools necessary for service
195
+ delivery.
196
+ </strong>
197
+ The Company shall operate exclusively within client-owned or designated environments
198
+ and shall not independently host, process, or store client data. Compliance
199
+ with any regulatory frameworks (e.g., HIPAA, GDPR, PCI-DSS) is the sole responsibility
200
+ of the Client unless explicitly agreed otherwise in a separate written agreement.
201
+ </p>
202
+ {:else if link.id === "law"}
203
+ <p>
204
+ These Terms shall be governed by and construed under the laws of the
205
+ State of Arizona and applicable U.S. federal laws. Any disputes shall be
206
+ resolved exclusively in the state or federal courts located in Maricopa
207
+ County, Arizona, and both parties consent to such jurisdiction and
208
+ venue.
209
+ </p>
210
+ {:else if link.id === "accept"}
211
+ <p>
212
+ Engagement with the Company's services constitutes acceptance of these
213
+ Terms. Continued use of services after any updates indicates continued
214
+ acceptance. These Terms are effective unless and until terminated or
215
+ modified in writing by mutual agreement.
216
+ </p>
217
+ {:else if link.id === "exceptions"}
218
+ <p>
219
+ <strong>
220
+ The Company is open to negotiating specific terms upon mutual
221
+ agreement.
222
+ </strong>
223
+ Exceptions to these Terms must be documented in writing and signed by both
224
+ parties. Flexibility may be offered provided such changes do not impose undue
225
+ liability or regulatory obligations on the Company.
226
+ </p>
227
+ {:else if link.id === "changes"}
228
+ <p>
229
+ The Company reserves the right to revise these Terms at any time.
230
+ Updated versions will be posted on our website or delivered via direct
231
+ notice. Clients are responsible for reviewing Terms periodically for
232
+ updates.
233
+ </p>
234
+ {/if}
235
+
236
+ <span class={constants.classSmall}
237
+ ><a href={constants.hrefTop}>Back to top</a></span>
238
+ </section>
239
+ {/each}
240
+ <!-- END TERMS AND CONDITIONS -->