@tokenoftrust/storefront-runner 0.1.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 (337) hide show
  1. package/LICENSE +58 -0
  2. package/README.md +40 -0
  3. package/apps/storefront/.dev.vars.example +41 -0
  4. package/apps/storefront/.env.example +24 -0
  5. package/apps/storefront/astro.config.mjs +245 -0
  6. package/apps/storefront/env.d.ts +155 -0
  7. package/apps/storefront/lib/ensure-preview-reconcile-secret.sh +31 -0
  8. package/apps/storefront/lib/resolve-cf-token.sh +48 -0
  9. package/apps/storefront/lib/resolve-tot-credentials.sh +69 -0
  10. package/apps/storefront/migrations/0000_baseline.sql +54 -0
  11. package/apps/storefront/migrations/0001_products_fts.sql +9 -0
  12. package/apps/storefront/migrations/README.md +54 -0
  13. package/apps/storefront/migrations/meta/0000_snapshot.json +347 -0
  14. package/apps/storefront/migrations/meta/0001_snapshot.json +347 -0
  15. package/apps/storefront/migrations/meta/_journal.json +20 -0
  16. package/apps/storefront/package.json +41 -0
  17. package/apps/storefront/public/brand/northwind-logo-dark.svg +4 -0
  18. package/apps/storefront/public/brand/northwind-logo-light.svg +4 -0
  19. package/apps/storefront/public/brand/northwind-og.svg +13 -0
  20. package/apps/storefront/public/favicon.svg +5 -0
  21. package/apps/storefront/public/js/dashboard-team.js +147 -0
  22. package/apps/storefront/public/js/dashboard-vendor-search.js +115 -0
  23. package/apps/storefront/src/components/Badge.astro +34 -0
  24. package/apps/storefront/src/components/Breadcrumbs.astro +45 -0
  25. package/apps/storefront/src/components/CollectionCard.astro +56 -0
  26. package/apps/storefront/src/components/EmptyState.astro +35 -0
  27. package/apps/storefront/src/components/Img.astro +68 -0
  28. package/apps/storefront/src/components/ProductCard.astro +228 -0
  29. package/apps/storefront/src/components/Section.astro +39 -0
  30. package/apps/storefront/src/components/Seo.astro +70 -0
  31. package/apps/storefront/src/components/WidgetFrame.astro +34 -0
  32. package/apps/storefront/src/components/auth/AuthBadge.astro +44 -0
  33. package/apps/storefront/src/components/chrome/AnnouncementBar.astro +108 -0
  34. package/apps/storefront/src/components/chrome/MegaMenu.astro +26 -0
  35. package/apps/storefront/src/components/chrome/NavDropdown.astro +116 -0
  36. package/apps/storefront/src/components/chrome/SiteFooter.astro +181 -0
  37. package/apps/storefront/src/components/chrome/SiteHeader.astro +181 -0
  38. package/apps/storefront/src/components/chrome/UtilityNav.astro +79 -0
  39. package/apps/storefront/src/components/commerce/FoxyLoader.astro +23 -0
  40. package/apps/storefront/src/components/commerce/PriceDisplay.astro +91 -0
  41. package/apps/storefront/src/components/commerce/ProductCarousel.astro +197 -0
  42. package/apps/storefront/src/components/commerce/ProductGrid.astro +75 -0
  43. package/apps/storefront/src/components/commerce/RatingStars.astro +58 -0
  44. package/apps/storefront/src/components/compliance/NicotineWarning.astro +33 -0
  45. package/apps/storefront/src/components/home/Hero.astro +164 -0
  46. package/apps/storefront/src/components/islands/AgeGate.tsx +105 -0
  47. package/apps/storefront/src/components/islands/ImageGallery.tsx +237 -0
  48. package/apps/storefront/src/components/islands/IsolatedAgeGate.tsx +73 -0
  49. package/apps/storefront/src/components/islands/MobileNav.tsx +239 -0
  50. package/apps/storefront/src/components/islands/QuickView.tsx +138 -0
  51. package/apps/storefront/src/components/islands/RecentlyViewed.tsx +122 -0
  52. package/apps/storefront/src/components/islands/SavedList.tsx +99 -0
  53. package/apps/storefront/src/components/islands/SearchTypeahead.tsx +248 -0
  54. package/apps/storefront/src/components/islands/VariantSelector.tsx +378 -0
  55. package/apps/storefront/src/components/marketing/CardGrid.astro +72 -0
  56. package/apps/storefront/src/components/marketing/CodeSample.astro +20 -0
  57. package/apps/storefront/src/components/marketing/CtaBand.astro +24 -0
  58. package/apps/storefront/src/components/marketing/Faq.astro +37 -0
  59. package/apps/storefront/src/components/marketing/Integrations.astro +63 -0
  60. package/apps/storefront/src/components/marketing/MarketingBlocks.astro +53 -0
  61. package/apps/storefront/src/components/marketing/MarketingCtas.astro +48 -0
  62. package/apps/storefront/src/components/marketing/MarketingHero.astro +72 -0
  63. package/apps/storefront/src/components/marketing/ProofStrip.astro +37 -0
  64. package/apps/storefront/src/components/marketing/SplitCompare.astro +53 -0
  65. package/apps/storefront/src/components/marketing/Steps.astro +36 -0
  66. package/apps/storefront/src/components/marketing/Testimonials.astro +38 -0
  67. package/apps/storefront/src/components/marketing/TrustBar.astro +22 -0
  68. package/apps/storefront/src/components/nav/Footer.astro +148 -0
  69. package/apps/storefront/src/components/nav/Header.astro +190 -0
  70. package/apps/storefront/src/components/plp/ActiveFilters.astro +79 -0
  71. package/apps/storefront/src/components/plp/FacetSidebar.astro +146 -0
  72. package/apps/storefront/src/components/plp/Pagination.astro +99 -0
  73. package/apps/storefront/src/components/plp/SortSelect.astro +64 -0
  74. package/apps/storefront/src/config/devTenants.ts +16 -0
  75. package/apps/storefront/src/config/kvTenantResolver.ts +87 -0
  76. package/apps/storefront/src/config/resolver.ts +46 -0
  77. package/apps/storefront/src/config/tenants.ts +193 -0
  78. package/apps/storefront/src/layouts/Layout.astro +303 -0
  79. package/apps/storefront/src/lib/analytics/index.ts +47 -0
  80. package/apps/storefront/src/lib/auth/brokerAssertion.ts +136 -0
  81. package/apps/storefront/src/lib/auth/devAuth.ts +90 -0
  82. package/apps/storefront/src/lib/auth/gatePage.ts +81 -0
  83. package/apps/storefront/src/lib/auth/identityToken.ts +341 -0
  84. package/apps/storefront/src/lib/auth/loginGate.ts +107 -0
  85. package/apps/storefront/src/lib/auth/route.ts +146 -0
  86. package/apps/storefront/src/lib/auth/session.ts +203 -0
  87. package/apps/storefront/src/lib/auth/totAccessClient.ts +503 -0
  88. package/apps/storefront/src/lib/basePath.ts +41 -0
  89. package/apps/storefront/src/lib/cfImage.ts +55 -0
  90. package/apps/storefront/src/lib/chrome/model.ts +65 -0
  91. package/apps/storefront/src/lib/colors.ts +97 -0
  92. package/apps/storefront/src/lib/content-edit/client.ts +230 -0
  93. package/apps/storefront/src/lib/content-edit/index.ts +14 -0
  94. package/apps/storefront/src/lib/content-edit/route.ts +25 -0
  95. package/apps/storefront/src/lib/content-edit/types.ts +19 -0
  96. package/apps/storefront/src/lib/cspStaticHashes.ts +24 -0
  97. package/apps/storefront/src/lib/d1/catalog.ts +289 -0
  98. package/apps/storefront/src/lib/dashboard/staffAdmission.ts +43 -0
  99. package/apps/storefront/src/lib/dashboard/staffVendorAccess.ts +449 -0
  100. package/apps/storefront/src/lib/dashboard/tenantSelection.ts +136 -0
  101. package/apps/storefront/src/lib/dashboard/vendorQuery.ts +61 -0
  102. package/apps/storefront/src/lib/demoGate.ts +113 -0
  103. package/apps/storefront/src/lib/dev/ai-widget-client.js +127 -0
  104. package/apps/storefront/src/lib/dev/cliSignInCode.ts +132 -0
  105. package/apps/storefront/src/lib/diag/redact.ts +20 -0
  106. package/apps/storefront/src/lib/edgeCache.ts +128 -0
  107. package/apps/storefront/src/lib/email/magicLinkInviteEmail.ts +62 -0
  108. package/apps/storefront/src/lib/env.ts +60 -0
  109. package/apps/storefront/src/lib/fixtures/sampleProducts.ts +130 -0
  110. package/apps/storefront/src/lib/format.ts +29 -0
  111. package/apps/storefront/src/lib/foxyCommerce.ts +49 -0
  112. package/apps/storefront/src/lib/imageAttrs.ts +55 -0
  113. package/apps/storefront/src/lib/jsonld.ts +136 -0
  114. package/apps/storefront/src/lib/maintenance.ts +71 -0
  115. package/apps/storefront/src/lib/memoryKv.ts +32 -0
  116. package/apps/storefront/src/lib/messaging/messagesClient.ts +143 -0
  117. package/apps/storefront/src/lib/placeholder.ts +99 -0
  118. package/apps/storefront/src/lib/previewReload.ts +125 -0
  119. package/apps/storefront/src/lib/rawMarketingHtml.ts +133 -0
  120. package/apps/storefront/src/lib/search/index.ts +74 -0
  121. package/apps/storefront/src/lib/sections.ts +129 -0
  122. package/apps/storefront/src/lib/securityHeaders.ts +31 -0
  123. package/apps/storefront/src/lib/storyblok/content-model.ts +289 -0
  124. package/apps/storefront/src/lib/storyblok/provider.ts +524 -0
  125. package/apps/storefront/src/lib/tenantRouting.ts +91 -0
  126. package/apps/storefront/src/lib/tot/ToTClient.ts +177 -0
  127. package/apps/storefront/src/lib/tot/d1Client.ts +62 -0
  128. package/apps/storefront/src/lib/tot/query.ts +187 -0
  129. package/apps/storefront/src/lib/tot/totClientInterface.ts +30 -0
  130. package/apps/storefront/src/lib/url.ts +119 -0
  131. package/apps/storefront/src/lib/wishlist.ts +63 -0
  132. package/apps/storefront/src/middleware/index.ts +413 -0
  133. package/apps/storefront/src/pages/404.astro +61 -0
  134. package/apps/storefront/src/pages/[...slug].astro +90 -0
  135. package/apps/storefront/src/pages/api/auth/logout.ts +21 -0
  136. package/apps/storefront/src/pages/api/auth/magic-exchange.ts +107 -0
  137. package/apps/storefront/src/pages/api/auth/send.ts +85 -0
  138. package/apps/storefront/src/pages/api/auth/verify.ts +135 -0
  139. package/apps/storefront/src/pages/api/cache-purge.ts +44 -0
  140. package/apps/storefront/src/pages/api/content-edit/ai-edit.ts +64 -0
  141. package/apps/storefront/src/pages/api/csp-report.ts +25 -0
  142. package/apps/storefront/src/pages/api/dashboard/enter-vendor.ts +124 -0
  143. package/apps/storefront/src/pages/api/dashboard/vendor-search.ts +120 -0
  144. package/apps/storefront/src/pages/api/dev/cli-signin-code.ts +44 -0
  145. package/apps/storefront/src/pages/api/newsletter.ts +104 -0
  146. package/apps/storefront/src/pages/api/request-access.ts +172 -0
  147. package/apps/storefront/src/pages/auth/login.astro +149 -0
  148. package/apps/storefront/src/pages/auth/magic.astro +105 -0
  149. package/apps/storefront/src/pages/capabilities.astro +292 -0
  150. package/apps/storefront/src/pages/collections/[handle].astro +154 -0
  151. package/apps/storefront/src/pages/collections/index.astro +59 -0
  152. package/apps/storefront/src/pages/dashboard/[appDomain]/index.astro +100 -0
  153. package/apps/storefront/src/pages/dashboard/[appDomain]/team.astro +154 -0
  154. package/apps/storefront/src/pages/dashboard/index.astro +160 -0
  155. package/apps/storefront/src/pages/dev.astro +653 -0
  156. package/apps/storefront/src/pages/index.astro +290 -0
  157. package/apps/storefront/src/pages/llms.txt.ts +92 -0
  158. package/apps/storefront/src/pages/products/[handle].astro +443 -0
  159. package/apps/storefront/src/pages/robots.txt.ts +24 -0
  160. package/apps/storefront/src/pages/saved.astro +35 -0
  161. package/apps/storefront/src/pages/search.astro +150 -0
  162. package/apps/storefront/src/pages/sitemap.xml.ts +78 -0
  163. package/apps/storefront/src/pages/style-guide/[tenant]/[theme].astro +646 -0
  164. package/apps/storefront/src/pages/style-guide/[tenant]/index.astro +85 -0
  165. package/apps/storefront/src/pages/style-guide/index.astro +94 -0
  166. package/apps/storefront/src/pages/tenants/[id]/[...path].ts +57 -0
  167. package/apps/storefront/src/styles/global.css +277 -0
  168. package/apps/storefront/src/themes/reference.ts +61 -0
  169. package/apps/storefront/src/themes/schema.ts +111 -0
  170. package/apps/storefront/src/themes/tenants/index.ts +51 -0
  171. package/apps/storefront/tsconfig.json +16 -0
  172. package/apps/storefront/vitest.config.ts +22 -0
  173. package/apps/storefront/wrangler.toml +175 -0
  174. package/package.json +23 -0
  175. package/packages/public-runtime/LICENSE +58 -0
  176. package/packages/public-runtime/package.json +22 -0
  177. package/packages/public-runtime/src/binary-path.ts +68 -0
  178. package/packages/public-runtime/src/capabilities.ts +89 -0
  179. package/packages/public-runtime/src/catalog-api.ts +81 -0
  180. package/packages/public-runtime/src/catalog-d1.ts +192 -0
  181. package/packages/public-runtime/src/csp.ts +109 -0
  182. package/packages/public-runtime/src/customization-preview.ts +197 -0
  183. package/packages/public-runtime/src/customization-reconcile.ts +63 -0
  184. package/packages/public-runtime/src/customization-runtime.ts +157 -0
  185. package/packages/public-runtime/src/customization-scripts.ts +64 -0
  186. package/packages/public-runtime/src/customization-versioning.ts +95 -0
  187. package/packages/public-runtime/src/foxy.ts +184 -0
  188. package/packages/public-runtime/src/index.ts +30 -0
  189. package/packages/public-runtime/src/product.ts +159 -0
  190. package/packages/public-runtime/src/search.ts +45 -0
  191. package/packages/public-runtime/src/tenant-assets.ts +444 -0
  192. package/packages/public-runtime/src/tenant.ts +243 -0
  193. package/packages/public-runtime/tsconfig.json +8 -0
  194. package/packages/public-runtime/vitest.config.ts +8 -0
  195. package/pnpm-workspace.yaml +7 -0
  196. package/scripts/build/copy-tenant-assets.mjs +69 -0
  197. package/scripts/tot-dev.mjs +439 -0
  198. package/tenants/bigdvapor/content/blog.json +52 -0
  199. package/tenants/bigdvapor/content/chrome.html +149 -0
  200. package/tenants/bigdvapor/content/chrome.json +47 -0
  201. package/tenants/bigdvapor/content/home.html +463 -0
  202. package/tenants/bigdvapor/content/home.json +73 -0
  203. package/tenants/bigdvapor/content/pages/about.json +5 -0
  204. package/tenants/bigdvapor/content/pages/privacy.json +6 -0
  205. package/tenants/bigdvapor/content/pages/shipping-returns.json +6 -0
  206. package/tenants/bigdvapor/content/pages-html/blogs/news.html +86 -0
  207. package/tenants/bigdvapor/content/pages-html/pages/about-us.html +106 -0
  208. package/tenants/bigdvapor/content/pages-html/pages/contact-us.html +61 -0
  209. package/tenants/bigdvapor/content/pages-html/pages/privacy-policy.html +72 -0
  210. package/tenants/bigdvapor/content/pages-html/pages/shipping-returns.html +172 -0
  211. package/tenants/bigdvapor/content/themes/bigd-navy.json +109 -0
  212. package/tenants/bigdvapor/public/img/brands/adjust-vape-disposable.png +0 -0
  213. package/tenants/bigdvapor/public/img/brands/again-vape-disposable.png +0 -0
  214. package/tenants/bigdvapor/public/img/brands/al-fakher-vape-disposable.png +0 -0
  215. package/tenants/bigdvapor/public/img/brands/arro-vape-disposable.png +0 -0
  216. package/tenants/bigdvapor/public/img/brands/cookies-vape-disposable.png +0 -0
  217. package/tenants/bigdvapor/public/img/brands/core-vape-disposable.png +0 -0
  218. package/tenants/bigdvapor/public/img/brands/cyclone-vape-disposable.png +0 -0
  219. package/tenants/bigdvapor/public/img/brands/dinner-lady-vape-disposable.png +0 -0
  220. package/tenants/bigdvapor/public/img/brands/extre-bar-vape-disposable.png +0 -0
  221. package/tenants/bigdvapor/public/img/brands/fifty-bar-vape-disposable.jpg +0 -0
  222. package/tenants/bigdvapor/public/img/brands/firerose-vape-disposable.jpg +0 -0
  223. package/tenants/bigdvapor/public/img/brands/flavor-beast-vape-disposable.jpg +0 -0
  224. package/tenants/bigdvapor/public/img/brands/foger-vape-disposable.png +0 -0
  225. package/tenants/bigdvapor/public/img/brands/kk-energy-vape-disposable.png +0 -0
  226. package/tenants/bigdvapor/public/img/brands/kumi-vape-disposable.png +0 -0
  227. package/tenants/bigdvapor/public/img/brands/lost-vape-dispoable.png +0 -0
  228. package/tenants/bigdvapor/public/img/brands/melo-labs-vape-disposable.png +0 -0
  229. package/tenants/bigdvapor/public/img/brands/mixo-vape-disposable.webp +0 -0
  230. package/tenants/bigdvapor/public/img/brands/one-tank-vape-disposable.jpg +0 -0
  231. package/tenants/bigdvapor/public/img/brands/oxbar-vape-disposable.webp +0 -0
  232. package/tenants/bigdvapor/public/img/brands/pillow-talk-vape-disposable.jpg +0 -0
  233. package/tenants/bigdvapor/public/img/brands/pod-king-vape-disposable.jpg +0 -0
  234. package/tenants/bigdvapor/public/img/brands/raz-vape-disposable.png +0 -0
  235. package/tenants/bigdvapor/public/img/hero-texas.jpg +0 -0
  236. package/tenants/bigdvapor/public/img/og.jpg +0 -0
  237. package/tenants/bigdvapor/public/img/pages/AdobeStock_202106312_web.jpg +0 -0
  238. package/tenants/bigdvapor/public/img/pages/CREW_web.jpg +0 -0
  239. package/tenants/bigdvapor/public/img/pages/Hero-Image.jpg +0 -0
  240. package/tenants/bigdvapor/public/img/tiles/adjust.png +0 -0
  241. package/tenants/bigdvapor/public/img/tiles/again.png +0 -0
  242. package/tenants/bigdvapor/public/img/tiles/al-fakher.png +0 -0
  243. package/tenants/bigdvapor/public/img/tiles/arro.png +0 -0
  244. package/tenants/bigdvapor/public/img/tiles/cookies.png +0 -0
  245. package/tenants/bigdvapor/public/img/tiles/core.png +0 -0
  246. package/tenants/bigdvapor/public/img/tiles/cyclone.png +0 -0
  247. package/tenants/bigdvapor/public/img/tiles/disposables.svg +23 -0
  248. package/tenants/bigdvapor/public/logo-wordmark.png +0 -0
  249. package/tenants/bigdvapor/public/pages/home.css +118 -0
  250. package/tenants/bigdvapor/public/pages/mkt.css +185 -0
  251. package/tenants/bigdvapor/public/pages/page.css +148 -0
  252. package/tenants/bigdvapor/public/themes/bigd-navy.css +73 -0
  253. package/tenants/bigdvapor/theme.json +12 -0
  254. package/tenants/giantvapes/content/chrome.html +152 -0
  255. package/tenants/giantvapes/content/chrome.json +94 -0
  256. package/tenants/giantvapes/content/home.html +194 -0
  257. package/tenants/giantvapes/content/home.json +50 -0
  258. package/tenants/giantvapes/content/pages/about.json +10 -0
  259. package/tenants/giantvapes/content/pages/privacy.json +6 -0
  260. package/tenants/giantvapes/content/pages/shipping-returns.json +6 -0
  261. package/tenants/giantvapes/content/pages-html/blogs/news.html +68 -0
  262. package/tenants/giantvapes/content/pages-html/pages/about-us.html +95 -0
  263. package/tenants/giantvapes/content/pages-html/pages/contact-us.html +68 -0
  264. package/tenants/giantvapes/content/pages-html/pages/privacy-policy.html +65 -0
  265. package/tenants/giantvapes/content/pages-html/pages/shipping-returns.html +77 -0
  266. package/tenants/giantvapes/content/themes/giant-navy.json +73 -0
  267. package/tenants/giantvapes/public/img/hero-suicide-bunny.jpg +0 -0
  268. package/tenants/giantvapes/public/img/hero.webp +0 -0
  269. package/tenants/giantvapes/public/img/og.jpg +0 -0
  270. package/tenants/giantvapes/public/logo-wordmark.png +0 -0
  271. package/tenants/giantvapes/public/pages/home.css +120 -0
  272. package/tenants/giantvapes/public/pages/mkt.css +185 -0
  273. package/tenants/giantvapes/public/pages/page.css +155 -0
  274. package/tenants/giantvapes/public/themes/giant-navy.css +76 -0
  275. package/tenants/giantvapes/theme.json +39 -0
  276. package/tenants/home/content/chrome.json +11 -0
  277. package/tenants/home/content/home.html +304 -0
  278. package/tenants/home/content/home.json +13 -0
  279. package/tenants/home/public/js/storefront.js +210 -0
  280. package/tenants/home/public/logo-wordmark.png +0 -0
  281. package/tenants/home/public/pages/storefront.css +212 -0
  282. package/tenants/home/theme.json +6 -0
  283. package/tenants/tokenoftrust/.tot/config.json +9 -0
  284. package/tenants/tokenoftrust/content/chrome.json +55 -0
  285. package/tenants/tokenoftrust/content/home.html +723 -0
  286. package/tenants/tokenoftrust/content/home.json +233 -0
  287. package/tenants/tokenoftrust/content/pages-html/careers.html +231 -0
  288. package/tenants/tokenoftrust/content/pages-html/company.html +275 -0
  289. package/tenants/tokenoftrust/content/pages-html/contact/contact-sales.html +188 -0
  290. package/tenants/tokenoftrust/content/pages-html/contact/startup-apply.html +206 -0
  291. package/tenants/tokenoftrust/content/pages-html/contact.html +178 -0
  292. package/tenants/tokenoftrust/content/pages-html/industries/adult-content-age-verification.html +286 -0
  293. package/tenants/tokenoftrust/content/pages-html/industries/cannabis.html +277 -0
  294. package/tenants/tokenoftrust/content/pages-html/pact-act-pricing.html +289 -0
  295. package/tenants/tokenoftrust/content/pages-html/pricing.html +483 -0
  296. package/tenants/tokenoftrust/content/pages-html/product/age-assurance/age-estimation.html +278 -0
  297. package/tenants/tokenoftrust/content/pages-html/product/age-assurance/age-gate.html +279 -0
  298. package/tenants/tokenoftrust/content/pages-html/product/age-assurance/age-verification.html +265 -0
  299. package/tenants/tokenoftrust/content/pages-html/product/age-assurance.html +173 -0
  300. package/tenants/tokenoftrust/content/pages-html/product/compliance/aml.html +214 -0
  301. package/tenants/tokenoftrust/content/pages-html/product/compliance/pact-act.html +226 -0
  302. package/tenants/tokenoftrust/content/pages-html/product/fraud-prevention.html +254 -0
  303. package/tenants/tokenoftrust/content/pages-html/product/social-profile-verification.html +212 -0
  304. package/tenants/tokenoftrust/content/pages-html/product/tax/excise-tax.html +213 -0
  305. package/tenants/tokenoftrust/content/pages-html/product/verification/aml.html +259 -0
  306. package/tenants/tokenoftrust/content/pages-html/product/verification/biometric-selfie.html +305 -0
  307. package/tenants/tokenoftrust/content/pages-html/product/verification/coverage.html +254 -0
  308. package/tenants/tokenoftrust/content/pages-html/product/verification/document-verification.html +306 -0
  309. package/tenants/tokenoftrust/content/pages-html/product/verification/electronic-identity-verification.html +304 -0
  310. package/tenants/tokenoftrust/content/pages-html/product/verification/government-id-verification.html +308 -0
  311. package/tenants/tokenoftrust/content/pages-html/product/verification.html +183 -0
  312. package/tenants/tokenoftrust/content/pages-html/product.html +228 -0
  313. package/tenants/tokenoftrust/content/pages-html/resources/integrations/bigcommerce-integration.html +220 -0
  314. package/tenants/tokenoftrust/content/pages-html/resources/integrations/shopify-integration.html +221 -0
  315. package/tenants/tokenoftrust/content/pages-html/resources/integrations/wordpress.html +220 -0
  316. package/tenants/tokenoftrust/content/pages-html/resources/integrations.html +172 -0
  317. package/tenants/tokenoftrust/content/pages-html/resources/refer-a-friend-program.html +317 -0
  318. package/tenants/tokenoftrust/content/pages-html/resources.html +177 -0
  319. package/tenants/tokenoftrust/content/pages-html/reviews.html +273 -0
  320. package/tenants/tokenoftrust/content/pages-html/solutions.html +292 -0
  321. package/tenants/tokenoftrust/content/pages-html/vlp-alcohol.html +289 -0
  322. package/tenants/tokenoftrust/content/pages-html/vlp-cigars-and-tobacco.html +286 -0
  323. package/tenants/tokenoftrust/content/pages-html/vlp-firearm-accessories.html +267 -0
  324. package/tenants/tokenoftrust/content/pages-html/vlp-peptides.html +273 -0
  325. package/tenants/tokenoftrust/content/themes/tot-navy.json +88 -0
  326. package/tenants/tokenoftrust/public/favicon.png +0 -0
  327. package/tenants/tokenoftrust/public/logo-icon.png +0 -0
  328. package/tenants/tokenoftrust/public/logo-wordmark.png +0 -0
  329. package/tenants/tokenoftrust/public/pages/company.css +108 -0
  330. package/tenants/tokenoftrust/public/pages/home.css +457 -0
  331. package/tenants/tokenoftrust/public/pages/mkt.css +482 -0
  332. package/tenants/tokenoftrust/public/pages/pricing.css +214 -0
  333. package/tenants/tokenoftrust/public/pages/solutions.css +66 -0
  334. package/tenants/tokenoftrust/public/themes/tot-navy-1.0.0.css +136 -0
  335. package/tenants/tokenoftrust/public/themes/tot-navy.css +358 -0
  336. package/tenants/tokenoftrust/theme.json +31 -0
  337. package/tsconfig.base.json +20 -0
@@ -0,0 +1,317 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <link rel="icon" type="image/png" href="/tenants/tokenoftrust/favicon.png">
7
+ <title>Refer-a-Friend Program — Earn Account Credits | Token of Trust</title>
8
+ <meta name="description" content="Refer friends to Token of Trust and earn account credits. When your referral subscribes to a paid plan, both accounts earn monthly credits for up to 12 months.">
9
+ <link rel="canonical" href="https://tokenoftrust.com/resources/refer-a-friend-program/">
10
+ <meta name="robots" content="index,follow,max-image-preview:large">
11
+ <meta property="og:type" content="website">
12
+ <meta property="og:site_name" content="Token of Trust">
13
+ <meta property="og:title" content="Token of Trust Refer-a-Friend Program">
14
+ <meta property="og:description" content="Refer friends, get rewards. When your referral subscribes to a paid Token of Trust plan, both accounts earn monthly credits for up to 12 months.">
15
+ <meta property="og:url" content="https://tokenoftrust.com/resources/refer-a-friend-program/">
16
+ <meta name="twitter:card" content="summary_large_image">
17
+ <meta name="twitter:title" content="Refer-a-Friend Program — Token of Trust">
18
+ <meta name="twitter:description" content="Refer friends, earn account credits for up to 12 months.">
19
+ <script type="application/ld+json">
20
+ {
21
+ "@context": "https://schema.org",
22
+ "@graph": [
23
+ {
24
+ "@type": "Organization",
25
+ "@id": "https://tokenoftrust.com/#org",
26
+ "name": "Token of Trust",
27
+ "url": "https://tokenoftrust.com/",
28
+ "logo": "/tenants/tokenoftrust/logo-icon.png",
29
+ "slogan": "Real Customers. Less Fraud. More Trust."
30
+ },
31
+ {
32
+ "@type": "WebPage",
33
+ "name": "Token of Trust Refer-a-Friend Program",
34
+ "url": "https://tokenoftrust.com/resources/refer-a-friend-program/"
35
+ }
36
+ ]
37
+ }
38
+ </script>
39
+ <link rel="stylesheet" href="/tenants/tokenoftrust/themes/tot-navy.css">
40
+ <link rel="stylesheet" href="/tenants/tokenoftrust/pages/mkt.css">
41
+ </head>
42
+ <body>
43
+ <a class="skip-link" href="#main">Skip to main content</a>
44
+
45
+ <header class="site">
46
+ <div class="container nav-row">
47
+ <a class="brand" href="/" aria-label="Token of Trust home"><img src="/tenants/tokenoftrust/logo-wordmark.png" alt="Token of Trust" width="156" height="34" style="height:34px;width:auto;display:block"></a>
48
+ <nav class="primary" id="primaryNav" aria-label="Primary">
49
+ <ul>
50
+ <li><a href="/product/">Platform</a></li>
51
+ <li><a href="/solutions/">Industries</a></li>
52
+ <li><a href="/company/">Company</a></li>
53
+ <li><a class="active" href="/resources/" aria-current="page">Resources</a></li>
54
+ <li><a href="/pricing/">Pricing</a></li>
55
+ <li><a href="https://app.tokenoftrust.com">Login</a></li>
56
+ </ul>
57
+ </nav>
58
+ <div class="nav-cta">
59
+ <a class="btn btn-line" href="/contact/">Book Demo</a>
60
+ <a class="btn btn-green" href="https://app.tokenoftrust.com">Start For Free</a>
61
+ <button class="hamburger" id="hamburger" aria-label="Toggle navigation menu" aria-expanded="false" aria-controls="primaryNav"><span></span><span></span><span></span></button>
62
+ </div>
63
+ </div>
64
+ </header>
65
+
66
+ <main id="main">
67
+ <nav class="crumbs container" aria-label="Breadcrumb">
68
+ <a href="/">Home</a><span class="sep">›</span>
69
+ <a href="/resources/">Resources</a><span class="sep">›</span>
70
+ <span aria-current="page">Refer-a-Friend Program</span>
71
+ </nav>
72
+
73
+ <section class="hero" aria-labelledby="hero-heading">
74
+ <div class="container">
75
+ <span class="eyebrow"><span class="dot"></span>Refer Friends, Get Rewards</span>
76
+ <h1 id="hero-heading">Save up to <span class="grad">100% off your bill.</span></h1>
77
+ <p class="lede">
78
+ Reward your referrals with up to $3,000 in account credits. Simply refer a friend and once they
79
+ sign up, credits are automatically applied to both your accounts — no extra steps needed.
80
+ </p>
81
+ <div class="cta-row">
82
+ <a class="btn btn-green" href="https://app.tokenoftrust.com">Start For Free</a>
83
+ <a class="btn btn-line" href="/contact/">Questions? Talk to an expert</a>
84
+ </div>
85
+ </div>
86
+ </section>
87
+
88
+ <section aria-labelledby="how-heading">
89
+ <div class="container">
90
+ <div class="center reveal">
91
+ <span class="kicker">How it works</span>
92
+ <h2 id="how-heading">How the Refer-a-Friend Program works</h2>
93
+ <p class="section-lede">You don't need to track anything manually — credits are deducted from your
94
+ monthly subscription fee, making it easier than ever to enjoy the benefits.</p>
95
+ </div>
96
+ <div class="steps three reveal">
97
+ <div class="step"><span class="num">1</span><h3>Refer a Friend</h3><p>Provide your friend's contact information,
98
+ and we'll take it from there.</p></div>
99
+ <div class="step"><span class="num">2</span><h3>They Sign Up</h3><p>Once your friend registers and subscribes
100
+ to a paid Token of Trust plan, you'll both start earning credits.</p></div>
101
+ <div class="step"><span class="num">3</span><h3>Earn Effortlessly</h3><p>You'll receive monthly credits
102
+ automatically applied to your account for up to 12 months, as will your referral. No extra action needed.</p></div>
103
+ </div>
104
+ </div>
105
+ </section>
106
+
107
+ <section aria-labelledby="love-heading">
108
+ <div class="container">
109
+ <div class="center reveal">
110
+ <span class="kicker">Why you'll love it</span>
111
+ <h2 id="love-heading">Why you'll love our referral program</h2>
112
+ </div>
113
+ <div class="feature-grid four reveal">
114
+ <article class="feat-card accent">
115
+ <h3>Earn Up to $3,000 in Credits</h3>
116
+ <p>For every successful referral that subscribes, both you and your referral receive credits based
117
+ on their subscription plan, applied automatically for up to 12 months.</p>
118
+ </article>
119
+ <article class="feat-card accent">
120
+ <h3>Double-Sided Rewards</h3>
121
+ <p>Both you and your referred friend get rewarded, with credits automatically deducted from your
122
+ monthly bill — no activation needed.</p>
123
+ </article>
124
+ <article class="feat-card accent">
125
+ <h3>Unlimited Referrals</h3>
126
+ <p>Refer as many friends as you like — there's no limit on how much you can earn.</p>
127
+ </article>
128
+ <article class="feat-card accent">
129
+ <h3>Hassle-Free Process</h3>
130
+ <p>Once your referral subscribes, credits are automatically applied to both accounts each month,
131
+ making the process completely hands-free.</p>
132
+ </article>
133
+ </div>
134
+ </div>
135
+ </section>
136
+
137
+ <section aria-labelledby="rewards-heading">
138
+ <div class="container">
139
+ <div class="center reveal">
140
+ <span class="kicker">Rewards Structure</span>
141
+ <h2 id="rewards-heading">How much you earn</h2>
142
+ <p class="section-lede">Example: if your referral signs up for a $3,000/month subscription, both you
143
+ and your referral automatically receive $250 in credits each month for 12 months.</p>
144
+ </div>
145
+ <div class="feature-grid three reveal">
146
+ <article class="feat-card">
147
+ <h3>Plans $2,500+/month</h3>
148
+ <p>Both parties earn <b>$250/month</b>, up to <b>$3,000</b> total credit.</p>
149
+ </article>
150
+ <article class="feat-card">
151
+ <h3>Plans $1,000–$2,499/month</h3>
152
+ <p>Both parties earn <b>$100/month</b>, up to <b>$1,200</b> total credit.</p>
153
+ </article>
154
+ <article class="feat-card">
155
+ <h3>Plans $250–$999/month</h3>
156
+ <p>Both parties earn <b>$25/month</b>, up to <b>$300</b> total credit.</p>
157
+ </article>
158
+ </div>
159
+ </div>
160
+ </section>
161
+
162
+ <section aria-labelledby="faq-heading">
163
+ <div class="container">
164
+ <div class="center reveal">
165
+ <span class="kicker">FAQ</span>
166
+ <h2 id="faq-heading">Frequently asked questions</h2>
167
+ </div>
168
+ <div class="faq reveal">
169
+ <details>
170
+ <summary>How does the Refer-a-Friend Program work?</summary>
171
+ <p>When you refer a friend or colleague to Token of Trust and they sign up for a paid
172
+ subscription, both you and your referral earn account credits. These credits are automatically
173
+ applied to your monthly bills for up to 12 months.</p>
174
+ </details>
175
+ <details>
176
+ <summary>How much can I earn for each referral?</summary>
177
+ <p>You can earn up to $3,000 in account credits, depending on the subscription plan your referral
178
+ selects. Both you and your referral receive monthly credits based on their plan tier.</p>
179
+ </details>
180
+ <details>
181
+ <summary>Is there a limit to how many friends I can refer?</summary>
182
+ <p>No, there is no limit to how many friends or colleagues you can refer. You can continue earning
183
+ credits for each successful referral that subscribes to a Token of Trust plan.</p>
184
+ </details>
185
+ <details>
186
+ <summary>Do my referral credits apply automatically?</summary>
187
+ <p>Yes, once your referral signs up for a paid plan, the credits are automatically applied to both
188
+ accounts each month for up to 12 months — no additional action is required.</p>
189
+ </details>
190
+ <details>
191
+ <summary>When will I start receiving my referral credits?</summary>
192
+ <p>You will start receiving credits the month after your referral successfully signs up for and
193
+ begins paying for a Token of Trust subscription. Credits are applied monthly over a 12-month
194
+ period.</p>
195
+ </details>
196
+ <details>
197
+ <summary>What happens if my referral cancels their subscription?</summary>
198
+ <p>If your referral cancels their subscription or becomes delinquent, you will stop receiving
199
+ credits for that referral.</p>
200
+ </details>
201
+ <details>
202
+ <summary>Can I receive credits if my subscription is lower than the referral credit?</summary>
203
+ <p>No, the credits will only apply up to the total cost of your monthly subscription. Any unused
204
+ credits will not roll over, nor will you receive cash compensation for unused credits.</p>
205
+ </details>
206
+ <details>
207
+ <summary>Can I refer someone within my own organization?</summary>
208
+ <p>No, referrals within the same organization or self-referrals do not qualify for this program.
209
+ Referrals must be genuine new customers of Token of Trust.</p>
210
+ </details>
211
+ <details>
212
+ <summary>What happens if I upgrade or downgrade my plan?</summary>
213
+ <p>The referral credits you receive will still apply to your new subscription plan, but the credits
214
+ will remain based on the original plan your referral signed up for.</p>
215
+ </details>
216
+ </div>
217
+ </div>
218
+ </section>
219
+
220
+ <section aria-labelledby="terms-heading">
221
+ <div class="container">
222
+ <div class="prose reveal">
223
+ <h2 id="terms-heading">Program Terms and Conditions</h2>
224
+ <p>Token of Trust offers this Refer-a-Friend program with the following terms:</p>
225
+ <ul>
226
+ <li><b>Eligibility:</b> Available to active Token of Trust customers with paid subscriptions. The referred
227
+ party must also sign up for a paid subscription to qualify for credits. Only one referrer per account
228
+ is allowed.</li>
229
+ <li><b>Referral Credits:</b> Calculated based on the referred party's base subscription fee, exclusive
230
+ of taxes, usage charges, or any other fees. Credits are automatically applied monthly over a 12-month
231
+ period.</li>
232
+ <li><b>Referral Rewards Structure:</b> Referrals with plans of $2,500 or more per month earn both parties
233
+ $250/month, up to $3,000 total credit. Plans from $1,000 to $2,499/month earn $100/month, up to $1,200
234
+ total. Plans between $250 and $999/month earn $25/month, up to $300 total.</li>
235
+ <li><b>Monthly Credit Application:</b> Credits are distributed in equal monthly installments over the
236
+ first 12 months of the referred customer's active subscription. No action is required.</li>
237
+ <li><b>Credit Usage:</b> Referral credits apply exclusively to Token of Trust subscription fees. If the
238
+ credit exceeds the monthly subscription cost, no additional monetary compensation is issued, and credits
239
+ do not roll over to future months.</li>
240
+ <li><b>Account Standing:</b> Accounts must be active and in good standing to continue receiving credits
241
+ — current on all payments, no suspensions or terminations, and compliant with Token of Trust's terms
242
+ of service.</li>
243
+ <li><b>Program Abuse Prevention:</b> Self-referrals or referrals within the same organization do not
244
+ qualify. Token of Trust reserves the right to disqualify referrals it deems fraudulent or ineligible.
245
+ Referrals must be genuine, new Token of Trust customers.</li>
246
+ <li><b>Modifications to the Program:</b> Token of Trust reserves the right to modify, suspend, or terminate
247
+ the program at any time, with or without notice. Changes do not affect referrals made before the modification's
248
+ effective date.</li>
249
+ <li><b>Tax Implications:</b> Participants are responsible for reporting any tax obligations arising from
250
+ the credits received. Token of Trust is not responsible for tax liabilities related to the rewards.</li>
251
+ <li><b>Liability Disclaimer:</b> Token of Trust is not responsible for the actions or account behavior
252
+ of referred customers, including cancellations or payment delinquencies, which may affect ongoing eligibility
253
+ of the referral rewards.</li>
254
+ </ul>
255
+ </div>
256
+ </div>
257
+ </section>
258
+
259
+ <section aria-labelledby="cta-heading">
260
+ <div class="container">
261
+ <div class="cta-band reveal">
262
+ <span class="kicker">Start Earning Credits Today</span>
263
+ <h2 id="cta-heading">Start earning credits today.</h2>
264
+ <p>Referring friends to Token of Trust is easy, and with up to $3,000 in rewards at stake, there's
265
+ never been a better time to start. Your credits are applied automatically — just watch your
266
+ savings grow.</p>
267
+ <div class="cta-row">
268
+ <a class="btn btn-green" href="https://app.tokenoftrust.com">Start For Free</a>
269
+ <a class="btn btn-line" href="/contact/">Talk to an expert</a>
270
+ </div>
271
+ </div>
272
+ </div>
273
+ </section>
274
+ </main>
275
+
276
+ <footer class="site">
277
+ <div class="container">
278
+ <div class="foot-grid">
279
+ <div>
280
+ <a class="brand" href="/" aria-label="Token of Trust home"><img src="/tenants/tokenoftrust/logo-wordmark.png" alt="Token of Trust" width="156" height="34" style="height:34px;width:auto;display:block"></a>
281
+ <p class="foot-note">Customer verification and compliance for regulated ecommerce. 256-bit SSL. We will
282
+ NEVER sell your data. GDPR · CCPA · PIPEDA.</p>
283
+ </div>
284
+ <nav aria-label="Platform footer"><h3>Platform</h3><ul>
285
+ <li><a href="/product/verification/">Identity Verification</a></li>
286
+ <li><a href="/product/age-assurance/">Age Assurance</a></li>
287
+ <li><a href="/product/fraud-prevention/">Fraud Prevention</a></li>
288
+ <li><a href="/product/">All products</a></li>
289
+ </ul></nav>
290
+ <nav aria-label="Industries footer"><h3>Industries</h3><ul>
291
+ <li><a href="/solutions/">All industries</a></li>
292
+ <li><a href="/vlp-cigars-and-tobacco/">Tobacco &amp; Vape</a></li>
293
+ <li><a href="/vlp-alcohol/">Wine &amp; Spirits</a></li>
294
+ <li><a href="/industries/cannabis/">Cannabis</a></li>
295
+ </ul></nav>
296
+ <nav aria-label="Company footer"><h3>Company</h3><ul>
297
+ <li><a href="/company/">Company</a></li>
298
+ <li><a href="/careers/">Careers</a></li>
299
+ <li><a href="/pricing/">Pricing</a></li>
300
+ <li><a href="/contact/">Contact Sales</a></li>
301
+ </ul></nav>
302
+ </div>
303
+ <p class="copyright">© 2026 Token of Trust®. All rights reserved.</p>
304
+ </div>
305
+ </footer>
306
+
307
+ <script>
308
+ (function(){
309
+ var burger = document.getElementById('hamburger');
310
+ var nav = document.getElementById('primaryNav');
311
+ burger.addEventListener('click', function(){ var open = nav.classList.toggle('open'); burger.setAttribute('aria-expanded', open ? 'true' : 'false'); });
312
+ var io = new IntersectionObserver(function(entries){ entries.forEach(function(e){ if(e.isIntersecting){ e.target.classList.add('in'); io.unobserve(e.target); } }); }, {threshold:.12});
313
+ document.querySelectorAll('.reveal').forEach(function(el){ io.observe(el); });
314
+ })();
315
+ </script>
316
+ </body>
317
+ </html>
@@ -0,0 +1,177 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <link rel="icon" type="image/png" href="/tenants/tokenoftrust/favicon.png">
7
+ <title>Resources — Integrations, Docs, Blog &amp; Help Center | Token of Trust</title>
8
+ <meta name="description" content="Everything you need to build and grow with Token of Trust: integrations, developer docs, the help center, our refer-a-friend program, blog, and case studies.">
9
+ <link rel="canonical" href="https://tokenoftrust.com/resources/">
10
+ <meta name="robots" content="index,follow,max-image-preview:large">
11
+ <meta property="og:type" content="website">
12
+ <meta property="og:site_name" content="Token of Trust">
13
+ <meta property="og:title" content="Resources">
14
+ <meta property="og:description" content="Integrations, developer docs, help center, blog, and case studies.">
15
+ <meta property="og:url" content="https://tokenoftrust.com/resources/">
16
+ <meta name="twitter:card" content="summary_large_image">
17
+ <meta name="twitter:title" content="Token of Trust — Resources">
18
+ <meta name="twitter:description" content="Everything you need to build and grow with Token of Trust.">
19
+ <script type="application/ld+json">
20
+ {
21
+ "@context": "https://schema.org",
22
+ "@graph": [
23
+ {
24
+ "@type": "Organization",
25
+ "@id": "https://tokenoftrust.com/#org",
26
+ "name": "Token of Trust",
27
+ "url": "https://tokenoftrust.com/",
28
+ "logo": "/tenants/tokenoftrust/logo-icon.png",
29
+ "slogan": "Real Customers. Less Fraud. More Trust."
30
+ },
31
+ {
32
+ "@type": "CollectionPage",
33
+ "name": "Resources",
34
+ "url": "https://tokenoftrust.com/resources/"
35
+ }
36
+ ]
37
+ }
38
+ </script>
39
+ <link rel="stylesheet" href="/tenants/tokenoftrust/themes/tot-navy.css">
40
+ <link rel="stylesheet" href="/tenants/tokenoftrust/pages/mkt.css">
41
+ </head>
42
+ <body>
43
+ <a class="skip-link" href="#main">Skip to main content</a>
44
+
45
+ <header class="site">
46
+ <div class="container nav-row">
47
+ <a class="brand" href="/" aria-label="Token of Trust home"><img src="/tenants/tokenoftrust/logo-wordmark.png" alt="Token of Trust" width="156" height="34" style="height:34px;width:auto;display:block"></a>
48
+ <nav class="primary" id="primaryNav" aria-label="Primary">
49
+ <ul>
50
+ <li><a href="/product/">Platform</a></li>
51
+ <li><a href="/solutions/">Industries</a></li>
52
+ <li><a href="/company/">Company</a></li>
53
+ <li><a class="active" href="/resources/" aria-current="page">Resources</a></li>
54
+ <li><a href="/pricing/">Pricing</a></li>
55
+ <li><a href="https://app.tokenoftrust.com">Login</a></li>
56
+ </ul>
57
+ </nav>
58
+ <div class="nav-cta">
59
+ <a class="btn btn-line" href="/contact/">Book Demo</a>
60
+ <a class="btn btn-green" href="https://app.tokenoftrust.com">Start For Free</a>
61
+ <button class="hamburger" id="hamburger" aria-label="Toggle navigation menu" aria-expanded="false" aria-controls="primaryNav"><span></span><span></span><span></span></button>
62
+ </div>
63
+ </div>
64
+ </header>
65
+
66
+ <main id="main">
67
+ <nav class="container crumbs" aria-label="Breadcrumb"><a href="/">Home</a><span class="sep">›</span>Resources</nav>
68
+
69
+ <section class="hero" aria-labelledby="hero-heading">
70
+ <div class="container">
71
+ <span class="eyebrow"><span class="dot"></span>Resources</span>
72
+ <h1 id="hero-heading">Everything you need to <span class="grad">build and grow.</span></h1>
73
+ <p class="lede">Integrations, developer docs, and guides to get Token of Trust live fast — plus the stories,
74
+ updates, and programs that help you go further.</p>
75
+ <div class="cta-row">
76
+ <a class="btn btn-green" href="https://app.tokenoftrust.com">Start For Free</a>
77
+ <a class="btn btn-line" href="/contact/">Book Demo</a>
78
+ </div>
79
+ </div>
80
+ </section>
81
+
82
+ <div class="proof" aria-label="Coverage and trust signals">
83
+ <div class="container">
84
+ <span><b>200+</b> countries covered</span>
85
+ <span class="sep" aria-hidden="true">·</span>
86
+ <span><b>GDPR · CCPA · PIPEDA</b> compliant</span>
87
+ <span class="sep" aria-hidden="true">·</span>
88
+ <span><b>256-bit SSL</b> encryption</span>
89
+ <span class="sep" aria-hidden="true">·</span>
90
+ <span>We will <b>never sell your data</b></span>
91
+ </div>
92
+ </div>
93
+
94
+ <section aria-labelledby="res-heading">
95
+ <div class="container">
96
+ <div class="center reveal">
97
+ <span class="kicker">Explore resources</span>
98
+ <h2 id="res-heading">Get up and running, then keep learning</h2>
99
+ <p class="section-lede">From one-click platform integrations to hands-on docs and real-world stories.</p>
100
+ </div>
101
+ <div class="feature-grid">
102
+ <article class="feat-card accent reveal"><h3>Integrations</h3><p>Connect Token of Trust to Shopify, BigCommerce,
103
+ WordPress, and more.</p><a class="card-link" href="/resources/integrations/">Explore &rarr;</a></article>
104
+ <article class="feat-card accent reveal"><h3>Refer-a-Friend Program</h3><p>Share Token of Trust with your
105
+ network and earn rewards.</p><a class="card-link" href="/resources/refer-a-friend-program/">Explore &rarr;</a></article>
106
+ <article class="feat-card accent reveal"><h3>Help Center</h3><p>Setup guides, FAQs, and answers to keep
107
+ your workflow moving.</p><a class="card-link" href="https://help.tokenoftrust.com">Visit help center &rarr;</a></article>
108
+ <article class="feat-card accent reveal"><h3>Developer Docs</h3><p>API references, SDKs, and integration
109
+ recipes for your team.</p><a class="card-link" href="https://help.tokenoftrust.com">Read the docs &rarr;</a></article>
110
+ <article class="feat-card accent reveal"><h3>Blog</h3><p>Product updates, compliance news, and best practices.</p><a class="card-link" href="/resources/">Read
111
+ the blog &rarr;</a></article>
112
+ <article class="feat-card accent reveal"><h3>Case Studies</h3><p>See how regulated merchants verify customers
113
+ and cut fraud.</p><a class="card-link" href="/resources/">See case studies &rarr;</a></article>
114
+ <article class="feat-card accent reveal"><h3>Customer Reviews</h3><p>What merchants say about Token of
115
+ Trust on G2, Capterra, and more.</p><a class="card-link" href="/reviews/">Read reviews &rarr;</a></article>
116
+ </div>
117
+ </div>
118
+ </section>
119
+
120
+ <section aria-labelledby="cta-heading">
121
+ <div class="container">
122
+ <div class="cta-band reveal">
123
+ <span class="kicker">Get started</span>
124
+ <h2 id="cta-heading">Build trust into every transaction</h2>
125
+ <p>Start free — no credit card needed. Or talk to our team about the right setup for your products and
126
+ jurisdictions.</p>
127
+ <div class="cta-row">
128
+ <a class="btn btn-ent" href="https://app.tokenoftrust.com">Start For Free</a>
129
+ <a class="btn btn-line" href="/contact/">Contact Sales</a>
130
+ </div>
131
+ </div>
132
+ </div>
133
+ </section>
134
+ </main>
135
+
136
+ <footer class="site">
137
+ <div class="container">
138
+ <div class="foot-grid">
139
+ <div>
140
+ <a class="brand" href="/" aria-label="Token of Trust home"><img src="/tenants/tokenoftrust/logo-wordmark.png" alt="Token of Trust" width="156" height="34" style="height:34px;width:auto;display:block"></a>
141
+ <p class="foot-note">Customer verification and compliance for regulated ecommerce. 256-bit SSL. We will
142
+ NEVER sell your data. GDPR · CCPA · PIPEDA.</p>
143
+ </div>
144
+ <nav aria-label="Platform footer"><h3>Platform</h3><ul>
145
+ <li><a href="/product/verification/">Identity Verification</a></li>
146
+ <li><a href="/product/age-assurance/">Age Assurance</a></li>
147
+ <li><a href="/product/fraud-prevention/">Fraud Prevention</a></li>
148
+ <li><a href="/product/">All products</a></li>
149
+ </ul></nav>
150
+ <nav aria-label="Industries footer"><h3>Industries</h3><ul>
151
+ <li><a href="/solutions/">All industries</a></li>
152
+ <li><a href="/vlp-cigars-and-tobacco/">Tobacco &amp; Vape</a></li>
153
+ <li><a href="/vlp-alcohol/">Wine &amp; Spirits</a></li>
154
+ <li><a href="/industries/cannabis/">Cannabis</a></li>
155
+ </ul></nav>
156
+ <nav aria-label="Company footer"><h3>Company</h3><ul>
157
+ <li><a href="/company/">Company</a></li>
158
+ <li><a href="/careers/">Careers</a></li>
159
+ <li><a href="/pricing/">Pricing</a></li>
160
+ <li><a href="/contact/">Contact Sales</a></li>
161
+ </ul></nav>
162
+ </div>
163
+ <p class="copyright">© 2026 Token of Trust®. All rights reserved.</p>
164
+ </div>
165
+ </footer>
166
+
167
+ <script>
168
+ (function(){
169
+ var burger = document.getElementById('hamburger');
170
+ var nav = document.getElementById('primaryNav');
171
+ burger.addEventListener('click', function(){ var open = nav.classList.toggle('open'); burger.setAttribute('aria-expanded', open ? 'true' : 'false'); });
172
+ var io = new IntersectionObserver(function(entries){ entries.forEach(function(e){ if(e.isIntersecting){ e.target.classList.add('in'); io.unobserve(e.target); } }); }, {threshold:.12});
173
+ document.querySelectorAll('.reveal').forEach(function(el){ io.observe(el); });
174
+ })();
175
+ </script>
176
+ </body>
177
+ </html>