@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,305 @@
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>Biometric Selfie Verification | Token of Trust</title>
8
+ <meta name="description" content="Validate unique facial traits securely with Token of Trust's biometric scan. Strengthen security using advanced technology.">
9
+ <link rel="canonical" href="https://tokenoftrust.com/product/verification/biometric-selfie/">
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="Biometric Selfie Verification — Token of Trust">
14
+ <meta property="og:description" content="Confirm the authenticity of selfies with biometric facial analysis to reduce fraud.">
15
+ <meta property="og:url" content="https://tokenoftrust.com/product/verification/biometric-selfie/">
16
+ <meta name="twitter:card" content="summary_large_image">
17
+ <meta name="twitter:title" content="Biometric Selfie — Token of Trust">
18
+ <meta name="twitter:description" content="Secure selfie verification with biometric analysis.">
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": "Biometric Selfie Verification | Token of Trust",
34
+ "url": "https://tokenoftrust.com/product/verification/biometric-selfie/"
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 class="active" href="/product/" aria-current="page">Platform</a></li>
51
+ <li><a href="/solutions/">Industries</a></li>
52
+ <li><a href="/company/">Company</a></li>
53
+ <li><a href="/resources/">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">
68
+ <a href="/">Home</a><span class="sep">›</span>
69
+ <a href="/product/">Platform</a><span class="sep">›</span>
70
+ <a href="/product/verification/">Identity Verification</a><span class="sep">›</span>
71
+ <span aria-current="page">Biometric Selfie</span>
72
+ </nav>
73
+
74
+ <section class="hero" aria-labelledby="hero-heading">
75
+ <div class="container">
76
+ <span class="eyebrow"><span class="dot"></span>Identity Verification</span>
77
+ <h1 id="hero-heading">Secure <span class="grad">selfie verification.</span></h1>
78
+ <p class="lede">
79
+ Enhance your verification process by integrating biometric analysis for facial recognition. This
80
+ feature ensures the authenticity of selfies, reducing fraud and adding an extra layer of security.
81
+ </p>
82
+ <div class="cta-row">
83
+ <a class="btn btn-green" href="https://app.tokenoftrust.com">Start For Free</a>
84
+ <a class="btn btn-line" href="/contact/">Talk to an expert</a>
85
+ </div>
86
+ </div>
87
+ </section>
88
+
89
+ <section aria-labelledby="cap-heading">
90
+ <div class="container">
91
+ <div class="center reveal">
92
+ <span class="kicker">Capabilities</span>
93
+ <h2 id="cap-heading">Prove the person is real — and present</h2>
94
+ <p class="section-lede">Confirm identity ownership with advanced facial analysis.</p>
95
+ </div>
96
+ <div class="feature-grid reveal">
97
+ <article class="feat-card accent">
98
+ <h3>Accurate biometric selfie verification</h3>
99
+ <p>Reliable analysis of unique facial features to confirm the individual is authentic.</p>
100
+ </article>
101
+ <article class="feat-card accent">
102
+ <h3>Enhanced identity ownership validation</h3>
103
+ <p>Match a live selfie to the identity being verified, strengthening proof that the person is who they
104
+ claim.</p>
105
+ </article>
106
+ <article class="feat-card accent">
107
+ <h3>Increased certainty</h3>
108
+ <p>Heightened confidence in identity validation that significantly reduces the risk of fraud.</p>
109
+ </article>
110
+ <article class="feat-card accent">
111
+ <h3>Significant time savings</h3>
112
+ <p>Biometric selfie detection streamlines operations and drastically reduces manual checks.</p>
113
+ </article>
114
+ <article class="feat-card accent">
115
+ <h3>Encrypted image storage</h3>
116
+ <p>All sensitive images and verification data are stored securely with advanced encryption.</p>
117
+ </article>
118
+ <article class="feat-card accent">
119
+ <h3>Global verification coverage</h3>
120
+ <p>Secure, reliable identity checks on a global scale using the same seamless integration as your other
121
+ flows.</p>
122
+ </article>
123
+ </div>
124
+ </div>
125
+ </section>
126
+
127
+ <section class="alt-bg" aria-labelledby="how-heading">
128
+ <div class="container">
129
+ <div class="center reveal">
130
+ <span class="kicker">How it works</span>
131
+ <h2 id="how-heading">Screen, capture, secure, review</h2>
132
+ </div>
133
+ <div class="steps reveal">
134
+ <div class="step">
135
+ <span class="num">01</span>
136
+ <h3>Complete KYC screening</h3>
137
+ <p>Verify user eligibility through our Know Your Customer (KYC) process so only qualified users proceed.</p>
138
+ </div>
139
+ <div class="step">
140
+ <span class="num">02</span>
141
+ <h3>Capture a selfie</h3>
142
+ <p>The user takes a selfie, which is used to analyze unique facial features and confirm their identity.</p>
143
+ </div>
144
+ <div class="step">
145
+ <span class="num">03</span>
146
+ <h3>Securely archive data</h3>
147
+ <p>Verification status is held between 90 days and 1 year depending on the plan; anonymized historical
148
+ logs are retained for 7 years — all protected with 256-bit SSL encryption.</p>
149
+ </div>
150
+ <div class="step">
151
+ <span class="num">04</span>
152
+ <h3>Review verification results</h3>
153
+ <p>Generate and review detailed results to assess the user's identity validity and verification outcome.</p>
154
+ </div>
155
+ </div>
156
+ </div>
157
+ </section>
158
+
159
+ <section aria-labelledby="verify-heading">
160
+ <div class="container">
161
+ <div class="split reveal">
162
+ <div class="split-copy">
163
+ <span class="kicker">Verify more customers</span>
164
+ <h2 id="verify-heading">Efficient, accurate, worldwide</h2>
165
+ <p>
166
+ Streamline your verification with advanced biometric technology that quickly analyzes facial
167
+ features and delivers precise validation — saving time while enhancing accuracy and security.
168
+ </p>
169
+ <a class="card-link" href="/product/verification/coverage/">See verification coverage →</a>
170
+ </div>
171
+ <ul class="check-list">
172
+ <li><b>Global verification coverage</b><span>Reliable identity checks on a global scale with seamless
173
+ integration.</span></li>
174
+ <li><b>Efficient and accurate</b><span>Advanced biometric analysis provides precise validation of user
175
+ identity, saving time and resources.</span></li>
176
+ <li><b>Time savings with security</b><span>Facial-recognition analysis makes verification quick and reliable
177
+ while reducing fraud.</span></li>
178
+ </ul>
179
+ </div>
180
+ </div>
181
+ </section>
182
+
183
+ <section class="alt-bg" aria-labelledby="privacy-heading">
184
+ <div class="container center reveal">
185
+ <span class="kicker">Trust through privacy</span>
186
+ <h2 id="privacy-heading">Fostering trust through privacy</h2>
187
+ <p class="section-lede">
188
+ Our commitment to privacy runs deep within the fabric of our solutions. Through cutting-edge security
189
+ and encryption, Token of Trust provides a trustworthy foundation for businesses seeking reliable
190
+ identity and compliance solutions.
191
+ </p>
192
+ <div class="reassure-row">
193
+ <div class="reassurance"><b>256-bit SSL</b><span>Encryption 100% of the time on every device.</span></div>
194
+ <div class="reassurance"><b>We never sell your data</b><span>Your business and consumer data stays yours.</span></div>
195
+ <div class="reassurance"><b>GDPR compliant</b><span>Aligned with GDPR and global privacy laws.</span></div>
196
+ </div>
197
+ </div>
198
+ </section>
199
+
200
+ <section aria-labelledby="related-heading">
201
+ <div class="container">
202
+ <div class="center reveal">
203
+ <span class="kicker">Related verification</span>
204
+ <h2 id="related-heading">Layer in more identity signals</h2>
205
+ </div>
206
+ <div class="feature-grid three reveal">
207
+ <article class="feat-card">
208
+ <h3>Government ID Verification</h3>
209
+ <p>Confirm passports, licenses, and IDs, then match them to a live selfie.</p>
210
+ <a class="card-link" href="/product/verification/government-id-verification/">Explore government ID →</a>
211
+ </article>
212
+ <article class="feat-card">
213
+ <h3>Document Verification</h3>
214
+ <p>Validate industry-specific documents such as utility bills and bank statements.</p>
215
+ <a class="card-link" href="/product/verification/document-verification/">Explore document verification
216
+ →</a>
217
+ </article>
218
+ <article class="feat-card">
219
+ <h3>Electronic Identity Verification</h3>
220
+ <p>Confirm identities against authoritative databases during checkout or onboarding.</p>
221
+ <a class="card-link" href="/product/verification/electronic-identity-verification/">Explore data verification
222
+ →</a>
223
+ </article>
224
+ </div>
225
+ </div>
226
+ </section>
227
+
228
+ <section aria-labelledby="faq-heading">
229
+ <div class="container">
230
+ <div class="center reveal">
231
+ <span class="kicker">FAQ</span>
232
+ <h2 id="faq-heading">Frequently asked questions</h2>
233
+ </div>
234
+ <div class="faq reveal">
235
+ <details><summary>What is biometric verification?</summary><p>Biometric verification is used to confirm
236
+ a person's identity using their biometric data, such as face recognition.</p></details>
237
+ <details><summary>How does selfie verification work?</summary><p>Selfie verification enhances biometric
238
+ identity verification by using a photo of the user's face to match with stored biometric data, ensuring
239
+ the user is who they claim to be.</p></details>
240
+ <details><summary>What is a biometric checker?</summary><p>A biometric checker evaluates biometric data
241
+ like fingerprints or facial features to verify an individual's identity.</p></details>
242
+ <details><summary>Can biometric ID verification use face verification alone?</summary><p>Yes. Biometric
243
+ ID verification can be performed through face verification alone if the system relies solely on facial
244
+ recognition to confirm identity.</p></details>
245
+ </div>
246
+ </div>
247
+ </section>
248
+
249
+ <section aria-labelledby="cta-heading">
250
+ <div class="container">
251
+ <div class="cta-band reveal">
252
+ <span class="kicker">Ready to safely acquire new customers?</span>
253
+ <h2 id="cta-heading">Add biometric assurance to your flow</h2>
254
+ <p>Free trial. No credit card needed. Start verifying customers today, or talk to our team about your requirements.</p>
255
+ <div class="cta-row">
256
+ <a class="btn btn-green" href="https://app.tokenoftrust.com">Start For Free</a>
257
+ <a class="btn btn-line" href="/contact/">Contact Sales</a>
258
+ </div>
259
+ </div>
260
+ </div>
261
+ </section>
262
+ </main>
263
+
264
+ <footer class="site">
265
+ <div class="container">
266
+ <div class="foot-grid">
267
+ <div>
268
+ <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>
269
+ <p class="foot-note">Customer verification and compliance for regulated ecommerce. 256-bit SSL. We will
270
+ NEVER sell your data. GDPR · CCPA · PIPEDA.</p>
271
+ </div>
272
+ <nav aria-label="Platform footer"><h3>Platform</h3><ul>
273
+ <li><a href="/product/verification/">Identity Verification</a></li>
274
+ <li><a href="/product/age-assurance/">Age Assurance</a></li>
275
+ <li><a href="/product/fraud-prevention/">Fraud Prevention</a></li>
276
+ <li><a href="/product/">All products</a></li>
277
+ </ul></nav>
278
+ <nav aria-label="Industries footer"><h3>Industries</h3><ul>
279
+ <li><a href="/solutions/">All industries</a></li>
280
+ <li><a href="/vlp-cigars-and-tobacco/">Tobacco &amp; Vape</a></li>
281
+ <li><a href="/vlp-alcohol/">Wine &amp; Spirits</a></li>
282
+ <li><a href="/industries/cannabis/">Cannabis</a></li>
283
+ </ul></nav>
284
+ <nav aria-label="Company footer"><h3>Company</h3><ul>
285
+ <li><a href="/company/">Company</a></li>
286
+ <li><a href="/careers/">Careers</a></li>
287
+ <li><a href="/pricing/">Pricing</a></li>
288
+ <li><a href="/contact/">Contact Sales</a></li>
289
+ </ul></nav>
290
+ </div>
291
+ <p class="copyright">© 2026 Token of Trust®. All rights reserved.</p>
292
+ </div>
293
+ </footer>
294
+
295
+ <script>
296
+ (function(){
297
+ var burger = document.getElementById('hamburger');
298
+ var nav = document.getElementById('primaryNav');
299
+ burger.addEventListener('click', function(){ var open = nav.classList.toggle('open'); burger.setAttribute('aria-expanded', open ? 'true' : 'false'); });
300
+ var io = new IntersectionObserver(function(entries){ entries.forEach(function(e){ if(e.isIntersecting){ e.target.classList.add('in'); io.unobserve(e.target); } }); }, {threshold:.12});
301
+ document.querySelectorAll('.reveal').forEach(function(el){ io.observe(el); });
302
+ })();
303
+ </script>
304
+ </body>
305
+ </html>
@@ -0,0 +1,254 @@
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>Global Verification Coverage | Token of Trust</title>
8
+ <meta name="description" content="Explore Token of Trust's verification coverage across multiple countries. Discover the types of products available for verification in each country.">
9
+ <link rel="canonical" href="https://tokenoftrust.com/product/verification/coverage/">
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="Global Verification Coverage — Token of Trust">
14
+ <meta property="og:description" content="Verification coverage across multiple countries — see the product types available for verification worldwide.">
15
+ <meta property="og:url" content="https://tokenoftrust.com/product/verification/coverage/">
16
+ <meta name="twitter:card" content="summary_large_image">
17
+ <meta name="twitter:title" content="Global Verification Coverage — Token of Trust">
18
+ <meta name="twitter:description" content="Verification coverage across multiple countries.">
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": "Global Verification Coverage | Token of Trust",
34
+ "url": "https://tokenoftrust.com/product/verification/coverage/"
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 class="active" href="/product/" aria-current="page">Platform</a></li>
51
+ <li><a href="/solutions/">Industries</a></li>
52
+ <li><a href="/company/">Company</a></li>
53
+ <li><a href="/resources/">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">
68
+ <a href="/">Home</a><span class="sep">›</span>
69
+ <a href="/product/">Platform</a><span class="sep">›</span>
70
+ <a href="/product/verification/">Identity Verification</a><span class="sep">›</span>
71
+ <span aria-current="page">Verification Coverage</span>
72
+ </nav>
73
+
74
+ <section class="hero" aria-labelledby="hero-heading">
75
+ <div class="container">
76
+ <span class="eyebrow"><span class="dot"></span>Identity Verification</span>
77
+ <h1 id="hero-heading">Global <span class="grad">verification coverage.</span></h1>
78
+ <p class="lede">
79
+ Explore Token of Trust's verification coverage across multiple countries, and discover the types of
80
+ products available for verification in each country. Verify customers securely, wherever they are.
81
+ </p>
82
+ <div class="cta-row">
83
+ <a class="btn btn-green" href="https://app.tokenoftrust.com">Start For Free</a>
84
+ <a class="btn btn-line" href="/contact/">Ask about a country</a>
85
+ </div>
86
+ </div>
87
+ </section>
88
+
89
+ <section aria-labelledby="stats-heading">
90
+ <div class="container">
91
+ <div class="center reveal">
92
+ <span class="kicker">At a glance</span>
93
+ <h2 id="stats-heading">Coverage that scales with you</h2>
94
+ <p class="section-lede">Verification coverage spanning 251 countries, with data verification available
95
+ within the US and Canada for local needs.</p>
96
+ </div>
97
+ <div class="stat-row three reveal">
98
+ <div class="stat"><b>251</b><span>Countries with verification coverage</span></div>
99
+ <div class="stat"><b>US &amp; Canada</b><span>Where data verification is available for local needs</span></div>
100
+ <div class="stat"><b>256-bit</b><span>SSL encryption on every device, 100% of the time</span></div>
101
+ </div>
102
+ </div>
103
+ </section>
104
+
105
+ <section class="alt-bg" aria-labelledby="types-heading">
106
+ <div class="container">
107
+ <div class="center reveal">
108
+ <span class="kicker">By product</span>
109
+ <h2 id="types-heading">Product types available for verification</h2>
110
+ <p class="section-lede">Coverage varies by country. The verification products below make up the coverage
111
+ available across the countries we support.</p>
112
+ </div>
113
+ <div class="feature-grid reveal">
114
+ <article class="feat-card accent">
115
+ <h3>Government ID Verification</h3>
116
+ <p>Automated authentication of passports, licenses, and IDs — the broadest coverage, spanning 251 countries.</p>
117
+ <a class="card-link" href="/product/verification/government-id-verification/">Explore government ID →</a>
118
+ </article>
119
+ <article class="feat-card accent">
120
+ <h3>Electronic Identity Verification</h3>
121
+ <p>Identity verification against authoritative databases, available within the US and Canada for local
122
+ needs.</p>
123
+ <a class="card-link" href="/product/verification/electronic-identity-verification/">Explore data verification
124
+ →</a>
125
+ </article>
126
+ <article class="feat-card accent">
127
+ <h3>Biometric Selfie</h3>
128
+ <p>Facial-analysis selfie verification available on a global scale alongside your other verification
129
+ flows.</p>
130
+ <a class="card-link" href="/product/verification/biometric-selfie/">Explore biometric selfie →</a>
131
+ </article>
132
+ <article class="feat-card accent">
133
+ <h3>Document Verification</h3>
134
+ <p>Global validation of industry-specific documents such as utility bills, bank statements, and insurance
135
+ documents.</p>
136
+ <a class="card-link" href="/product/verification/document-verification/">Explore document verification
137
+ →</a>
138
+ </article>
139
+ <article class="feat-card accent">
140
+ <h3>Sanction &amp; Watchlist Screening</h3>
141
+ <p>Screen individuals against international AML, sanction, and watchlists as part of KYC.</p>
142
+ <a class="card-link" href="/product/verification/aml/">Explore AML screening →</a>
143
+ </article>
144
+ <article class="feat-card accent">
145
+ <h3>Not sure about a country?</h3>
146
+ <p>Coverage and product availability differ by jurisdiction. Talk to our team to confirm what's available
147
+ where you operate.</p>
148
+ <a class="card-link" href="/contact/">Contact Sales →</a>
149
+ </article>
150
+ </div>
151
+ </div>
152
+ </section>
153
+
154
+ <section aria-labelledby="how-heading">
155
+ <div class="container">
156
+ <div class="center reveal">
157
+ <span class="kicker">How coverage works</span>
158
+ <h2 id="how-heading">Match coverage to where you sell</h2>
159
+ </div>
160
+ <div class="steps three reveal">
161
+ <div class="step">
162
+ <span class="num">01</span>
163
+ <h3>Pick your markets</h3>
164
+ <p>Identify the countries where you onboard or sell to customers and the compliance you need to meet.</p>
165
+ </div>
166
+ <div class="step">
167
+ <span class="num">02</span>
168
+ <h3>Match the products</h3>
169
+ <p>Combine government ID, data, biometric, document, and watchlist verification to fit each market's
170
+ requirements.</p>
171
+ </div>
172
+ <div class="step">
173
+ <span class="num">03</span>
174
+ <h3>Verify with confidence</h3>
175
+ <p>Run the same seamless verification flow worldwide, backed by a universally accepted audit trail.</p>
176
+ </div>
177
+ </div>
178
+ </div>
179
+ </section>
180
+
181
+ <section class="alt-bg" aria-labelledby="privacy-heading">
182
+ <div class="container center reveal">
183
+ <span class="kicker">Trust through privacy</span>
184
+ <h2 id="privacy-heading">Secure verification, everywhere</h2>
185
+ <p class="section-lede">
186
+ Wherever you verify, Token of Trust protects business and consumer data with cutting-edge security and
187
+ encryption — a trustworthy foundation for identity and compliance.
188
+ </p>
189
+ <div class="reassure-row">
190
+ <div class="reassurance"><b>256-bit SSL</b><span>Encryption 100% of the time on every device.</span></div>
191
+ <div class="reassurance"><b>We never sell your data</b><span>Your business and consumer data stays yours.</span></div>
192
+ <div class="reassurance"><b>GDPR compliant</b><span>Aligned with GDPR and global privacy laws.</span></div>
193
+ </div>
194
+ </div>
195
+ </section>
196
+
197
+ <section aria-labelledby="cta-heading">
198
+ <div class="container">
199
+ <div class="cta-band reveal">
200
+ <span class="kicker">Ready to verify customers worldwide?</span>
201
+ <h2 id="cta-heading">Bring verification to your markets</h2>
202
+ <p>Free trial. No credit card needed. Start verifying customers today, or talk to our team to confirm coverage
203
+ for your countries.</p>
204
+ <div class="cta-row">
205
+ <a class="btn btn-green" href="https://app.tokenoftrust.com">Start For Free</a>
206
+ <a class="btn btn-line" href="/contact/">Contact Sales</a>
207
+ </div>
208
+ </div>
209
+ </div>
210
+ </section>
211
+ </main>
212
+
213
+ <footer class="site">
214
+ <div class="container">
215
+ <div class="foot-grid">
216
+ <div>
217
+ <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>
218
+ <p class="foot-note">Customer verification and compliance for regulated ecommerce. 256-bit SSL. We will
219
+ NEVER sell your data. GDPR · CCPA · PIPEDA.</p>
220
+ </div>
221
+ <nav aria-label="Platform footer"><h3>Platform</h3><ul>
222
+ <li><a href="/product/verification/">Identity Verification</a></li>
223
+ <li><a href="/product/age-assurance/">Age Assurance</a></li>
224
+ <li><a href="/product/fraud-prevention/">Fraud Prevention</a></li>
225
+ <li><a href="/product/">All products</a></li>
226
+ </ul></nav>
227
+ <nav aria-label="Industries footer"><h3>Industries</h3><ul>
228
+ <li><a href="/solutions/">All industries</a></li>
229
+ <li><a href="/vlp-cigars-and-tobacco/">Tobacco &amp; Vape</a></li>
230
+ <li><a href="/vlp-alcohol/">Wine &amp; Spirits</a></li>
231
+ <li><a href="/industries/cannabis/">Cannabis</a></li>
232
+ </ul></nav>
233
+ <nav aria-label="Company footer"><h3>Company</h3><ul>
234
+ <li><a href="/company/">Company</a></li>
235
+ <li><a href="/careers/">Careers</a></li>
236
+ <li><a href="/pricing/">Pricing</a></li>
237
+ <li><a href="/contact/">Contact Sales</a></li>
238
+ </ul></nav>
239
+ </div>
240
+ <p class="copyright">© 2026 Token of Trust®. All rights reserved.</p>
241
+ </div>
242
+ </footer>
243
+
244
+ <script>
245
+ (function(){
246
+ var burger = document.getElementById('hamburger');
247
+ var nav = document.getElementById('primaryNav');
248
+ burger.addEventListener('click', function(){ var open = nav.classList.toggle('open'); burger.setAttribute('aria-expanded', open ? 'true' : 'false'); });
249
+ var io = new IntersectionObserver(function(entries){ entries.forEach(function(e){ if(e.isIntersecting){ e.target.classList.add('in'); io.unobserve(e.target); } }); }, {threshold:.12});
250
+ document.querySelectorAll('.reveal').forEach(function(el){ io.observe(el); });
251
+ })();
252
+ </script>
253
+ </body>
254
+ </html>