amliq-dashboard 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (492) hide show
  1. package/.env.example +3 -0
  2. package/.env.production +1 -0
  3. package/Dockerfile +26 -0
  4. package/QUICK_START.md +267 -0
  5. package/README.md +161 -0
  6. package/TESTING_GUIDE.md +322 -0
  7. package/dist/.well-known/ai-plugin.json +15 -0
  8. package/dist/_headers +8 -0
  9. package/dist/_redirects +1 -0
  10. package/dist/assets/APIKeys-BvwFauIs.js +6 -0
  11. package/dist/assets/APIKeys-DaMSBZQL.js +1 -0
  12. package/dist/assets/AdverseMedia-DckXfMzS.js +4 -0
  13. package/dist/assets/AlertDetailPage-Bc2_zwu_.js +1 -0
  14. package/dist/assets/AlertQueue-DFtBiRoM.js +8 -0
  15. package/dist/assets/Analytics-DtruB5lQ.js +1 -0
  16. package/dist/assets/AuditTrail-BK68ePu0.js +1 -0
  17. package/dist/assets/AuthDivider-gRHEt7gx.js +1 -0
  18. package/dist/assets/Badge-B9VFkofy.js +1 -0
  19. package/dist/assets/BatchJobs-Bz6KFnXD.js +6 -0
  20. package/dist/assets/BillingPage-R9nQ5nFb.js +11 -0
  21. package/dist/assets/Card-Cw-T_-oU.js +1 -0
  22. package/dist/assets/CaseDetail-DYs7Zg_y.js +7 -0
  23. package/dist/assets/CaseManagement-B1Q4Dp1Y.js +1 -0
  24. package/dist/assets/ComplianceReport-Dhssqc9T.js +1 -0
  25. package/dist/assets/Configuration-B92kl9T0.js +1 -0
  26. package/dist/assets/CryptoScreening-C7yFlskC.js +1 -0
  27. package/dist/assets/Dashboard-w4-Nhv9q.js +17 -0
  28. package/dist/assets/DataSources-u3-Ri_5_.js +3 -0
  29. package/dist/assets/EDDWorkflow-CFzlEO0e.js +1 -0
  30. package/dist/assets/EmptyState-Do0xJAT9.js +6 -0
  31. package/dist/assets/ForgotPassword-BPYyQFQp.js +1 -0
  32. package/dist/assets/LandingPage-CjaP0zw4.js +41 -0
  33. package/dist/assets/ListsMarketplace-CG6KkT9B.js +6 -0
  34. package/dist/assets/Login-677LEGP1.js +1 -0
  35. package/dist/assets/MFASetup-BxqCPvui.js +1 -0
  36. package/dist/assets/Monitoring-9TN9MK4y.js +1 -0
  37. package/dist/assets/Onboarding-Cf0Y83lX.js +1 -0
  38. package/dist/assets/Operations-CcXwc2xw.js +10 -0
  39. package/dist/assets/Overview-B_Ky0VWV.js +1 -0
  40. package/dist/assets/PEPScreening-pUQjTH9c.js +1 -0
  41. package/dist/assets/PageHeader-BObHFn0i.js +1 -0
  42. package/dist/assets/PrivacyPolicy-DZ2xrKir.js +1 -0
  43. package/dist/assets/ResetPassword-AtxtpIG1.js +1 -0
  44. package/dist/assets/RiskAssessment-Dzuh1Usv.js +1 -0
  45. package/dist/assets/SARForm-D8w2ZGe-.js +1 -0
  46. package/dist/assets/SanctionsLists-CPA3UH2v.js +1 -0
  47. package/dist/assets/ScheduledTasks-Dsjk-6UR.js +1 -0
  48. package/dist/assets/ScreenEntity-D1U0YL7v.js +3 -0
  49. package/dist/assets/ScreeningProgress-BW49PzoB.js +66 -0
  50. package/dist/assets/SearchField-CulFKdiI.js +1 -0
  51. package/dist/assets/Signup-C0FmFOo_.js +1 -0
  52. package/dist/assets/SystemHealth-B_8u4eva.js +1 -0
  53. package/dist/assets/TaskHistory-BCmEM89q.js +3 -0
  54. package/dist/assets/Team-CUo_FlU7.js +1 -0
  55. package/dist/assets/TenantDetail-CgZQHUY8.js +1 -0
  56. package/dist/assets/Tenants-RB9E9ick.js +2 -0
  57. package/dist/assets/TermsOfService-BfL-kndX.js +1 -0
  58. package/dist/assets/TransactionMonitoring-DGh_T22s.js +14 -0
  59. package/dist/assets/TxnScreening-B7cm2-eh.js +1 -0
  60. package/dist/assets/UBOChain-falXAsCo.js +1 -0
  61. package/dist/assets/Users-Doakpg9c.js +1 -0
  62. package/dist/assets/Webhooks-BZpAfaxv.js +1 -0
  63. package/dist/assets/alert-triangle-YCFVm7B_.js +6 -0
  64. package/dist/assets/alerts-COUnTwWY.js +1 -0
  65. package/dist/assets/arrow-left-9ApLqP95.js +6 -0
  66. package/dist/assets/check-VTcvVtIU.js +6 -0
  67. package/dist/assets/check-circle-2-Dn-lG5YQ.js +6 -0
  68. package/dist/assets/code-DIJRWFVv.js +6 -0
  69. package/dist/assets/fingerprint-C0MGVtax.js +6 -0
  70. package/dist/assets/flag-B8_Gwxh6.js +6 -0
  71. package/dist/assets/index-CfdYcqRM.js +289 -0
  72. package/dist/assets/index-HPU_Rhdu.css +1 -0
  73. package/dist/assets/layers-zHz2o4vo.js +6 -0
  74. package/dist/assets/loader-B9_dNihg.js +6 -0
  75. package/dist/assets/mail-BijL2qwp.js +6 -0
  76. package/dist/assets/plus-i0oBIIPS.js +6 -0
  77. package/dist/assets/refresh-cw-CSuAwutt.js +6 -0
  78. package/dist/assets/useAnalytics-Bj8IONcw.js +72 -0
  79. package/dist/assets/x-circle-DLGKvijE.js +6 -0
  80. package/dist/favicon.svg +15 -0
  81. package/dist/index.html +51 -0
  82. package/dist/llms.txt +28 -0
  83. package/dist/logo.png +0 -0
  84. package/dist/logo.svg +17 -0
  85. package/dist/manifest.json +44 -0
  86. package/dist/robots.txt +15 -0
  87. package/dist/schema.json +13 -0
  88. package/dist/sitemap.xml +28 -0
  89. package/dist/sw.js +67 -0
  90. package/e2e/auth-setup.ts +20 -0
  91. package/e2e/billing.spec.ts +50 -0
  92. package/e2e/cases.spec.ts +53 -0
  93. package/e2e/compliance.spec.ts +65 -0
  94. package/e2e/config.spec.ts +56 -0
  95. package/e2e/dashboard.spec.ts +47 -0
  96. package/e2e/fixtures.ts +33 -0
  97. package/e2e/lists.spec.ts +43 -0
  98. package/e2e/login.spec.ts +64 -0
  99. package/e2e/media.spec.ts +48 -0
  100. package/e2e/mocks.ts +51 -0
  101. package/e2e/monitoring.spec.ts +44 -0
  102. package/e2e/navigation.spec.ts +56 -0
  103. package/e2e/onboarding.spec.ts +49 -0
  104. package/e2e/responsive.spec.ts +40 -0
  105. package/e2e/risk.spec.ts +61 -0
  106. package/e2e/screening.spec.ts +76 -0
  107. package/e2e/team.spec.ts +53 -0
  108. package/index.html +50 -0
  109. package/package.json +47 -0
  110. package/playwright.config.ts +35 -0
  111. package/postcss.config.js +6 -0
  112. package/public/.well-known/ai-plugin.json +15 -0
  113. package/public/_headers +8 -0
  114. package/public/_redirects +1 -0
  115. package/public/favicon.svg +15 -0
  116. package/public/llms.txt +28 -0
  117. package/public/logo.png +0 -0
  118. package/public/logo.svg +17 -0
  119. package/public/manifest.json +44 -0
  120. package/public/robots.txt +15 -0
  121. package/public/schema.json +13 -0
  122. package/public/sitemap.xml +28 -0
  123. package/public/sw.js +67 -0
  124. package/scripts/test-runner.sh +152 -0
  125. package/src/App.tsx +48 -0
  126. package/src/api/alerts.ts +19 -0
  127. package/src/api/analytics.ts +6 -0
  128. package/src/api/audit.ts +11 -0
  129. package/src/api/auth.ts +26 -0
  130. package/src/api/billing.ts +54 -0
  131. package/src/api/cases.ts +48 -0
  132. package/src/api/client.ts +50 -0
  133. package/src/api/config.ts +30 -0
  134. package/src/api/edd.ts +25 -0
  135. package/src/api/enforcement.ts +33 -0
  136. package/src/api/lists.ts +24 -0
  137. package/src/api/monitoring.ts +82 -0
  138. package/src/api/pep.ts +30 -0
  139. package/src/api/risk.ts +26 -0
  140. package/src/api/screening.ts +37 -0
  141. package/src/api/team.ts +27 -0
  142. package/src/api/transactions.ts +37 -0
  143. package/src/components/admin/TenantCards.tsx +51 -0
  144. package/src/components/alerts/AlertActions.test.tsx +80 -0
  145. package/src/components/alerts/AlertActions.tsx +68 -0
  146. package/src/components/alerts/AlertCard.test.tsx +86 -0
  147. package/src/components/alerts/AlertCard.tsx +60 -0
  148. package/src/components/alerts/AlertDetailSidebar.tsx +63 -0
  149. package/src/components/alerts/AlertFilters.test.tsx +73 -0
  150. package/src/components/alerts/AlertFilters.tsx +88 -0
  151. package/src/components/alerts/EntityDetailsCard.test.tsx +61 -0
  152. package/src/components/alerts/EntityDetailsCard.tsx +37 -0
  153. package/src/components/alerts/NotesCard.test.tsx +39 -0
  154. package/src/components/alerts/NotesCard.tsx +28 -0
  155. package/src/components/auth/AuthDivider.tsx +18 -0
  156. package/src/components/auth/LoginForm.tsx +62 -0
  157. package/src/components/auth/LoginLeftPanel.tsx +43 -0
  158. package/src/components/auth/PasswordStrength.tsx +26 -0
  159. package/src/components/auth/SignInButtons.tsx +46 -0
  160. package/src/components/auth/SignupLeftPanel.tsx +35 -0
  161. package/src/components/auth/countries.ts +17 -0
  162. package/src/components/charts/AreaChart.tsx +45 -0
  163. package/src/components/charts/BarChart.tsx +48 -0
  164. package/src/components/charts/DonutChart.tsx +47 -0
  165. package/src/components/compliance/CaseActions.tsx +74 -0
  166. package/src/components/compliance/CaseTimeline.tsx +68 -0
  167. package/src/components/compliance/MediaResultCard.tsx +87 -0
  168. package/src/components/compliance/PEPResultCard.tsx +78 -0
  169. package/src/components/config/MatchingModesCard.test.tsx +75 -0
  170. package/src/components/config/MatchingModesCard.tsx +40 -0
  171. package/src/components/config/ScreeningLayersCard.test.tsx +57 -0
  172. package/src/components/config/ScreeningLayersCard.tsx +36 -0
  173. package/src/components/config/ThresholdsCard.test.tsx +79 -0
  174. package/src/components/config/ThresholdsCard.tsx +51 -0
  175. package/src/components/dashboard/ActivityFeed.tsx +93 -0
  176. package/src/components/dashboard/DashboardGreeting.tsx +23 -0
  177. package/src/components/dashboard/DashboardSkeleton.tsx +35 -0
  178. package/src/components/dashboard/QuickActions.tsx +52 -0
  179. package/src/components/dashboard/TopEntitiesTable.tsx +63 -0
  180. package/src/components/data/ComplianceMetrics.test.tsx +32 -0
  181. package/src/components/data/ComplianceMetrics.tsx +40 -0
  182. package/src/components/data/ConfidenceScore.test.tsx +62 -0
  183. package/src/components/data/ConfidenceScore.tsx +27 -0
  184. package/src/components/data/StatCard.test.tsx +72 -0
  185. package/src/components/data/StatCard.tsx +63 -0
  186. package/src/components/data/StatusBadge.test.tsx +63 -0
  187. package/src/components/data/StatusBadge.tsx +39 -0
  188. package/src/components/layout/AppShell.tsx +48 -0
  189. package/src/components/layout/Breadcrumbs.tsx +48 -0
  190. package/src/components/layout/CommandPalette.tsx +81 -0
  191. package/src/components/layout/DashboardLayout.tsx +19 -0
  192. package/src/components/layout/MobileHeader.tsx +30 -0
  193. package/src/components/layout/NavGroup.test.tsx +63 -0
  194. package/src/components/layout/NavGroup.tsx +64 -0
  195. package/src/components/layout/NotificationBell.tsx +89 -0
  196. package/src/components/layout/PageHeader.test.tsx +61 -0
  197. package/src/components/layout/PageHeader.tsx +19 -0
  198. package/src/components/layout/ProtectedRoute.tsx +31 -0
  199. package/src/components/layout/PublicLayout.tsx +17 -0
  200. package/src/components/layout/Sidebar.test.tsx +67 -0
  201. package/src/components/layout/Sidebar.tsx +92 -0
  202. package/src/components/layout/Toolbar.test.tsx +47 -0
  203. package/src/components/layout/Toolbar.tsx +68 -0
  204. package/src/components/layout/navItems.ts +94 -0
  205. package/src/components/lists/ListCard.tsx +78 -0
  206. package/src/components/lists/ListMarketplaceCard.tsx +77 -0
  207. package/src/components/screening/CircularConfidence.tsx +38 -0
  208. package/src/components/screening/LimitReachedBanner.tsx +31 -0
  209. package/src/components/screening/ListSelector.tsx +64 -0
  210. package/src/components/screening/MatchDetailHeader.tsx +64 -0
  211. package/src/components/screening/MatchEntityInfo.tsx +56 -0
  212. package/src/components/screening/MatchEvidenceBars.tsx +65 -0
  213. package/src/components/screening/MatchMetadata.tsx +95 -0
  214. package/src/components/screening/ScreenResults.tsx +49 -0
  215. package/src/components/screening/ScreeningForm.test.tsx +83 -0
  216. package/src/components/screening/ScreeningForm.tsx +100 -0
  217. package/src/components/screening/ScreeningLayersList.test.tsx +33 -0
  218. package/src/components/screening/ScreeningLayersList.tsx +46 -0
  219. package/src/components/screening/ScreeningProgress.tsx +91 -0
  220. package/src/components/screening/ScreeningQuotaBanner.tsx +64 -0
  221. package/src/components/screening/ScreeningResultCard.tsx +47 -0
  222. package/src/components/screening/ScreeningResultRow.tsx +45 -0
  223. package/src/components/screening/ScreeningResults.test.tsx +37 -0
  224. package/src/components/screening/ScreeningResults.tsx +33 -0
  225. package/src/components/screening/ShareResults.tsx +103 -0
  226. package/src/components/screening/ThresholdSlider.tsx +23 -0
  227. package/src/components/transactions/WebhookCTA.tsx +63 -0
  228. package/src/components/ui/Avatar.test.tsx +47 -0
  229. package/src/components/ui/Avatar.tsx +35 -0
  230. package/src/components/ui/Badge.test.tsx +49 -0
  231. package/src/components/ui/Badge.tsx +33 -0
  232. package/src/components/ui/Button.test.tsx +56 -0
  233. package/src/components/ui/Button.tsx +46 -0
  234. package/src/components/ui/Card.test.tsx +61 -0
  235. package/src/components/ui/Card.tsx +29 -0
  236. package/src/components/ui/ConfirmModal.tsx +67 -0
  237. package/src/components/ui/Divider.test.tsx +24 -0
  238. package/src/components/ui/Divider.tsx +5 -0
  239. package/src/components/ui/EmptyState.test.tsx +49 -0
  240. package/src/components/ui/EmptyState.tsx +22 -0
  241. package/src/components/ui/ErrorBoundary.tsx +44 -0
  242. package/src/components/ui/ExportMenu.tsx +71 -0
  243. package/src/components/ui/LanguageSwitcher.tsx +37 -0
  244. package/src/components/ui/LoadingSpinner.test.tsx +41 -0
  245. package/src/components/ui/LoadingSpinner.tsx +21 -0
  246. package/src/components/ui/MetricCard.tsx +63 -0
  247. package/src/components/ui/ScoreRing.tsx +51 -0
  248. package/src/components/ui/SearchField.test.tsx +55 -0
  249. package/src/components/ui/SearchField.tsx +31 -0
  250. package/src/components/ui/SeverityBadge.tsx +57 -0
  251. package/src/components/ui/ThemeToggle.tsx +37 -0
  252. package/src/components/ui/Toast.test.tsx +79 -0
  253. package/src/components/ui/Toast.tsx +75 -0
  254. package/src/components/ui/Toggle.test.tsx +85 -0
  255. package/src/components/ui/Toggle.tsx +46 -0
  256. package/src/context/AuthContext.tsx +71 -0
  257. package/src/data/pepProfiles.ts +76 -0
  258. package/src/data/pepProfilesExtra.ts +58 -0
  259. package/src/hooks/useAlerts.ts +36 -0
  260. package/src/hooks/useAnalytics.ts +23 -0
  261. package/src/hooks/useApi.test.ts +79 -0
  262. package/src/hooks/useApi.ts +33 -0
  263. package/src/hooks/useAudit.ts +28 -0
  264. package/src/hooks/useBilling.ts +38 -0
  265. package/src/hooks/useConfig.ts +35 -0
  266. package/src/hooks/useDebounce.test.ts +84 -0
  267. package/src/hooks/useDebounce.ts +15 -0
  268. package/src/hooks/useDirection.ts +15 -0
  269. package/src/hooks/useLists.ts +34 -0
  270. package/src/hooks/useMediaQuery.test.ts +97 -0
  271. package/src/hooks/useMediaQuery.ts +28 -0
  272. package/src/hooks/useScreening.ts +33 -0
  273. package/src/hooks/useSidebar.ts +18 -0
  274. package/src/hooks/useUsage.ts +27 -0
  275. package/src/i18n/config.ts +33 -0
  276. package/src/i18n/locales/ar/admin.json +19 -0
  277. package/src/i18n/locales/ar/alerts.json +52 -0
  278. package/src/i18n/locales/ar/analytics.json +9 -0
  279. package/src/i18n/locales/ar/audit.json +12 -0
  280. package/src/i18n/locales/ar/auth.json +60 -0
  281. package/src/i18n/locales/ar/batch.json +5 -0
  282. package/src/i18n/locales/ar/billing.json +41 -0
  283. package/src/i18n/locales/ar/common.json +65 -0
  284. package/src/i18n/locales/ar/compliance.json +83 -0
  285. package/src/i18n/locales/ar/config.json +13 -0
  286. package/src/i18n/locales/ar/dashboard.json +19 -0
  287. package/src/i18n/locales/ar/errors.json +9 -0
  288. package/src/i18n/locales/ar/index.ts +29 -0
  289. package/src/i18n/locales/ar/legal.json +10 -0
  290. package/src/i18n/locales/ar/lists.json +6 -0
  291. package/src/i18n/locales/ar/marketing.json +110 -0
  292. package/src/i18n/locales/ar/monitoring.json +15 -0
  293. package/src/i18n/locales/ar/nav.json +35 -0
  294. package/src/i18n/locales/ar/onboarding.json +25 -0
  295. package/src/i18n/locales/ar/platform.json +23 -0
  296. package/src/i18n/locales/ar/screening.json +26 -0
  297. package/src/i18n/locales/ar/team.json +11 -0
  298. package/src/i18n/locales/en/admin.json +21 -0
  299. package/src/i18n/locales/en/alerts.json +52 -0
  300. package/src/i18n/locales/en/analytics.json +9 -0
  301. package/src/i18n/locales/en/audit.json +12 -0
  302. package/src/i18n/locales/en/auth.json +60 -0
  303. package/src/i18n/locales/en/batch.json +5 -0
  304. package/src/i18n/locales/en/billing.json +87 -0
  305. package/src/i18n/locales/en/common.json +65 -0
  306. package/src/i18n/locales/en/compliance.json +83 -0
  307. package/src/i18n/locales/en/config.json +29 -0
  308. package/src/i18n/locales/en/dashboard.json +23 -0
  309. package/src/i18n/locales/en/errors.json +9 -0
  310. package/src/i18n/locales/en/index.ts +29 -0
  311. package/src/i18n/locales/en/legal.json +114 -0
  312. package/src/i18n/locales/en/lists.json +6 -0
  313. package/src/i18n/locales/en/marketing.json +174 -0
  314. package/src/i18n/locales/en/monitoring.json +15 -0
  315. package/src/i18n/locales/en/nav.json +35 -0
  316. package/src/i18n/locales/en/onboarding.json +31 -0
  317. package/src/i18n/locales/en/platform.json +25 -0
  318. package/src/i18n/locales/en/screening.json +26 -0
  319. package/src/i18n/locales/en/team.json +12 -0
  320. package/src/i18n/locales/he/admin.json +19 -0
  321. package/src/i18n/locales/he/alerts.json +52 -0
  322. package/src/i18n/locales/he/analytics.json +9 -0
  323. package/src/i18n/locales/he/audit.json +12 -0
  324. package/src/i18n/locales/he/auth.json +60 -0
  325. package/src/i18n/locales/he/batch.json +5 -0
  326. package/src/i18n/locales/he/billing.json +41 -0
  327. package/src/i18n/locales/he/common.json +65 -0
  328. package/src/i18n/locales/he/compliance.json +83 -0
  329. package/src/i18n/locales/he/config.json +13 -0
  330. package/src/i18n/locales/he/dashboard.json +19 -0
  331. package/src/i18n/locales/he/errors.json +9 -0
  332. package/src/i18n/locales/he/index.ts +29 -0
  333. package/src/i18n/locales/he/legal.json +10 -0
  334. package/src/i18n/locales/he/lists.json +6 -0
  335. package/src/i18n/locales/he/marketing.json +110 -0
  336. package/src/i18n/locales/he/monitoring.json +15 -0
  337. package/src/i18n/locales/he/nav.json +35 -0
  338. package/src/i18n/locales/he/onboarding.json +25 -0
  339. package/src/i18n/locales/he/platform.json +23 -0
  340. package/src/i18n/locales/he/screening.json +26 -0
  341. package/src/i18n/locales/he/team.json +11 -0
  342. package/src/index.css +112 -0
  343. package/src/main.tsx +15 -0
  344. package/src/pages/APIKeys.tsx +120 -0
  345. package/src/pages/AddMonitorModal.tsx +30 -0
  346. package/src/pages/AdverseMedia.test.tsx +18 -0
  347. package/src/pages/AdverseMedia.tsx +89 -0
  348. package/src/pages/AlertDetailPage.tsx +64 -0
  349. package/src/pages/AlertQueue.test.tsx +48 -0
  350. package/src/pages/AlertQueue.tsx +63 -0
  351. package/src/pages/Analytics.tsx +50 -0
  352. package/src/pages/AuditTrail.tsx +64 -0
  353. package/src/pages/BatchJobs.tsx +79 -0
  354. package/src/pages/CaseDetail.tsx +72 -0
  355. package/src/pages/CaseManagement.test.tsx +31 -0
  356. package/src/pages/CaseManagement.tsx +92 -0
  357. package/src/pages/Configuration.test.tsx +96 -0
  358. package/src/pages/Configuration.tsx +123 -0
  359. package/src/pages/CryptoScreening.tsx +109 -0
  360. package/src/pages/Dashboard.test.tsx +51 -0
  361. package/src/pages/Dashboard.tsx +66 -0
  362. package/src/pages/EDDWorkflow.test.tsx +29 -0
  363. package/src/pages/EDDWorkflow.tsx +73 -0
  364. package/src/pages/ForgotPassword.test.tsx +49 -0
  365. package/src/pages/ForgotPassword.tsx +67 -0
  366. package/src/pages/ListsMarketplace.tsx +102 -0
  367. package/src/pages/Login.test.tsx +100 -0
  368. package/src/pages/Login.tsx +57 -0
  369. package/src/pages/MFASetup.tsx +114 -0
  370. package/src/pages/MonitorProfileCard.tsx +27 -0
  371. package/src/pages/Monitoring.tsx +68 -0
  372. package/src/pages/Onboarding.test.tsx +36 -0
  373. package/src/pages/Onboarding.tsx +60 -0
  374. package/src/pages/PEPScreening.test.tsx +15 -0
  375. package/src/pages/PEPScreening.tsx +100 -0
  376. package/src/pages/ResetPassword.tsx +81 -0
  377. package/src/pages/RiskAssessment.test.tsx +15 -0
  378. package/src/pages/RiskAssessment.tsx +108 -0
  379. package/src/pages/SanctionsLists.tsx +74 -0
  380. package/src/pages/ScreenEntity.test.tsx +82 -0
  381. package/src/pages/ScreenEntity.tsx +76 -0
  382. package/src/pages/Signup.test.tsx +98 -0
  383. package/src/pages/Signup.tsx +92 -0
  384. package/src/pages/TaskHistory.tsx +183 -0
  385. package/src/pages/Team.test.tsx +15 -0
  386. package/src/pages/Team.tsx +140 -0
  387. package/src/pages/TransactionMonitoring.test.tsx +18 -0
  388. package/src/pages/TransactionMonitoring.tsx +118 -0
  389. package/src/pages/TxnScreening.tsx +125 -0
  390. package/src/pages/UBOChain.test.tsx +35 -0
  391. package/src/pages/UBOChain.tsx +65 -0
  392. package/src/pages/Webhooks.tsx +137 -0
  393. package/src/pages/admin/DataSources.tsx +230 -0
  394. package/src/pages/admin/Operations.tsx +103 -0
  395. package/src/pages/admin/ScheduledTasks.tsx +155 -0
  396. package/src/pages/admin/SystemHealth.tsx +58 -0
  397. package/src/pages/admin/TenantDetail.tsx +62 -0
  398. package/src/pages/admin/Tenants.test.tsx +20 -0
  399. package/src/pages/admin/Tenants.tsx +63 -0
  400. package/src/pages/admin/opsRunners.ts +81 -0
  401. package/src/pages/admin/opsTerminal.tsx +63 -0
  402. package/src/pages/billing/ActiveSubscriptions.tsx +41 -0
  403. package/src/pages/billing/AddProductModal.tsx +99 -0
  404. package/src/pages/billing/BillingPage.test.tsx +30 -0
  405. package/src/pages/billing/BillingPage.tsx +67 -0
  406. package/src/pages/billing/CurrentPlan.tsx +50 -0
  407. package/src/pages/billing/InvoiceList.tsx +104 -0
  408. package/src/pages/billing/InvoiceRow.tsx +37 -0
  409. package/src/pages/billing/LemonSqueezySetup.tsx +51 -0
  410. package/src/pages/billing/PaymentAlert.tsx +33 -0
  411. package/src/pages/billing/PlanComparison.tsx +53 -0
  412. package/src/pages/billing/ProductUsage.tsx +43 -0
  413. package/src/pages/billing/PromoCodeInput.tsx +58 -0
  414. package/src/pages/billing/SeatManager.tsx +80 -0
  415. package/src/pages/billing/SeatRow.tsx +32 -0
  416. package/src/pages/billing/SubscriptionCard.tsx +73 -0
  417. package/src/pages/billing/UpgradeModal.tsx +53 -0
  418. package/src/pages/billing/UsageHistory.tsx +37 -0
  419. package/src/pages/billing/UsageMeter.tsx +26 -0
  420. package/src/pages/billing/UsageOverview.tsx +38 -0
  421. package/src/pages/legal/PrivacyPolicy.tsx +25 -0
  422. package/src/pages/legal/TermsOfService.tsx +25 -0
  423. package/src/pages/marketing/BundleCallout.tsx +24 -0
  424. package/src/pages/marketing/CTASection.tsx +48 -0
  425. package/src/pages/marketing/CaseStudy.tsx +37 -0
  426. package/src/pages/marketing/ComparisonTable.tsx +66 -0
  427. package/src/pages/marketing/CompetitiveEdge.tsx +55 -0
  428. package/src/pages/marketing/DataCoverage.tsx +54 -0
  429. package/src/pages/marketing/DataRain.tsx +30 -0
  430. package/src/pages/marketing/EnterpriseCTA.tsx +26 -0
  431. package/src/pages/marketing/FAQItem.tsx +27 -0
  432. package/src/pages/marketing/FAQSchema.tsx +43 -0
  433. package/src/pages/marketing/FAQSection.tsx +19 -0
  434. package/src/pages/marketing/FeatureDetail.tsx +19 -0
  435. package/src/pages/marketing/FeaturesGrid.tsx +60 -0
  436. package/src/pages/marketing/FeaturesSpotlight.tsx +68 -0
  437. package/src/pages/marketing/FooterSection.tsx +92 -0
  438. package/src/pages/marketing/GradientOrbs.tsx +26 -0
  439. package/src/pages/marketing/HeroSearch.tsx +113 -0
  440. package/src/pages/marketing/HeroSection.tsx +72 -0
  441. package/src/pages/marketing/LandingPage.tsx +45 -0
  442. package/src/pages/marketing/LogoCloud.tsx +31 -0
  443. package/src/pages/marketing/LogoMarquee.tsx +45 -0
  444. package/src/pages/marketing/MarketingNav.tsx +80 -0
  445. package/src/pages/marketing/MatchingLayers.tsx +78 -0
  446. package/src/pages/marketing/MobileMenu.tsx +45 -0
  447. package/src/pages/marketing/PricingCard.tsx +57 -0
  448. package/src/pages/marketing/PricingFeatureRow.tsx +16 -0
  449. package/src/pages/marketing/PricingSection.tsx +103 -0
  450. package/src/pages/marketing/PricingToggle.tsx +40 -0
  451. package/src/pages/marketing/ProductPricingCards.tsx +23 -0
  452. package/src/pages/marketing/ProductShowcase.tsx +81 -0
  453. package/src/pages/marketing/ProductTabs.tsx +45 -0
  454. package/src/pages/marketing/QuoteRotator.tsx +56 -0
  455. package/src/pages/marketing/StatsBar.tsx +81 -0
  456. package/src/pages/marketing/StatsSection.tsx +44 -0
  457. package/src/pages/marketing/TestimonialCard.tsx +38 -0
  458. package/src/pages/marketing/TestimonialsSection.tsx +32 -0
  459. package/src/pages/marketing/animations.tsx +56 -0
  460. package/src/pages/onboarding/CountryStep.tsx +38 -0
  461. package/src/pages/onboarding/ListsStep.tsx +44 -0
  462. package/src/pages/onboarding/StepIndicator.tsx +34 -0
  463. package/src/pages/onboarding/ThresholdStep.tsx +49 -0
  464. package/src/pages/platform/APIKeys.tsx +102 -0
  465. package/src/pages/platform/Overview.tsx +58 -0
  466. package/src/pages/platform/Users.tsx +110 -0
  467. package/src/pages/reporting/ComplianceReport.tsx +99 -0
  468. package/src/pages/reporting/SARForm.tsx +99 -0
  469. package/src/routes/appRoutes.tsx +60 -0
  470. package/src/routes/compliance.tsx +28 -0
  471. package/src/routes/lazyCompliance.ts +34 -0
  472. package/src/routes/lazyPages.ts +35 -0
  473. package/src/routes/lazyPlatform.ts +5 -0
  474. package/src/routes/platform.tsx +15 -0
  475. package/src/styles/effects.css +76 -0
  476. package/src/test/setup.ts +25 -0
  477. package/src/test/utils.tsx +49 -0
  478. package/src/types/alert.ts +31 -0
  479. package/src/types/analytics.ts +16 -0
  480. package/src/types/audit.ts +11 -0
  481. package/src/types/billing.ts +60 -0
  482. package/src/types/common.ts +15 -0
  483. package/src/types/config.ts +19 -0
  484. package/src/types/entity.ts +34 -0
  485. package/src/types/index.ts +8 -0
  486. package/src/types/list.ts +15 -0
  487. package/src/types/screening.ts +32 -0
  488. package/src/vite-env.d.ts +1 -0
  489. package/tailwind.config.js +65 -0
  490. package/tsconfig.json +22 -0
  491. package/vite.config.ts +11 -0
  492. package/vitest.config.ts +19 -0
@@ -0,0 +1,60 @@
1
+ {
2
+ "login": {
3
+ "title": "Sign in to AMLIQ",
4
+ "subtitle": "Choose your sign-in method",
5
+ "email_placeholder": "you@company.com",
6
+ "password_placeholder": "Password",
7
+ "forgot_password": "Forgot password?",
8
+ "submit": "Sign In",
9
+ "submitting": "Signing in...",
10
+ "no_account": "No account?",
11
+ "start_trial": "Start free trial",
12
+ "failed": "Login failed"
13
+ },
14
+ "login_panel": {
15
+ "welcome": "Welcome back",
16
+ "description": "Your screening engine is running. Your compliance dashboard awaits.",
17
+ "feature_ai": "6-layer AI screening engine",
18
+ "feature_lists": "{{listCount}}+ global sanctions lists",
19
+ "feature_speed": "Sub-50ms matching latency"
20
+ },
21
+ "signup": {
22
+ "title": "Start your free trial",
23
+ "subtitle": "14 days free. No credit card required.",
24
+ "org_placeholder": "Organization name",
25
+ "email_placeholder": "Work email",
26
+ "password_placeholder": "Password",
27
+ "min_chars": "Minimum 8 characters",
28
+ "submit": "Create Account",
29
+ "submitting": "Creating account...",
30
+ "agree_prefix": "By signing up you agree to our",
31
+ "terms_link": "Terms",
32
+ "and": "and",
33
+ "privacy_link": "Privacy Policy",
34
+ "have_account": "Already have an account?",
35
+ "sign_in_link": "Sign in",
36
+ "failed": "Signup failed"
37
+ },
38
+ "signup_panel": {
39
+ "tagline": "AML screening that catches everything",
40
+ "description": "Replace expensive, opaque tools with AI-powered configurable matching.",
41
+ "perk_ai": "6-layer AI matching engine",
42
+ "perk_lists": "{{listCount}}+ sanctions lists included",
43
+ "perk_compliance": "Security-first architecture",
44
+ "perk_speed": "Sub-50ms screening latency"
45
+ },
46
+ "forgot": {
47
+ "title": "Reset your password",
48
+ "description": "Enter the email address associated with your account and we'll send a reset link.",
49
+ "back_to_login": "Back to login",
50
+ "email_placeholder": "Email address",
51
+ "submit": "Send reset link",
52
+ "success_title": "Check your inbox",
53
+ "success_message": "If an account exists for {{email}}, you'll receive a password reset link shortly."
54
+ },
55
+ "oauth": {
56
+ "continue_with": "Continue with {{provider}}",
57
+ "sign_up_with": "Sign up with {{provider}}",
58
+ "or_continue_email": "or continue with email"
59
+ }
60
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "title": "Batch Jobs",
3
+ "description": "Manage bulk screening operations",
4
+ "new_job": "New Job"
5
+ }
@@ -0,0 +1,87 @@
1
+ {
2
+ "title": "Billing & Subscriptions",
3
+ "subtitle": "Manage products, usage, and invoices",
4
+ "add_product": "Add Product",
5
+ "loading": "Loading...",
6
+ "sections": {
7
+ "active_subscriptions": "Active Subscriptions",
8
+ "dashboard_seats": "Dashboard Seats",
9
+ "promo_code": "Promo Code",
10
+ "usage_history": "Usage & History",
11
+ "invoices": "Invoices"
12
+ },
13
+ "subscriptions": {
14
+ "no_subscriptions": "No active subscriptions",
15
+ "current_plan": "Current Plan",
16
+ "renews_on": "Renews on {{date}}",
17
+ "manage": "Manage Subscription",
18
+ "change_plan": "Change Plan",
19
+ "loading": "Loading subscriptions...",
20
+ "trialing": "Trialing",
21
+ "active": "Active",
22
+ "monthly_cost": "Monthly cost",
23
+ "active_seats": "Active seats",
24
+ "renews": "Renews"
25
+ },
26
+ "seats": {
27
+ "email_placeholder": "user@company.com",
28
+ "investigator": "Investigator",
29
+ "analyst": "Analyst",
30
+ "manager": "Manager",
31
+ "used": "{{current}} of {{total}} seats used",
32
+ "loading": "Loading seats..."
33
+ },
34
+ "promo": {
35
+ "placeholder": "Enter promo code",
36
+ "apply": "Apply",
37
+ "discount": "{{percent}}% off applied"
38
+ },
39
+ "usage": {
40
+ "current_usage": "Current Usage",
41
+ "loading": "Loading...",
42
+ "no_data": "No usage data",
43
+ "warning": "You are using {{percent}}% of your monthly screenings. Consider upgrading your plan.",
44
+ "history_title": "Usage History (API Product)"
45
+ },
46
+ "invoices": {
47
+ "recent": "Recent Invoices",
48
+ "loading": "Loading invoices...",
49
+ "date": "Date",
50
+ "product": "Product",
51
+ "amount": "Amount",
52
+ "status": "Status",
53
+ "action": "Action",
54
+ "all_subscribed": "All products subscribed",
55
+ "select_plan": "Select Plan",
56
+ "checkout": "Checkout"
57
+ },
58
+ "payment": {
59
+ "failed_title": "Payment Failed",
60
+ "failed_message": "Your recent payment failed. Please update your payment method to avoid service interruption.",
61
+ "update_method": "Update Payment Method"
62
+ },
63
+ "upgrade": {
64
+ "title": "Upgrade to {{plan}}?",
65
+ "description": "Your new billing rate will be ${{price}}/month (${{price}} per month). Prorated charges apply for the remainder of your current cycle.",
66
+ "new_limit": "New monthly limit",
67
+ "screenings_mo": "{{count}}K screenings/mo",
68
+ "cancel": "Cancel",
69
+ "confirm": "Confirm Upgrade"
70
+ },
71
+ "plan_comparison": {
72
+ "title": "Upgrade Your Plan",
73
+ "subtitle": "Choose the plan that fits your screening volume and compliance needs.",
74
+ "monthly": "Monthly",
75
+ "annual": "Annual"
76
+ },
77
+ "pricing": {
78
+ "title": "Five Powerful Products",
79
+ "subtitle": "Mix and match. Start simple, scale fast. No setup fees.",
80
+ "most_popular": "Most Popular",
81
+ "per_month": "/mo",
82
+ "billed_yearly": "Billed ${{price}}/year",
83
+ "custom": "Custom",
84
+ "get_started": "Get Started",
85
+ "contact_sales": "Contact Sales"
86
+ }
87
+ }
@@ -0,0 +1,65 @@
1
+ {
2
+ "actions": {
3
+ "save": "Save",
4
+ "save_changes": "Save Changes",
5
+ "reset": "Reset",
6
+ "continue": "Continue",
7
+ "back": "Back",
8
+ "submit": "Submit",
9
+ "confirm": "Confirm",
10
+ "cancel": "Cancel",
11
+ "close": "Close",
12
+ "delete": "Delete",
13
+ "edit": "Edit",
14
+ "add": "Add",
15
+ "next": "Next",
16
+ "previous": "Previous",
17
+ "loading": "Loading",
18
+ "saving": "Saving",
19
+ "setting_up": "Setting up",
20
+ "export": "Export",
21
+ "import": "Import",
22
+ "search": "Search",
23
+ "filter": "Filter",
24
+ "sort": "Sort",
25
+ "apply": "Apply",
26
+ "sync": "Sync",
27
+ "start": "Start",
28
+ "invite": "Invite",
29
+ "revoke": "Revoke"
30
+ },
31
+ "status": {
32
+ "active": "Active",
33
+ "disabled": "Disabled",
34
+ "loading": "Loading",
35
+ "healthy": "Healthy",
36
+ "connected": "Connected",
37
+ "completed": "Completed",
38
+ "pending": "Pending",
39
+ "running": "Running",
40
+ "failed": "Failed",
41
+ "in_progress": "In progress",
42
+ "open": "Open",
43
+ "resolved": "Resolved",
44
+ "trialing": "Trialing"
45
+ },
46
+ "labels": {
47
+ "email": "Email",
48
+ "password": "Password",
49
+ "name": "Name",
50
+ "status": "Status",
51
+ "priority": "Priority",
52
+ "type": "Type",
53
+ "role": "Role",
54
+ "country": "Country",
55
+ "entities": "entities",
56
+ "alerts": "alerts",
57
+ "matches": "matches"
58
+ },
59
+ "time": {
60
+ "never": "Never",
61
+ "created": "Created",
62
+ "updated": "Updated",
63
+ "due": "Due"
64
+ }
65
+ }
@@ -0,0 +1,83 @@
1
+ {
2
+ "cases": {
3
+ "title": "Case Management",
4
+ "all": "All",
5
+ "open": "open",
6
+ "in_review": "in_review",
7
+ "escalated": "escalated",
8
+ "resolved": "resolved",
9
+ "no_cases": "No cases found",
10
+ "matched": "Matched:",
11
+ "match": "Match:"
12
+ },
13
+ "risk": {
14
+ "title": "Risk Assessment",
15
+ "entity_placeholder": "Entity ID",
16
+ "country_placeholder": "Country code (e.g. US)",
17
+ "calculate": "Calculate Risk",
18
+ "composite_score": "{{score}}%",
19
+ "risk_factors": "Risk Factors",
20
+ "score_breakdown": "Score Breakdown"
21
+ },
22
+ "pep": {
23
+ "title": "PEP Screening",
24
+ "entity_placeholder": "Entity ID",
25
+ "screen": "Screen",
26
+ "identified": "PEP Identified",
27
+ "not_pep": "Not a PEP",
28
+ "tier": "Tier",
29
+ "risk_weight": "Risk Weight",
30
+ "position": "Position",
31
+ "country": "Country"
32
+ },
33
+ "adverse_media": {
34
+ "title": "Adverse Media",
35
+ "category": "Category",
36
+ "severity": "Sev",
37
+ "entity": "Entity:",
38
+ "no_hits": "No unreviewed media hits"
39
+ },
40
+ "transactions": {
41
+ "title": "Transaction Monitoring",
42
+ "recent_alerts": "Recent Alerts",
43
+ "high_value": "High Value",
44
+ "rapid_movement": "Rapid Movement",
45
+ "structuring": "Structuring",
46
+ "high_risk_country": "High Risk Country",
47
+ "unusual_pattern": "Unusual Pattern",
48
+ "txn_prefix": "TXN:",
49
+ "no_alerts": "No transaction alerts"
50
+ },
51
+ "ubo": {
52
+ "title": "Beneficial Ownership",
53
+ "organization": "Organization:",
54
+ "total_identified": "Total Identified",
55
+ "direct": "(Direct)",
56
+ "indirect": "(Indirect)",
57
+ "pep_badge": "PEP"
58
+ },
59
+ "edd": {
60
+ "title": "Enhanced Due Diligence",
61
+ "progress": "Progress",
62
+ "checks": "checks",
63
+ "identity": "Identity Verification",
64
+ "source_of_funds": "Source of Funds",
65
+ "source_of_wealth": "Source of Wealth",
66
+ "pep_screening": "PEP Screening",
67
+ "adverse_media": "Adverse Media Check",
68
+ "sanctions": "Sanctions Screening",
69
+ "ubo_verification": "UBO Verification",
70
+ "country_risk": "Country Risk Assessment"
71
+ },
72
+ "case_detail": {
73
+ "match": "Match:",
74
+ "status": "Status",
75
+ "priority": "Priority",
76
+ "confidence": "Confidence",
77
+ "assigned_to": "Assigned To",
78
+ "unassigned": "Unassigned",
79
+ "escalate": "Escalate",
80
+ "false_positive": "Mark False Positive",
81
+ "comments": "Comments"
82
+ }
83
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "title": "Configuration",
3
+ "description": "Manage screening parameters",
4
+ "thresholds": {
5
+ "title": "Thresholds",
6
+ "default": "Default Match Threshold:",
7
+ "auto_dismiss": "Auto-Dismiss Below:",
8
+ "auto_escalate": "Auto-Escalate Above:",
9
+ "fuzzy_match": "Fuzzy Match Threshold",
10
+ "fuzzy_match_desc": "Minimum confidence for potential matches",
11
+ "auto_alert": "Auto-Alert Threshold",
12
+ "auto_alert_desc": "Automatically create alerts at this confidence level"
13
+ },
14
+ "lists": {
15
+ "title": "Lists"
16
+ },
17
+ "modes": {
18
+ "title": "Matching Modes",
19
+ "strict": "Strict Matching Mode",
20
+ "strict_desc": "Require exact matches on key identifiers",
21
+ "auto_alert": "Automatic Alerting",
22
+ "auto_alert_desc": "Automatically create alerts for high-confidence matches"
23
+ },
24
+ "layers": {
25
+ "title": "Enabled Screening Layers"
26
+ },
27
+ "save": "Save Changes",
28
+ "saving": "Saving..."
29
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "title": "Dashboard",
3
+ "description": "Overview of screening activity and alerts",
4
+ "total_alerts": "Total Alerts",
5
+ "cleared_today": "Cleared Today",
6
+ "escalated": "Escalated",
7
+ "avg_resolution": "Avg Resolution",
8
+ "time_in_hours": "Time in hours",
9
+ "screening_volume": "Screening Volume (30 days)",
10
+ "disposition_breakdown": "Disposition Breakdown",
11
+ "risk_distribution": "Risk Distribution",
12
+ "top_entities": "Top Entities",
13
+ "open_cases": "Open Cases",
14
+ "active_monitors": "Active Monitors",
15
+ "high_risk": "High Risk",
16
+ "pending_edd": "Pending EDD",
17
+ "unreviewed_media": "Unreviewed Media",
18
+ "txn_alerts": "Txn Alerts",
19
+ "compliance_overview": "Compliance Overview",
20
+ "alerts": "alerts",
21
+ "recent_activity": "Recent Activity",
22
+ "quick_actions": "Quick Actions"
23
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "generic": "Something went wrong",
3
+ "try_again": "Try Again",
4
+ "not_found": "Not found",
5
+ "unauthorized": "Unauthorized",
6
+ "forbidden": "Forbidden",
7
+ "network": "Network error. Please check your connection.",
8
+ "timeout": "Request timed out. Please try again."
9
+ }
@@ -0,0 +1,29 @@
1
+ import common from './common.json'
2
+ import auth from './auth.json'
3
+ import nav from './nav.json'
4
+ import dashboard from './dashboard.json'
5
+ import alerts from './alerts.json'
6
+ import screening from './screening.json'
7
+ import billing from './billing.json'
8
+ import compliance from './compliance.json'
9
+ import config from './config.json'
10
+ import analytics from './analytics.json'
11
+ import audit from './audit.json'
12
+ import monitoring from './monitoring.json'
13
+ import batch from './batch.json'
14
+ import lists from './lists.json'
15
+ import onboarding from './onboarding.json'
16
+ import marketing from './marketing.json'
17
+ import legal from './legal.json'
18
+ import admin from './admin.json'
19
+ import team from './team.json'
20
+ import platform from './platform.json'
21
+ import errors from './errors.json'
22
+
23
+ export default {
24
+ common, auth, nav, dashboard, alerts,
25
+ screening, billing, compliance, config,
26
+ analytics, audit, monitoring, batch,
27
+ lists, onboarding, marketing, legal,
28
+ admin, team, platform, errors,
29
+ }
@@ -0,0 +1,114 @@
1
+ {
2
+ "terms": {
3
+ "title": "Terms of Service",
4
+ "last_updated": "Last updated: March 29, 2026",
5
+ "sections": [
6
+ {
7
+ "title": "1. Acceptance of Terms",
8
+ "body": "By accessing or using AMLIQ (\"the Service\"), operated by FinSavvy AI Ltd., you agree to be bound by these Terms of Service. If you do not agree, do not use the Service."
9
+ },
10
+ {
11
+ "title": "2. Description of Service",
12
+ "body": "AMLIQ provides AI-enhanced anti-money laundering (AML) and sanctions screening services, including entity screening, batch processing, alert management, and compliance dashboards for financial institutions and regulated entities."
13
+ },
14
+ {
15
+ "title": "3. Eligibility",
16
+ "body": "The Service is available to businesses and professionals in the financial services and compliance industry. You must be at least 18 years old and authorized to bind your organization to these terms."
17
+ },
18
+ {
19
+ "title": "4. Account Registration",
20
+ "body": "You must provide accurate and complete information when creating an account. You are responsible for maintaining the confidentiality of your credentials and for all activities under your account."
21
+ },
22
+ {
23
+ "title": "5. Acceptable Use",
24
+ "body": "You agree not to: (a) use the Service for any unlawful purpose; (b) attempt to reverse-engineer, decompile, or disassemble any part of the Service; (c) share credentials or provide access to unauthorized users; (d) use the Service to circumvent sanctions or compliance obligations."
25
+ },
26
+ {
27
+ "title": "6. Data Processing",
28
+ "body": "AMLIQ processes screening data on your behalf as a data processor. You retain ownership of all data you submit. We process data solely to provide the Service and as described in our Privacy Policy."
29
+ },
30
+ {
31
+ "title": "7. Service Level Agreement",
32
+ "body": "We target 99.9% uptime for the screening API. Scheduled maintenance windows will be communicated at least 48 hours in advance. Current system status is available on our status page."
33
+ },
34
+ {
35
+ "title": "8. Billing and Payment",
36
+ "body": "Subscription fees are billed in advance on a monthly or annual basis. Usage-based charges are billed in arrears. All fees are non-refundable except as required by law or described in our refund policy."
37
+ },
38
+ {
39
+ "title": "9. Intellectual Property",
40
+ "body": "The Service, including its algorithms, models, and user interface, is the intellectual property of FinSavvy AI Ltd. Your subscription grants a limited, non-exclusive, non-transferable license to use the Service."
41
+ },
42
+ {
43
+ "title": "10. Limitation of Liability",
44
+ "body": "AMLIQ is a screening tool and does not constitute legal advice. You are responsible for all compliance decisions. To the maximum extent permitted by law, our total liability shall not exceed the fees paid in the preceding 12 months."
45
+ },
46
+ {
47
+ "title": "11. Termination",
48
+ "body": "Either party may terminate the subscription with 30 days written notice. We may suspend access immediately for violation of these terms. Upon termination, your data will be available for export for 30 days."
49
+ },
50
+ {
51
+ "title": "12. Changes to Terms",
52
+ "body": "We may update these terms with 30 days notice. Continued use after changes take effect constitutes acceptance of the updated terms."
53
+ },
54
+ {
55
+ "title": "13. Contact",
56
+ "body": "For questions about these terms, contact us at legal@amliq.finance."
57
+ }
58
+ ]
59
+ },
60
+ "privacy": {
61
+ "title": "Privacy Policy",
62
+ "last_updated": "Last updated: March 29, 2026",
63
+ "sections": [
64
+ {
65
+ "title": "1. Introduction",
66
+ "body": "FinSavvy AI Ltd. (\"we\", \"us\") operates AMLIQ, an AI-enhanced AML screening platform. This policy explains how we collect, use, and protect your information."
67
+ },
68
+ {
69
+ "title": "2. Information We Collect",
70
+ "body": "Account data: name, email, organization, country, and role when you register. Screening data: entity names, identifiers, and related data you submit for screening. Usage data: API calls, feature usage, and performance metrics. Technical data: IP address, browser type, and device information."
71
+ },
72
+ {
73
+ "title": "3. How We Use Your Information",
74
+ "body": "We use your information to: provide and improve the screening service; process billing; send service communications; monitor system performance; comply with legal obligations; and prevent fraud or misuse."
75
+ },
76
+ {
77
+ "title": "4. Data Processing Role",
78
+ "body": "For screening data, we act as a data processor on your behalf. You remain the data controller and are responsible for ensuring you have a lawful basis to process the personal data you submit."
79
+ },
80
+ {
81
+ "title": "5. Data Retention",
82
+ "body": "Account data is retained for the duration of your subscription plus 30 days. Screening results are retained per your tenant configuration. Audit logs are retained for 7 years as required by financial regulations."
83
+ },
84
+ {
85
+ "title": "6. Data Security",
86
+ "body": "We implement industry-standard security measures including: encryption at rest (AES-256) and in transit (TLS 1.3); regular penetration testing; role-based access controls; and immutable audit logging."
87
+ },
88
+ {
89
+ "title": "7. Data Sharing",
90
+ "body": "We do not sell your data. We may share data with: infrastructure providers (hosting, database) under strict data processing agreements; law enforcement when legally required; and professional advisors under confidentiality obligations."
91
+ },
92
+ {
93
+ "title": "8. International Transfers",
94
+ "body": "Data may be processed in data centers in the US and EU. We use Standard Contractual Clauses and ensure adequate safeguards for international transfers in compliance with GDPR."
95
+ },
96
+ {
97
+ "title": "9. Your Rights",
98
+ "body": "Depending on your jurisdiction, you may have the right to: access, correct, or delete your personal data; restrict or object to processing; data portability; and withdraw consent. Contact privacy@amliq.finance to exercise these rights."
99
+ },
100
+ {
101
+ "title": "10. Cookies",
102
+ "body": "We use essential cookies for authentication and session management. We use analytics cookies only with your consent. You can manage cookie preferences in your browser settings."
103
+ },
104
+ {
105
+ "title": "11. Changes to This Policy",
106
+ "body": "We will notify you of material changes via email or in-app notification at least 30 days before they take effect."
107
+ },
108
+ {
109
+ "title": "12. Contact",
110
+ "body": "Data Protection Officer: privacy@amliq.finance"
111
+ }
112
+ ]
113
+ }
114
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "title": "Sanctions Lists",
3
+ "entities": "Entities",
4
+ "threshold": "Threshold",
5
+ "last_synced": "Last Synced"
6
+ }