@contractspec/bundle.library 3.4.3 → 3.5.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 (479) hide show
  1. package/.turbo/turbo-build.log +494 -488
  2. package/CHANGELOG.md +36 -0
  3. package/dist/application/index.js +8 -8
  4. package/dist/application/mcp/cliMcp.js +8 -8
  5. package/dist/application/mcp/contractsMcp.js +8 -8
  6. package/dist/application/mcp/docsMcp.js +8 -8
  7. package/dist/application/mcp/index.js +8 -8
  8. package/dist/application/mcp/internalMcp.js +8 -8
  9. package/dist/application/mcp/providerRankingMcp.js +8 -8
  10. package/dist/bundles/LibraryBundle.d.ts +126 -0
  11. package/dist/bundles/LibraryBundle.js +139 -0
  12. package/dist/bundles/index.d.ts +1 -0
  13. package/dist/bundles/index.js +139 -0
  14. package/dist/components/docs/DocsIndexPage.js +91 -91
  15. package/dist/components/docs/advanced/AdvancedMCPPage.js +125 -125
  16. package/dist/components/docs/advanced/AdvancedOverlayEditorPage.js +49 -49
  17. package/dist/components/docs/advanced/AdvancedRenderersPage.js +51 -51
  18. package/dist/components/docs/advanced/AdvancedSpecExperimentsPage.js +35 -35
  19. package/dist/components/docs/advanced/AdvancedTelemetryPage.js +177 -177
  20. package/dist/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +45 -45
  21. package/dist/components/docs/advanced/index.js +482 -482
  22. package/dist/components/docs/architecture/ArchitectureAppConfigPage.js +107 -107
  23. package/dist/components/docs/architecture/ArchitectureControlPlanePage.js +73 -73
  24. package/dist/components/docs/architecture/ArchitectureIntegrationBindingPage.js +117 -117
  25. package/dist/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +175 -175
  26. package/dist/components/docs/architecture/ArchitectureMultiTenancyPage.js +71 -71
  27. package/dist/components/docs/architecture/ArchitectureOverviewPage.js +205 -205
  28. package/dist/components/docs/architecture/index.js +748 -748
  29. package/dist/components/docs/comparison/ComparisonAutomationPlatformsPage.js +117 -117
  30. package/dist/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +111 -111
  31. package/dist/components/docs/comparison/ComparisonInternalToolBuildersPage.js +117 -117
  32. package/dist/components/docs/comparison/ComparisonOverviewPage.js +97 -97
  33. package/dist/components/docs/comparison/ComparisonWindmillPage.js +125 -125
  34. package/dist/components/docs/comparison/ComparisonWorkflowEnginesPage.js +171 -171
  35. package/dist/components/docs/comparison/index.js +738 -738
  36. package/dist/components/docs/ecosystem/IntegrationsPage.js +45 -45
  37. package/dist/components/docs/ecosystem/PluginsPage.js +73 -73
  38. package/dist/components/docs/ecosystem/RegistryPage.js +37 -37
  39. package/dist/components/docs/ecosystem/TemplatesPage.js +56 -56
  40. package/dist/components/docs/ecosystem/index.js +211 -211
  41. package/dist/components/docs/examples/DocsExamplesPage.js +21 -21
  42. package/dist/components/docs/examples/index.js +21 -21
  43. package/dist/components/docs/getting-started/CLIPage.js +95 -95
  44. package/dist/components/docs/getting-started/CompatibilityPage.js +81 -81
  45. package/dist/components/docs/getting-started/DataViewTutorialPage.js +57 -57
  46. package/dist/components/docs/getting-started/DeveloperToolsPage.js +61 -61
  47. package/dist/components/docs/getting-started/HelloWorldPage.js +77 -77
  48. package/dist/components/docs/getting-started/InstallationPage.js +65 -65
  49. package/dist/components/docs/getting-started/StartHerePage.js +51 -51
  50. package/dist/components/docs/getting-started/TroubleshootingPage.js +73 -73
  51. package/dist/components/docs/getting-started/VSCodeExtensionPage.js +171 -171
  52. package/dist/components/docs/getting-started/index.js +731 -731
  53. package/dist/components/docs/guides/GuideCIDiffGatingPage.js +80 -80
  54. package/dist/components/docs/guides/GuideContractTypesPage.js +232 -232
  55. package/dist/components/docs/guides/GuideDocsPipelinePage.js +82 -82
  56. package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +84 -84
  57. package/dist/components/docs/guides/GuideImportExistingCodebasesPage.js +324 -324
  58. package/dist/components/docs/guides/GuideNextjsOneEndpointPage.js +106 -106
  59. package/dist/components/docs/guides/GuideSpecValidationTypingPage.js +78 -78
  60. package/dist/components/docs/guides/GuidesIndexPage.js +43 -43
  61. package/dist/components/docs/guides/index.js +975 -975
  62. package/dist/components/docs/index.js +10791 -10791
  63. package/dist/components/docs/integrations/IntegrationsCircuitBreakersPage.js +17 -17
  64. package/dist/components/docs/integrations/IntegrationsElevenLabsPage.js +47 -47
  65. package/dist/components/docs/integrations/IntegrationsGithubPage.js +61 -61
  66. package/dist/components/docs/integrations/IntegrationsGmailPage.js +49 -49
  67. package/dist/components/docs/integrations/IntegrationsGoogleCalendarPage.js +33 -33
  68. package/dist/components/docs/integrations/IntegrationsHealthRoutingPage.js +65 -65
  69. package/dist/components/docs/integrations/IntegrationsMistralPage.js +69 -69
  70. package/dist/components/docs/integrations/IntegrationsOpenAIPage.js +65 -65
  71. package/dist/components/docs/integrations/IntegrationsOverviewPage.js +313 -313
  72. package/dist/components/docs/integrations/IntegrationsPostmarkPage.js +101 -101
  73. package/dist/components/docs/integrations/IntegrationsPowensPage.js +121 -121
  74. package/dist/components/docs/integrations/IntegrationsQdrantPage.js +49 -49
  75. package/dist/components/docs/integrations/IntegrationsResendPage.js +45 -45
  76. package/dist/components/docs/integrations/IntegrationsS3Page.js +57 -57
  77. package/dist/components/docs/integrations/IntegrationsSlackPage.js +63 -63
  78. package/dist/components/docs/integrations/IntegrationsSpecModelPage.js +139 -139
  79. package/dist/components/docs/integrations/IntegrationsStripePage.js +159 -159
  80. package/dist/components/docs/integrations/IntegrationsTwilioPage.js +61 -61
  81. package/dist/components/docs/integrations/IntegrationsWhatsappMetaPage.js +63 -63
  82. package/dist/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +65 -65
  83. package/dist/components/docs/integrations/index.js +1642 -1642
  84. package/dist/components/docs/intent/ContractFirstApiPage.js +51 -51
  85. package/dist/components/docs/intent/DeterministicCodegenPage.js +59 -59
  86. package/dist/components/docs/intent/GenerateClientFromSchemaPage.js +85 -85
  87. package/dist/components/docs/intent/OpenapiAlternativePage.js +91 -91
  88. package/dist/components/docs/intent/SchemaValidationTypescriptPage.js +59 -59
  89. package/dist/components/docs/intent/SpecDrivenDevelopmentPage.js +51 -51
  90. package/dist/components/docs/intent/index.js +396 -396
  91. package/dist/components/docs/knowledge/KnowledgeCategoriesPage.js +371 -371
  92. package/dist/components/docs/knowledge/KnowledgeExamplesPage.js +79 -79
  93. package/dist/components/docs/knowledge/KnowledgeOverviewPage.js +185 -185
  94. package/dist/components/docs/knowledge/KnowledgeSourcesPage.js +187 -187
  95. package/dist/components/docs/knowledge/KnowledgeSpacesPage.js +141 -141
  96. package/dist/components/docs/knowledge/index.js +963 -963
  97. package/dist/components/docs/libraries/LibrariesAccessibilityPage.js +85 -85
  98. package/dist/components/docs/libraries/LibrariesAiAgentPage.js +63 -63
  99. package/dist/components/docs/libraries/LibrariesAnalyticsPage.js +33 -33
  100. package/dist/components/docs/libraries/LibrariesContentGenPage.js +43 -43
  101. package/dist/components/docs/libraries/LibrariesContractsPage.js +125 -125
  102. package/dist/components/docs/libraries/LibrariesCostTrackingPage.js +45 -45
  103. package/dist/components/docs/libraries/LibrariesDataBackendPage.js +69 -69
  104. package/dist/components/docs/libraries/LibrariesDataViewsPage.js +79 -79
  105. package/dist/components/docs/libraries/LibrariesDesignSystemPage.js +129 -129
  106. package/dist/components/docs/libraries/LibrariesEvolutionPage.js +49 -49
  107. package/dist/components/docs/libraries/LibrariesGraphQLPage.js +73 -73
  108. package/dist/components/docs/libraries/LibrariesGrowthPage.js +35 -35
  109. package/dist/components/docs/libraries/LibrariesMultiTenancyPage.js +43 -43
  110. package/dist/components/docs/libraries/LibrariesObservabilityPage.js +53 -53
  111. package/dist/components/docs/libraries/LibrariesOverlayEnginePage.js +45 -45
  112. package/dist/components/docs/libraries/LibrariesOverviewPage.js +191 -191
  113. package/dist/components/docs/libraries/LibrariesPersonalizationPage.js +47 -47
  114. package/dist/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +53 -53
  115. package/dist/components/docs/libraries/LibrariesResiliencePage.js +49 -49
  116. package/dist/components/docs/libraries/LibrariesRuntimePage.js +87 -87
  117. package/dist/components/docs/libraries/LibrariesSLOPage.js +47 -47
  118. package/dist/components/docs/libraries/LibrariesSchemaPage.js +139 -139
  119. package/dist/components/docs/libraries/LibrariesSupportBotPage.js +57 -57
  120. package/dist/components/docs/libraries/LibrariesTestingPage.js +49 -49
  121. package/dist/components/docs/libraries/LibrariesUIKitPage.js +107 -107
  122. package/dist/components/docs/libraries/LibrariesWorkflowComposerPage.js +35 -35
  123. package/dist/components/docs/libraries/LibrariesWorkflowsPage.js +89 -89
  124. package/dist/components/docs/libraries/index.js +1919 -1919
  125. package/dist/components/docs/manifesto/ManifestoPage.js +79 -79
  126. package/dist/components/docs/ops/AutoEvolutionOpsPage.js +59 -59
  127. package/dist/components/docs/ops/DistributedTracingOpsPage.js +33 -33
  128. package/dist/components/docs/ops/index.js +92 -92
  129. package/dist/components/docs/reference/DocsMarkdownContent.js +27 -27
  130. package/dist/components/docs/reference/DocsReferenceContent.js +34 -34
  131. package/dist/components/docs/reference/DocsReferenceIndexClient.js +23 -23
  132. package/dist/components/docs/reference/DocsReferenceIndexPage.js +26 -26
  133. package/dist/components/docs/reference/DocsReferencePage.js +37 -37
  134. package/dist/components/docs/reference/index.js +63 -63
  135. package/dist/components/docs/safety/SafetyAuditingPage.js +161 -161
  136. package/dist/components/docs/safety/SafetyMigrationsPage.js +169 -169
  137. package/dist/components/docs/safety/SafetyOverviewPage.js +99 -99
  138. package/dist/components/docs/safety/SafetyPDPPage.js +137 -137
  139. package/dist/components/docs/safety/SafetySecurityTrustPage.js +95 -95
  140. package/dist/components/docs/safety/SafetySigningPage.js +39 -39
  141. package/dist/components/docs/safety/SafetyTenantIsolationPage.js +33 -33
  142. package/dist/components/docs/safety/index.js +733 -733
  143. package/dist/components/docs/shared/StudioPrompt.js +9 -9
  144. package/dist/components/docs/specs/SpecsCapabilitiesPage.js +61 -61
  145. package/dist/components/docs/specs/SpecsDataViewsPage.js +119 -119
  146. package/dist/components/docs/specs/SpecsOverlaysPage.js +171 -171
  147. package/dist/components/docs/specs/SpecsOverviewPage.js +167 -167
  148. package/dist/components/docs/specs/SpecsPolicyPage.js +179 -179
  149. package/dist/components/docs/specs/SpecsWorkflowsPage.js +141 -141
  150. package/dist/components/docs/specs/index.js +838 -838
  151. package/dist/components/docs/studio/StudioBYOKPage.js +9 -9
  152. package/dist/components/docs/studio/StudioDeploymentsPage.js +9 -9
  153. package/dist/components/docs/studio/StudioGettingStartedPage.js +9 -9
  154. package/dist/components/docs/studio/StudioIntegrationsPage.js +9 -9
  155. package/dist/components/docs/studio/StudioOverviewPage.js +33 -33
  156. package/dist/components/docs/studio/StudioVisualBuilderPage.js +9 -9
  157. package/dist/components/docs/studio/index.js +78 -78
  158. package/dist/components/integrations/index.js +209 -209
  159. package/dist/components/integrations/molecules/IntegrationCard.js +33 -33
  160. package/dist/components/integrations/organisms/IntegrationMarketplace.js +71 -71
  161. package/dist/components/integrations/organisms/IntegrationSettings.js +98 -98
  162. package/dist/components/integrations/organisms/KnowledgeSourceList.js +40 -40
  163. package/dist/components/legal/PrivacyTemplate.js +477 -477
  164. package/dist/components/legal/TermsTemplate.js +421 -421
  165. package/dist/components/legal/index.js +898 -898
  166. package/dist/components/shared/FeatureGateNotice.js +13 -13
  167. package/dist/components/shared/index.js +13 -13
  168. package/dist/components/shell/WorkspaceHeader.js +37 -37
  169. package/dist/components/shell/WorkspaceProjectShellLayout.js +77 -77
  170. package/dist/components/shell/WorkspaceShellRenderer.d.ts +17 -0
  171. package/dist/components/shell/WorkspaceShellRenderer.js +229 -0
  172. package/dist/components/shell/WorkspaceSidebar.js +27 -27
  173. package/dist/components/shell/index.d.ts +1 -0
  174. package/dist/components/shell/index.js +140 -77
  175. package/dist/components/templates/index.js +272 -272
  176. package/dist/components/templates/messaging/ConversationList.js +27 -27
  177. package/dist/components/templates/messaging/MessageComposer.js +27 -27
  178. package/dist/components/templates/messaging/MessageThread.js +18 -18
  179. package/dist/components/templates/messaging/MessagingWorkspace.js +65 -65
  180. package/dist/components/templates/messaging/index.js +65 -65
  181. package/dist/components/templates/recipes/LanguageSwitcher.js +5 -5
  182. package/dist/components/templates/recipes/RecipeCard.js +26 -26
  183. package/dist/components/templates/recipes/RecipeDetail.js +33 -33
  184. package/dist/components/templates/recipes/RecipeList.js +80 -80
  185. package/dist/components/templates/recipes/index.js +80 -80
  186. package/dist/components/templates/todos/FilterBar.js +39 -39
  187. package/dist/components/templates/todos/TaskForm.js +43 -43
  188. package/dist/components/templates/todos/TaskItem.js +30 -30
  189. package/dist/components/templates/todos/TaskList.js +127 -127
  190. package/dist/components/templates/todos/index.js +127 -127
  191. package/dist/index.js +12323 -12260
  192. package/dist/infrastructure/elysia/index.js +8 -8
  193. package/dist/infrastructure/elysia/logger.js +8 -8
  194. package/dist/infrastructure/index.js +8 -8
  195. package/dist/libs/posthog/client.js +2 -2
  196. package/dist/node/application/index.js +8 -8
  197. package/dist/node/application/mcp/cliMcp.js +8 -8
  198. package/dist/node/application/mcp/contractsMcp.js +8 -8
  199. package/dist/node/application/mcp/docsMcp.js +8 -8
  200. package/dist/node/application/mcp/index.js +8 -8
  201. package/dist/node/application/mcp/internalMcp.js +8 -8
  202. package/dist/node/application/mcp/providerRankingMcp.js +8 -8
  203. package/dist/node/bundles/LibraryBundle.js +138 -0
  204. package/dist/node/bundles/index.js +138 -0
  205. package/dist/node/components/docs/DocsIndexPage.js +91 -91
  206. package/dist/node/components/docs/advanced/AdvancedMCPPage.js +125 -125
  207. package/dist/node/components/docs/advanced/AdvancedOverlayEditorPage.js +49 -49
  208. package/dist/node/components/docs/advanced/AdvancedRenderersPage.js +51 -51
  209. package/dist/node/components/docs/advanced/AdvancedSpecExperimentsPage.js +35 -35
  210. package/dist/node/components/docs/advanced/AdvancedTelemetryPage.js +177 -177
  211. package/dist/node/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +45 -45
  212. package/dist/node/components/docs/advanced/index.js +482 -482
  213. package/dist/node/components/docs/architecture/ArchitectureAppConfigPage.js +107 -107
  214. package/dist/node/components/docs/architecture/ArchitectureControlPlanePage.js +73 -73
  215. package/dist/node/components/docs/architecture/ArchitectureIntegrationBindingPage.js +117 -117
  216. package/dist/node/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +175 -175
  217. package/dist/node/components/docs/architecture/ArchitectureMultiTenancyPage.js +71 -71
  218. package/dist/node/components/docs/architecture/ArchitectureOverviewPage.js +205 -205
  219. package/dist/node/components/docs/architecture/index.js +748 -748
  220. package/dist/node/components/docs/comparison/ComparisonAutomationPlatformsPage.js +117 -117
  221. package/dist/node/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +111 -111
  222. package/dist/node/components/docs/comparison/ComparisonInternalToolBuildersPage.js +117 -117
  223. package/dist/node/components/docs/comparison/ComparisonOverviewPage.js +97 -97
  224. package/dist/node/components/docs/comparison/ComparisonWindmillPage.js +125 -125
  225. package/dist/node/components/docs/comparison/ComparisonWorkflowEnginesPage.js +171 -171
  226. package/dist/node/components/docs/comparison/index.js +738 -738
  227. package/dist/node/components/docs/ecosystem/IntegrationsPage.js +45 -45
  228. package/dist/node/components/docs/ecosystem/PluginsPage.js +73 -73
  229. package/dist/node/components/docs/ecosystem/RegistryPage.js +37 -37
  230. package/dist/node/components/docs/ecosystem/TemplatesPage.js +56 -56
  231. package/dist/node/components/docs/ecosystem/index.js +211 -211
  232. package/dist/node/components/docs/examples/DocsExamplesPage.js +21 -21
  233. package/dist/node/components/docs/examples/index.js +21 -21
  234. package/dist/node/components/docs/getting-started/CLIPage.js +95 -95
  235. package/dist/node/components/docs/getting-started/CompatibilityPage.js +81 -81
  236. package/dist/node/components/docs/getting-started/DataViewTutorialPage.js +57 -57
  237. package/dist/node/components/docs/getting-started/DeveloperToolsPage.js +61 -61
  238. package/dist/node/components/docs/getting-started/HelloWorldPage.js +77 -77
  239. package/dist/node/components/docs/getting-started/InstallationPage.js +65 -65
  240. package/dist/node/components/docs/getting-started/StartHerePage.js +51 -51
  241. package/dist/node/components/docs/getting-started/TroubleshootingPage.js +73 -73
  242. package/dist/node/components/docs/getting-started/VSCodeExtensionPage.js +171 -171
  243. package/dist/node/components/docs/getting-started/index.js +731 -731
  244. package/dist/node/components/docs/guides/GuideCIDiffGatingPage.js +80 -80
  245. package/dist/node/components/docs/guides/GuideContractTypesPage.js +232 -232
  246. package/dist/node/components/docs/guides/GuideDocsPipelinePage.js +82 -82
  247. package/dist/node/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +84 -84
  248. package/dist/node/components/docs/guides/GuideImportExistingCodebasesPage.js +324 -324
  249. package/dist/node/components/docs/guides/GuideNextjsOneEndpointPage.js +106 -106
  250. package/dist/node/components/docs/guides/GuideSpecValidationTypingPage.js +78 -78
  251. package/dist/node/components/docs/guides/GuidesIndexPage.js +43 -43
  252. package/dist/node/components/docs/guides/index.js +975 -975
  253. package/dist/node/components/docs/index.js +10791 -10791
  254. package/dist/node/components/docs/integrations/IntegrationsCircuitBreakersPage.js +17 -17
  255. package/dist/node/components/docs/integrations/IntegrationsElevenLabsPage.js +47 -47
  256. package/dist/node/components/docs/integrations/IntegrationsGithubPage.js +61 -61
  257. package/dist/node/components/docs/integrations/IntegrationsGmailPage.js +49 -49
  258. package/dist/node/components/docs/integrations/IntegrationsGoogleCalendarPage.js +33 -33
  259. package/dist/node/components/docs/integrations/IntegrationsHealthRoutingPage.js +65 -65
  260. package/dist/node/components/docs/integrations/IntegrationsMistralPage.js +69 -69
  261. package/dist/node/components/docs/integrations/IntegrationsOpenAIPage.js +65 -65
  262. package/dist/node/components/docs/integrations/IntegrationsOverviewPage.js +313 -313
  263. package/dist/node/components/docs/integrations/IntegrationsPostmarkPage.js +101 -101
  264. package/dist/node/components/docs/integrations/IntegrationsPowensPage.js +121 -121
  265. package/dist/node/components/docs/integrations/IntegrationsQdrantPage.js +49 -49
  266. package/dist/node/components/docs/integrations/IntegrationsResendPage.js +45 -45
  267. package/dist/node/components/docs/integrations/IntegrationsS3Page.js +57 -57
  268. package/dist/node/components/docs/integrations/IntegrationsSlackPage.js +63 -63
  269. package/dist/node/components/docs/integrations/IntegrationsSpecModelPage.js +139 -139
  270. package/dist/node/components/docs/integrations/IntegrationsStripePage.js +159 -159
  271. package/dist/node/components/docs/integrations/IntegrationsTwilioPage.js +61 -61
  272. package/dist/node/components/docs/integrations/IntegrationsWhatsappMetaPage.js +63 -63
  273. package/dist/node/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +65 -65
  274. package/dist/node/components/docs/integrations/index.js +1642 -1642
  275. package/dist/node/components/docs/intent/ContractFirstApiPage.js +51 -51
  276. package/dist/node/components/docs/intent/DeterministicCodegenPage.js +59 -59
  277. package/dist/node/components/docs/intent/GenerateClientFromSchemaPage.js +85 -85
  278. package/dist/node/components/docs/intent/OpenapiAlternativePage.js +91 -91
  279. package/dist/node/components/docs/intent/SchemaValidationTypescriptPage.js +59 -59
  280. package/dist/node/components/docs/intent/SpecDrivenDevelopmentPage.js +51 -51
  281. package/dist/node/components/docs/intent/index.js +396 -396
  282. package/dist/node/components/docs/knowledge/KnowledgeCategoriesPage.js +371 -371
  283. package/dist/node/components/docs/knowledge/KnowledgeExamplesPage.js +79 -79
  284. package/dist/node/components/docs/knowledge/KnowledgeOverviewPage.js +185 -185
  285. package/dist/node/components/docs/knowledge/KnowledgeSourcesPage.js +187 -187
  286. package/dist/node/components/docs/knowledge/KnowledgeSpacesPage.js +141 -141
  287. package/dist/node/components/docs/knowledge/index.js +963 -963
  288. package/dist/node/components/docs/libraries/LibrariesAccessibilityPage.js +85 -85
  289. package/dist/node/components/docs/libraries/LibrariesAiAgentPage.js +63 -63
  290. package/dist/node/components/docs/libraries/LibrariesAnalyticsPage.js +33 -33
  291. package/dist/node/components/docs/libraries/LibrariesContentGenPage.js +43 -43
  292. package/dist/node/components/docs/libraries/LibrariesContractsPage.js +125 -125
  293. package/dist/node/components/docs/libraries/LibrariesCostTrackingPage.js +45 -45
  294. package/dist/node/components/docs/libraries/LibrariesDataBackendPage.js +69 -69
  295. package/dist/node/components/docs/libraries/LibrariesDataViewsPage.js +79 -79
  296. package/dist/node/components/docs/libraries/LibrariesDesignSystemPage.js +129 -129
  297. package/dist/node/components/docs/libraries/LibrariesEvolutionPage.js +49 -49
  298. package/dist/node/components/docs/libraries/LibrariesGraphQLPage.js +73 -73
  299. package/dist/node/components/docs/libraries/LibrariesGrowthPage.js +35 -35
  300. package/dist/node/components/docs/libraries/LibrariesMultiTenancyPage.js +43 -43
  301. package/dist/node/components/docs/libraries/LibrariesObservabilityPage.js +53 -53
  302. package/dist/node/components/docs/libraries/LibrariesOverlayEnginePage.js +45 -45
  303. package/dist/node/components/docs/libraries/LibrariesOverviewPage.js +191 -191
  304. package/dist/node/components/docs/libraries/LibrariesPersonalizationPage.js +47 -47
  305. package/dist/node/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +53 -53
  306. package/dist/node/components/docs/libraries/LibrariesResiliencePage.js +49 -49
  307. package/dist/node/components/docs/libraries/LibrariesRuntimePage.js +87 -87
  308. package/dist/node/components/docs/libraries/LibrariesSLOPage.js +47 -47
  309. package/dist/node/components/docs/libraries/LibrariesSchemaPage.js +139 -139
  310. package/dist/node/components/docs/libraries/LibrariesSupportBotPage.js +57 -57
  311. package/dist/node/components/docs/libraries/LibrariesTestingPage.js +49 -49
  312. package/dist/node/components/docs/libraries/LibrariesUIKitPage.js +107 -107
  313. package/dist/node/components/docs/libraries/LibrariesWorkflowComposerPage.js +35 -35
  314. package/dist/node/components/docs/libraries/LibrariesWorkflowsPage.js +89 -89
  315. package/dist/node/components/docs/libraries/index.js +1919 -1919
  316. package/dist/node/components/docs/manifesto/ManifestoPage.js +79 -79
  317. package/dist/node/components/docs/ops/AutoEvolutionOpsPage.js +59 -59
  318. package/dist/node/components/docs/ops/DistributedTracingOpsPage.js +33 -33
  319. package/dist/node/components/docs/ops/index.js +92 -92
  320. package/dist/node/components/docs/reference/DocsMarkdownContent.js +27 -27
  321. package/dist/node/components/docs/reference/DocsReferenceContent.js +34 -34
  322. package/dist/node/components/docs/reference/DocsReferenceIndexClient.js +23 -23
  323. package/dist/node/components/docs/reference/DocsReferenceIndexPage.js +26 -26
  324. package/dist/node/components/docs/reference/DocsReferencePage.js +37 -37
  325. package/dist/node/components/docs/reference/index.js +63 -63
  326. package/dist/node/components/docs/safety/SafetyAuditingPage.js +161 -161
  327. package/dist/node/components/docs/safety/SafetyMigrationsPage.js +169 -169
  328. package/dist/node/components/docs/safety/SafetyOverviewPage.js +99 -99
  329. package/dist/node/components/docs/safety/SafetyPDPPage.js +137 -137
  330. package/dist/node/components/docs/safety/SafetySecurityTrustPage.js +95 -95
  331. package/dist/node/components/docs/safety/SafetySigningPage.js +39 -39
  332. package/dist/node/components/docs/safety/SafetyTenantIsolationPage.js +33 -33
  333. package/dist/node/components/docs/safety/index.js +733 -733
  334. package/dist/node/components/docs/shared/StudioPrompt.js +9 -9
  335. package/dist/node/components/docs/specs/SpecsCapabilitiesPage.js +61 -61
  336. package/dist/node/components/docs/specs/SpecsDataViewsPage.js +119 -119
  337. package/dist/node/components/docs/specs/SpecsOverlaysPage.js +171 -171
  338. package/dist/node/components/docs/specs/SpecsOverviewPage.js +167 -167
  339. package/dist/node/components/docs/specs/SpecsPolicyPage.js +179 -179
  340. package/dist/node/components/docs/specs/SpecsWorkflowsPage.js +141 -141
  341. package/dist/node/components/docs/specs/index.js +838 -838
  342. package/dist/node/components/docs/studio/StudioBYOKPage.js +9 -9
  343. package/dist/node/components/docs/studio/StudioDeploymentsPage.js +9 -9
  344. package/dist/node/components/docs/studio/StudioGettingStartedPage.js +9 -9
  345. package/dist/node/components/docs/studio/StudioIntegrationsPage.js +9 -9
  346. package/dist/node/components/docs/studio/StudioOverviewPage.js +33 -33
  347. package/dist/node/components/docs/studio/StudioVisualBuilderPage.js +9 -9
  348. package/dist/node/components/docs/studio/index.js +78 -78
  349. package/dist/node/components/integrations/index.js +209 -209
  350. package/dist/node/components/integrations/molecules/IntegrationCard.js +33 -33
  351. package/dist/node/components/integrations/organisms/IntegrationMarketplace.js +71 -71
  352. package/dist/node/components/integrations/organisms/IntegrationSettings.js +98 -98
  353. package/dist/node/components/integrations/organisms/KnowledgeSourceList.js +40 -40
  354. package/dist/node/components/legal/PrivacyTemplate.js +477 -477
  355. package/dist/node/components/legal/TermsTemplate.js +421 -421
  356. package/dist/node/components/legal/index.js +898 -898
  357. package/dist/node/components/shared/FeatureGateNotice.js +13 -13
  358. package/dist/node/components/shared/index.js +13 -13
  359. package/dist/node/components/shell/WorkspaceHeader.js +37 -37
  360. package/dist/node/components/shell/WorkspaceProjectShellLayout.js +77 -77
  361. package/dist/node/components/shell/WorkspaceShellRenderer.js +228 -0
  362. package/dist/node/components/shell/WorkspaceSidebar.js +27 -27
  363. package/dist/node/components/shell/index.js +140 -77
  364. package/dist/node/components/templates/index.js +272 -272
  365. package/dist/node/components/templates/messaging/ConversationList.js +27 -27
  366. package/dist/node/components/templates/messaging/MessageComposer.js +27 -27
  367. package/dist/node/components/templates/messaging/MessageThread.js +18 -18
  368. package/dist/node/components/templates/messaging/MessagingWorkspace.js +65 -65
  369. package/dist/node/components/templates/messaging/index.js +65 -65
  370. package/dist/node/components/templates/recipes/LanguageSwitcher.js +5 -5
  371. package/dist/node/components/templates/recipes/RecipeCard.js +26 -26
  372. package/dist/node/components/templates/recipes/RecipeDetail.js +33 -33
  373. package/dist/node/components/templates/recipes/RecipeList.js +80 -80
  374. package/dist/node/components/templates/recipes/index.js +80 -80
  375. package/dist/node/components/templates/todos/FilterBar.js +39 -39
  376. package/dist/node/components/templates/todos/TaskForm.js +43 -43
  377. package/dist/node/components/templates/todos/TaskItem.js +30 -30
  378. package/dist/node/components/templates/todos/TaskList.js +127 -127
  379. package/dist/node/components/templates/todos/index.js +127 -127
  380. package/dist/node/index.js +12323 -12260
  381. package/dist/node/infrastructure/elysia/index.js +8 -8
  382. package/dist/node/infrastructure/elysia/logger.js +8 -8
  383. package/dist/node/infrastructure/index.js +8 -8
  384. package/dist/node/libs/posthog/client.js +2 -2
  385. package/dist/node/presentation/features/atoms/FeatureIcon/FeatureIcon.js +3 -3
  386. package/dist/node/presentation/features/atoms/FeatureIcon/index.js +3 -3
  387. package/dist/node/presentation/features/atoms/index.js +3 -3
  388. package/dist/node/presentation/features/index.js +915 -915
  389. package/dist/node/presentation/features/molecules/FeatureCard/FeatureCard.js +101 -101
  390. package/dist/node/presentation/features/molecules/FeatureCard/index.js +101 -101
  391. package/dist/node/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +15 -15
  392. package/dist/node/presentation/features/molecules/FeatureCategoryHeader/index.js +15 -15
  393. package/dist/node/presentation/features/molecules/FeatureFilters/FeatureFilters.js +23 -23
  394. package/dist/node/presentation/features/molecules/FeatureFilters/index.js +23 -23
  395. package/dist/node/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +67 -67
  396. package/dist/node/presentation/features/molecules/FeatureHoverPreview/index.js +67 -67
  397. package/dist/node/presentation/features/molecules/index.js +139 -139
  398. package/dist/node/presentation/features/organisms/FeatureDataViewsList.js +7 -7
  399. package/dist/node/presentation/features/organisms/FeatureDetail/FeatureDetail.js +57 -57
  400. package/dist/node/presentation/features/organisms/FeatureDetail/index.js +57 -57
  401. package/dist/node/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +183 -183
  402. package/dist/node/presentation/features/organisms/FeatureDiscovery/index.js +183 -183
  403. package/dist/node/presentation/features/organisms/FeatureEventsList.js +7 -7
  404. package/dist/node/presentation/features/organisms/FeatureFormsList.js +7 -7
  405. package/dist/node/presentation/features/organisms/FeatureOperationsList.js +7 -7
  406. package/dist/node/presentation/features/organisms/FeaturePresentationsList.js +7 -7
  407. package/dist/node/presentation/features/organisms/index.js +275 -275
  408. package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +126 -126
  409. package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +126 -126
  410. package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +16 -16
  411. package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/index.js +16 -16
  412. package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +112 -112
  413. package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/index.js +112 -112
  414. package/dist/node/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +16 -16
  415. package/dist/node/presentation/features/templates/FeatureEventsTemplate/index.js +16 -16
  416. package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +126 -126
  417. package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/index.js +126 -126
  418. package/dist/node/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +16 -16
  419. package/dist/node/presentation/features/templates/FeatureFormsTemplate/index.js +16 -16
  420. package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +110 -110
  421. package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/index.js +110 -110
  422. package/dist/node/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +16 -16
  423. package/dist/node/presentation/features/templates/FeatureOperationsTemplate/index.js +16 -16
  424. package/dist/node/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +66 -66
  425. package/dist/node/presentation/features/templates/FeatureOverviewTemplate/index.js +66 -66
  426. package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +112 -112
  427. package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +112 -112
  428. package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +16 -16
  429. package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/index.js +16 -16
  430. package/dist/presentation/features/atoms/FeatureIcon/FeatureIcon.js +3 -3
  431. package/dist/presentation/features/atoms/FeatureIcon/index.js +3 -3
  432. package/dist/presentation/features/atoms/index.js +3 -3
  433. package/dist/presentation/features/index.js +915 -915
  434. package/dist/presentation/features/molecules/FeatureCard/FeatureCard.js +101 -101
  435. package/dist/presentation/features/molecules/FeatureCard/index.js +101 -101
  436. package/dist/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +15 -15
  437. package/dist/presentation/features/molecules/FeatureCategoryHeader/index.js +15 -15
  438. package/dist/presentation/features/molecules/FeatureFilters/FeatureFilters.js +23 -23
  439. package/dist/presentation/features/molecules/FeatureFilters/index.js +23 -23
  440. package/dist/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +67 -67
  441. package/dist/presentation/features/molecules/FeatureHoverPreview/index.js +67 -67
  442. package/dist/presentation/features/molecules/index.js +139 -139
  443. package/dist/presentation/features/organisms/FeatureDataViewsList.js +7 -7
  444. package/dist/presentation/features/organisms/FeatureDetail/FeatureDetail.js +57 -57
  445. package/dist/presentation/features/organisms/FeatureDetail/index.js +57 -57
  446. package/dist/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +183 -183
  447. package/dist/presentation/features/organisms/FeatureDiscovery/index.js +183 -183
  448. package/dist/presentation/features/organisms/FeatureEventsList.js +7 -7
  449. package/dist/presentation/features/organisms/FeatureFormsList.js +7 -7
  450. package/dist/presentation/features/organisms/FeatureOperationsList.js +7 -7
  451. package/dist/presentation/features/organisms/FeaturePresentationsList.js +7 -7
  452. package/dist/presentation/features/organisms/index.js +275 -275
  453. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +126 -126
  454. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +126 -126
  455. package/dist/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +16 -16
  456. package/dist/presentation/features/templates/FeatureDataViewsTemplate/index.js +16 -16
  457. package/dist/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +112 -112
  458. package/dist/presentation/features/templates/FeatureEventDetailTemplate/index.js +112 -112
  459. package/dist/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +16 -16
  460. package/dist/presentation/features/templates/FeatureEventsTemplate/index.js +16 -16
  461. package/dist/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +126 -126
  462. package/dist/presentation/features/templates/FeatureFormDetailTemplate/index.js +126 -126
  463. package/dist/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +16 -16
  464. package/dist/presentation/features/templates/FeatureFormsTemplate/index.js +16 -16
  465. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +110 -110
  466. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/index.js +110 -110
  467. package/dist/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +16 -16
  468. package/dist/presentation/features/templates/FeatureOperationsTemplate/index.js +16 -16
  469. package/dist/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +66 -66
  470. package/dist/presentation/features/templates/FeatureOverviewTemplate/index.js +66 -66
  471. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +112 -112
  472. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +112 -112
  473. package/dist/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +16 -16
  474. package/dist/presentation/features/templates/FeaturePresentationsTemplate/index.js +16 -16
  475. package/package.json +71 -22
  476. package/src/bundles/LibraryBundle.ts +152 -0
  477. package/src/bundles/index.ts +1 -0
  478. package/src/components/shell/WorkspaceShellRenderer.tsx +90 -0
  479. package/src/components/shell/index.ts +1 -0
@@ -1,1023 +1,1023 @@
1
1
  // src/components/legal/PrivacyTemplate.tsx
2
- import { jsxDEV } from "react/jsx-dev-runtime";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
3
  var metadata = {
4
4
  title: "Privacy Policy | ContractSpec",
5
5
  description: "Learn how ContractSpec collects, uses, and protects your personal data in compliance with GDPR."
6
6
  };
7
7
  function PrivacyTemplate() {
8
- return /* @__PURE__ */ jsxDEV("main", {
8
+ return /* @__PURE__ */ jsx("main", {
9
9
  className: "flex grow flex-col items-center justify-center pt-24",
10
- children: /* @__PURE__ */ jsxDEV("section", {
10
+ children: /* @__PURE__ */ jsx("section", {
11
11
  className: "section-padding",
12
- children: /* @__PURE__ */ jsxDEV("div", {
12
+ children: /* @__PURE__ */ jsxs("div", {
13
13
  className: "prose prose-invert mx-auto max-w-3xl",
14
14
  children: [
15
- /* @__PURE__ */ jsxDEV("h1", {
15
+ /* @__PURE__ */ jsx("h1", {
16
16
  className: "mb-4 text-4xl font-bold",
17
17
  children: "Privacy Policy"
18
- }, undefined, false, undefined, this),
19
- /* @__PURE__ */ jsxDEV("p", {
18
+ }),
19
+ /* @__PURE__ */ jsx("p", {
20
20
  className: "text-muted-foreground mb-8",
21
21
  children: "Last updated: December 18, 2025"
22
- }, undefined, false, undefined, this),
23
- /* @__PURE__ */ jsxDEV("section", {
22
+ }),
23
+ /* @__PURE__ */ jsxs("section", {
24
24
  className: "space-y-4",
25
25
  children: [
26
- /* @__PURE__ */ jsxDEV("h2", {
26
+ /* @__PURE__ */ jsx("h2", {
27
27
  className: "text-foreground text-2xl font-bold",
28
28
  children: "1. Who We Are"
29
- }, undefined, false, undefined, this),
30
- /* @__PURE__ */ jsxDEV("p", {
29
+ }),
30
+ /* @__PURE__ */ jsxs("p", {
31
31
  className: "text-muted-foreground",
32
32
  children: [
33
- /* @__PURE__ */ jsxDEV("strong", {
33
+ /* @__PURE__ */ jsx("strong", {
34
34
  className: "text-foreground",
35
35
  children: "ContractSpec"
36
- }, undefined, false, undefined, this),
36
+ }),
37
37
  " is a brand of",
38
38
  " ",
39
- /* @__PURE__ */ jsxDEV("strong", {
39
+ /* @__PURE__ */ jsx("strong", {
40
40
  className: "text-foreground",
41
41
  children: "CHAMAN VENTURES"
42
- }, undefined, false, undefined, this),
42
+ }),
43
43
  ", a simplified joint-stock company (SASU) registered in France."
44
44
  ]
45
- }, undefined, true, undefined, this),
46
- /* @__PURE__ */ jsxDEV("div", {
45
+ }),
46
+ /* @__PURE__ */ jsxs("div", {
47
47
  className: "text-muted-foreground rounded-lg border border-white/10 bg-white/5 p-4",
48
48
  children: [
49
- /* @__PURE__ */ jsxDEV("p", {
49
+ /* @__PURE__ */ jsx("p", {
50
50
  className: "mb-2",
51
- children: /* @__PURE__ */ jsxDEV("strong", {
51
+ children: /* @__PURE__ */ jsx("strong", {
52
52
  className: "text-foreground",
53
53
  children: "Data Controller:"
54
- }, undefined, false, undefined, this)
55
- }, undefined, false, undefined, this),
56
- /* @__PURE__ */ jsxDEV("ul", {
54
+ })
55
+ }),
56
+ /* @__PURE__ */ jsxs("ul", {
57
57
  className: "list-none space-y-1 pl-0",
58
58
  children: [
59
- /* @__PURE__ */ jsxDEV("li", {
59
+ /* @__PURE__ */ jsx("li", {
60
60
  children: "CHAMAN VENTURES, SASU"
61
- }, undefined, false, undefined, this),
62
- /* @__PURE__ */ jsxDEV("li", {
61
+ }),
62
+ /* @__PURE__ */ jsx("li", {
63
63
  children: "RCS Paris • SIREN 989 498 902"
64
- }, undefined, false, undefined, this),
65
- /* @__PURE__ */ jsxDEV("li", {
64
+ }),
65
+ /* @__PURE__ */ jsx("li", {
66
66
  children: "229 rue Saint-Honoré, 75001 Paris, France"
67
- }, undefined, false, undefined, this),
68
- /* @__PURE__ */ jsxDEV("li", {
67
+ }),
68
+ /* @__PURE__ */ jsxs("li", {
69
69
  children: [
70
70
  "Contact:",
71
71
  " ",
72
- /* @__PURE__ */ jsxDEV("a", {
72
+ /* @__PURE__ */ jsx("a", {
73
73
  href: "mailto:privacy@contractspec.io",
74
74
  className: "text-primary hover:underline",
75
75
  children: "privacy@contractspec.io"
76
- }, undefined, false, undefined, this)
76
+ })
77
77
  ]
78
- }, undefined, true, undefined, this)
78
+ })
79
79
  ]
80
- }, undefined, true, undefined, this)
80
+ })
81
81
  ]
82
- }, undefined, true, undefined, this),
83
- /* @__PURE__ */ jsxDEV("p", {
82
+ }),
83
+ /* @__PURE__ */ jsx("p", {
84
84
  className: "text-muted-foreground",
85
85
  children: "We are responsible for deciding how we hold and use personal data about you. We are required under data protection legislation to notify you of the information contained in this privacy policy."
86
- }, undefined, false, undefined, this)
86
+ })
87
87
  ]
88
- }, undefined, true, undefined, this),
89
- /* @__PURE__ */ jsxDEV("section", {
88
+ }),
89
+ /* @__PURE__ */ jsxs("section", {
90
90
  className: "mt-10 space-y-4",
91
91
  children: [
92
- /* @__PURE__ */ jsxDEV("h2", {
92
+ /* @__PURE__ */ jsx("h2", {
93
93
  className: "text-foreground text-2xl font-bold",
94
94
  children: "2. What This Policy Covers"
95
- }, undefined, false, undefined, this),
96
- /* @__PURE__ */ jsxDEV("p", {
95
+ }),
96
+ /* @__PURE__ */ jsx("p", {
97
97
  className: "text-muted-foreground",
98
98
  children: "This privacy policy explains:"
99
- }, undefined, false, undefined, this),
100
- /* @__PURE__ */ jsxDEV("ul", {
99
+ }),
100
+ /* @__PURE__ */ jsxs("ul", {
101
101
  className: "text-muted-foreground list-disc space-y-2 pl-6",
102
102
  children: [
103
- /* @__PURE__ */ jsxDEV("li", {
103
+ /* @__PURE__ */ jsx("li", {
104
104
  children: "What personal data we collect through the ContractSpec website and services"
105
- }, undefined, false, undefined, this),
106
- /* @__PURE__ */ jsxDEV("li", {
105
+ }),
106
+ /* @__PURE__ */ jsx("li", {
107
107
  children: "Why we collect and process your data"
108
- }, undefined, false, undefined, this),
109
- /* @__PURE__ */ jsxDEV("li", {
108
+ }),
109
+ /* @__PURE__ */ jsx("li", {
110
110
  children: "How we store and protect your data"
111
- }, undefined, false, undefined, this),
112
- /* @__PURE__ */ jsxDEV("li", {
111
+ }),
112
+ /* @__PURE__ */ jsx("li", {
113
113
  children: "Who we may share your data with"
114
- }, undefined, false, undefined, this),
115
- /* @__PURE__ */ jsxDEV("li", {
114
+ }),
115
+ /* @__PURE__ */ jsx("li", {
116
116
  children: "Your rights under the General Data Protection Regulation (GDPR)"
117
- }, undefined, false, undefined, this)
117
+ })
118
118
  ]
119
- }, undefined, true, undefined, this),
120
- /* @__PURE__ */ jsxDEV("p", {
119
+ }),
120
+ /* @__PURE__ */ jsx("p", {
121
121
  className: "text-muted-foreground",
122
122
  children: "This policy applies to visitors of our website, users who sign up for our waitlist or contact us, and customers who use our services."
123
- }, undefined, false, undefined, this)
123
+ })
124
124
  ]
125
- }, undefined, true, undefined, this),
126
- /* @__PURE__ */ jsxDEV("section", {
125
+ }),
126
+ /* @__PURE__ */ jsxs("section", {
127
127
  className: "mt-10 space-y-4",
128
128
  children: [
129
- /* @__PURE__ */ jsxDEV("h2", {
129
+ /* @__PURE__ */ jsx("h2", {
130
130
  className: "text-foreground text-2xl font-bold",
131
131
  children: "3. Data We Collect"
132
- }, undefined, false, undefined, this),
133
- /* @__PURE__ */ jsxDEV("p", {
132
+ }),
133
+ /* @__PURE__ */ jsx("p", {
134
134
  className: "text-muted-foreground",
135
135
  children: "We collect different types of data depending on how you interact with ContractSpec:"
136
- }, undefined, false, undefined, this),
137
- /* @__PURE__ */ jsxDEV("div", {
136
+ }),
137
+ /* @__PURE__ */ jsx("div", {
138
138
  className: "overflow-x-auto",
139
- children: /* @__PURE__ */ jsxDEV("table", {
139
+ children: /* @__PURE__ */ jsxs("table", {
140
140
  className: "text-muted-foreground w-full border-collapse text-sm",
141
141
  children: [
142
- /* @__PURE__ */ jsxDEV("thead", {
143
- children: /* @__PURE__ */ jsxDEV("tr", {
142
+ /* @__PURE__ */ jsx("thead", {
143
+ children: /* @__PURE__ */ jsxs("tr", {
144
144
  className: "border-b border-white/20",
145
145
  children: [
146
- /* @__PURE__ */ jsxDEV("th", {
146
+ /* @__PURE__ */ jsx("th", {
147
147
  className: "text-foreground py-3 pr-4 text-left font-semibold",
148
148
  children: "Category"
149
- }, undefined, false, undefined, this),
150
- /* @__PURE__ */ jsxDEV("th", {
149
+ }),
150
+ /* @__PURE__ */ jsx("th", {
151
151
  className: "text-foreground py-3 pr-4 text-left font-semibold",
152
152
  children: "Data Collected"
153
- }, undefined, false, undefined, this),
154
- /* @__PURE__ */ jsxDEV("th", {
153
+ }),
154
+ /* @__PURE__ */ jsx("th", {
155
155
  className: "text-foreground py-3 text-left font-semibold",
156
156
  children: "When Collected"
157
- }, undefined, false, undefined, this)
157
+ })
158
158
  ]
159
- }, undefined, true, undefined, this)
160
- }, undefined, false, undefined, this),
161
- /* @__PURE__ */ jsxDEV("tbody", {
159
+ })
160
+ }),
161
+ /* @__PURE__ */ jsxs("tbody", {
162
162
  children: [
163
- /* @__PURE__ */ jsxDEV("tr", {
163
+ /* @__PURE__ */ jsxs("tr", {
164
164
  className: "border-b border-white/10",
165
165
  children: [
166
- /* @__PURE__ */ jsxDEV("td", {
166
+ /* @__PURE__ */ jsx("td", {
167
167
  className: "py-3 pr-4 font-medium",
168
168
  children: "Website Analytics"
169
- }, undefined, false, undefined, this),
170
- /* @__PURE__ */ jsxDEV("td", {
169
+ }),
170
+ /* @__PURE__ */ jsx("td", {
171
171
  className: "py-3 pr-4",
172
172
  children: "Page views, click events, device type, browser, approximate location (country level), session duration, referral source"
173
- }, undefined, false, undefined, this),
174
- /* @__PURE__ */ jsxDEV("td", {
173
+ }),
174
+ /* @__PURE__ */ jsx("td", {
175
175
  className: "py-3",
176
176
  children: "When browsing our website (with consent in EU/EEA)"
177
- }, undefined, false, undefined, this)
177
+ })
178
178
  ]
179
- }, undefined, true, undefined, this),
180
- /* @__PURE__ */ jsxDEV("tr", {
179
+ }),
180
+ /* @__PURE__ */ jsxs("tr", {
181
181
  className: "border-b border-white/10",
182
182
  children: [
183
- /* @__PURE__ */ jsxDEV("td", {
183
+ /* @__PURE__ */ jsx("td", {
184
184
  className: "py-3 pr-4 font-medium",
185
185
  children: "Contact / Waitlist"
186
- }, undefined, false, undefined, this),
187
- /* @__PURE__ */ jsxDEV("td", {
186
+ }),
187
+ /* @__PURE__ */ jsx("td", {
188
188
  className: "py-3 pr-4",
189
189
  children: "Name, email address, message content"
190
- }, undefined, false, undefined, this),
191
- /* @__PURE__ */ jsxDEV("td", {
190
+ }),
191
+ /* @__PURE__ */ jsx("td", {
192
192
  className: "py-3",
193
193
  children: "When you submit a form or join our waitlist"
194
- }, undefined, false, undefined, this)
194
+ })
195
195
  ]
196
- }, undefined, true, undefined, this),
197
- /* @__PURE__ */ jsxDEV("tr", {
196
+ }),
197
+ /* @__PURE__ */ jsxs("tr", {
198
198
  className: "border-b border-white/10",
199
199
  children: [
200
- /* @__PURE__ */ jsxDEV("td", {
200
+ /* @__PURE__ */ jsx("td", {
201
201
  className: "py-3 pr-4 font-medium",
202
202
  children: "Account Data"
203
- }, undefined, false, undefined, this),
204
- /* @__PURE__ */ jsxDEV("td", {
203
+ }),
204
+ /* @__PURE__ */ jsxs("td", {
205
205
  className: "py-3 pr-4",
206
206
  children: [
207
- /* @__PURE__ */ jsxDEV("em", {
207
+ /* @__PURE__ */ jsx("em", {
208
208
  children: "Not yet applicable"
209
- }, undefined, false, undefined, this),
209
+ }),
210
210
  " — We do not currently offer user accounts. This section will be updated when accounts are introduced."
211
211
  ]
212
- }, undefined, true, undefined, this),
213
- /* @__PURE__ */ jsxDEV("td", {
212
+ }),
213
+ /* @__PURE__ */ jsx("td", {
214
214
  className: "py-3",
215
215
  children: "—"
216
- }, undefined, false, undefined, this)
216
+ })
217
217
  ]
218
- }, undefined, true, undefined, this),
219
- /* @__PURE__ */ jsxDEV("tr", {
218
+ }),
219
+ /* @__PURE__ */ jsxs("tr", {
220
220
  className: "border-b border-white/10",
221
221
  children: [
222
- /* @__PURE__ */ jsxDEV("td", {
222
+ /* @__PURE__ */ jsx("td", {
223
223
  className: "py-3 pr-4 font-medium",
224
224
  children: "Billing Data"
225
- }, undefined, false, undefined, this),
226
- /* @__PURE__ */ jsxDEV("td", {
225
+ }),
226
+ /* @__PURE__ */ jsxs("td", {
227
227
  className: "py-3 pr-4",
228
228
  children: [
229
- /* @__PURE__ */ jsxDEV("em", {
229
+ /* @__PURE__ */ jsx("em", {
230
230
  children: "Not yet applicable"
231
- }, undefined, false, undefined, this),
231
+ }),
232
232
  " — We do not currently process payments. This section will be updated when billing is introduced."
233
233
  ]
234
- }, undefined, true, undefined, this),
235
- /* @__PURE__ */ jsxDEV("td", {
234
+ }),
235
+ /* @__PURE__ */ jsx("td", {
236
236
  className: "py-3",
237
237
  children: "—"
238
- }, undefined, false, undefined, this)
238
+ })
239
239
  ]
240
- }, undefined, true, undefined, this)
240
+ })
241
241
  ]
242
- }, undefined, true, undefined, this)
242
+ })
243
243
  ]
244
- }, undefined, true, undefined, this)
245
- }, undefined, false, undefined, this)
244
+ })
245
+ })
246
246
  ]
247
- }, undefined, true, undefined, this),
248
- /* @__PURE__ */ jsxDEV("section", {
247
+ }),
248
+ /* @__PURE__ */ jsxs("section", {
249
249
  className: "mt-10 space-y-4",
250
250
  children: [
251
- /* @__PURE__ */ jsxDEV("h2", {
251
+ /* @__PURE__ */ jsx("h2", {
252
252
  className: "text-foreground text-2xl font-bold",
253
253
  children: "4. Why We Process Data (Purposes & Legal Bases)"
254
- }, undefined, false, undefined, this),
255
- /* @__PURE__ */ jsxDEV("p", {
254
+ }),
255
+ /* @__PURE__ */ jsx("p", {
256
256
  className: "text-muted-foreground",
257
257
  children: "Under GDPR, we must have a lawful basis for processing your personal data. We rely on the following:"
258
- }, undefined, false, undefined, this),
259
- /* @__PURE__ */ jsxDEV("div", {
258
+ }),
259
+ /* @__PURE__ */ jsx("div", {
260
260
  className: "overflow-x-auto",
261
- children: /* @__PURE__ */ jsxDEV("table", {
261
+ children: /* @__PURE__ */ jsxs("table", {
262
262
  className: "text-muted-foreground w-full border-collapse text-sm",
263
263
  children: [
264
- /* @__PURE__ */ jsxDEV("thead", {
265
- children: /* @__PURE__ */ jsxDEV("tr", {
264
+ /* @__PURE__ */ jsx("thead", {
265
+ children: /* @__PURE__ */ jsxs("tr", {
266
266
  className: "border-b border-white/20",
267
267
  children: [
268
- /* @__PURE__ */ jsxDEV("th", {
268
+ /* @__PURE__ */ jsx("th", {
269
269
  className: "text-foreground py-3 pr-4 text-left font-semibold",
270
270
  children: "Purpose"
271
- }, undefined, false, undefined, this),
272
- /* @__PURE__ */ jsxDEV("th", {
271
+ }),
272
+ /* @__PURE__ */ jsx("th", {
273
273
  className: "text-foreground py-3 pr-4 text-left font-semibold",
274
274
  children: "Legal Basis"
275
- }, undefined, false, undefined, this),
276
- /* @__PURE__ */ jsxDEV("th", {
275
+ }),
276
+ /* @__PURE__ */ jsx("th", {
277
277
  className: "text-foreground py-3 text-left font-semibold",
278
278
  children: "Details"
279
- }, undefined, false, undefined, this)
279
+ })
280
280
  ]
281
- }, undefined, true, undefined, this)
282
- }, undefined, false, undefined, this),
283
- /* @__PURE__ */ jsxDEV("tbody", {
281
+ })
282
+ }),
283
+ /* @__PURE__ */ jsxs("tbody", {
284
284
  children: [
285
- /* @__PURE__ */ jsxDEV("tr", {
285
+ /* @__PURE__ */ jsxs("tr", {
286
286
  className: "border-b border-white/10",
287
287
  children: [
288
- /* @__PURE__ */ jsxDEV("td", {
288
+ /* @__PURE__ */ jsx("td", {
289
289
  className: "py-3 pr-4 font-medium",
290
290
  children: "Website operation & security"
291
- }, undefined, false, undefined, this),
292
- /* @__PURE__ */ jsxDEV("td", {
291
+ }),
292
+ /* @__PURE__ */ jsx("td", {
293
293
  className: "py-3 pr-4",
294
294
  children: "Legitimate interest"
295
- }, undefined, false, undefined, this),
296
- /* @__PURE__ */ jsxDEV("td", {
295
+ }),
296
+ /* @__PURE__ */ jsx("td", {
297
297
  className: "py-3",
298
298
  children: "Ensuring our website functions correctly, preventing abuse, and maintaining security"
299
- }, undefined, false, undefined, this)
299
+ })
300
300
  ]
301
- }, undefined, true, undefined, this),
302
- /* @__PURE__ */ jsxDEV("tr", {
301
+ }),
302
+ /* @__PURE__ */ jsxs("tr", {
303
303
  className: "border-b border-white/10",
304
304
  children: [
305
- /* @__PURE__ */ jsxDEV("td", {
305
+ /* @__PURE__ */ jsx("td", {
306
306
  className: "py-3 pr-4 font-medium",
307
307
  children: "Analytics & improvement"
308
- }, undefined, false, undefined, this),
309
- /* @__PURE__ */ jsxDEV("td", {
308
+ }),
309
+ /* @__PURE__ */ jsx("td", {
310
310
  className: "py-3 pr-4",
311
311
  children: "Consent"
312
- }, undefined, false, undefined, this),
313
- /* @__PURE__ */ jsxDEV("td", {
312
+ }),
313
+ /* @__PURE__ */ jsx("td", {
314
314
  className: "py-3",
315
315
  children: "Understanding how users interact with our site to improve our services (gated behind consent in EU/EEA)"
316
- }, undefined, false, undefined, this)
316
+ })
317
317
  ]
318
- }, undefined, true, undefined, this),
319
- /* @__PURE__ */ jsxDEV("tr", {
318
+ }),
319
+ /* @__PURE__ */ jsxs("tr", {
320
320
  className: "border-b border-white/10",
321
321
  children: [
322
- /* @__PURE__ */ jsxDEV("td", {
322
+ /* @__PURE__ */ jsx("td", {
323
323
  className: "py-3 pr-4 font-medium",
324
324
  children: "Responding to enquiries"
325
- }, undefined, false, undefined, this),
326
- /* @__PURE__ */ jsxDEV("td", {
325
+ }),
326
+ /* @__PURE__ */ jsx("td", {
327
327
  className: "py-3 pr-4",
328
328
  children: "Legitimate interest / Contract"
329
- }, undefined, false, undefined, this),
330
- /* @__PURE__ */ jsxDEV("td", {
329
+ }),
330
+ /* @__PURE__ */ jsx("td", {
331
331
  className: "py-3",
332
332
  children: "Responding to your questions, processing waitlist requests, or pre-contractual discussions"
333
- }, undefined, false, undefined, this)
333
+ })
334
334
  ]
335
- }, undefined, true, undefined, this),
336
- /* @__PURE__ */ jsxDEV("tr", {
335
+ }),
336
+ /* @__PURE__ */ jsxs("tr", {
337
337
  className: "border-b border-white/10",
338
338
  children: [
339
- /* @__PURE__ */ jsxDEV("td", {
339
+ /* @__PURE__ */ jsx("td", {
340
340
  className: "py-3 pr-4 font-medium",
341
341
  children: "Service delivery"
342
- }, undefined, false, undefined, this),
343
- /* @__PURE__ */ jsxDEV("td", {
342
+ }),
343
+ /* @__PURE__ */ jsx("td", {
344
344
  className: "py-3 pr-4",
345
345
  children: "Contract"
346
- }, undefined, false, undefined, this),
347
- /* @__PURE__ */ jsxDEV("td", {
346
+ }),
347
+ /* @__PURE__ */ jsx("td", {
348
348
  className: "py-3",
349
349
  children: "If/when you become a customer, processing your data is necessary to fulfil our contractual obligations"
350
- }, undefined, false, undefined, this)
350
+ })
351
351
  ]
352
- }, undefined, true, undefined, this),
353
- /* @__PURE__ */ jsxDEV("tr", {
352
+ }),
353
+ /* @__PURE__ */ jsxs("tr", {
354
354
  className: "border-b border-white/10",
355
355
  children: [
356
- /* @__PURE__ */ jsxDEV("td", {
356
+ /* @__PURE__ */ jsx("td", {
357
357
  className: "py-3 pr-4 font-medium",
358
358
  children: "Legal compliance"
359
- }, undefined, false, undefined, this),
360
- /* @__PURE__ */ jsxDEV("td", {
359
+ }),
360
+ /* @__PURE__ */ jsx("td", {
361
361
  className: "py-3 pr-4",
362
362
  children: "Legal obligation"
363
- }, undefined, false, undefined, this),
364
- /* @__PURE__ */ jsxDEV("td", {
363
+ }),
364
+ /* @__PURE__ */ jsx("td", {
365
365
  className: "py-3",
366
366
  children: "Complying with applicable laws, regulations, or legal processes"
367
- }, undefined, false, undefined, this)
367
+ })
368
368
  ]
369
- }, undefined, true, undefined, this)
369
+ })
370
370
  ]
371
- }, undefined, true, undefined, this)
371
+ })
372
372
  ]
373
- }, undefined, true, undefined, this)
374
- }, undefined, false, undefined, this)
373
+ })
374
+ })
375
375
  ]
376
- }, undefined, true, undefined, this),
377
- /* @__PURE__ */ jsxDEV("section", {
376
+ }),
377
+ /* @__PURE__ */ jsxs("section", {
378
378
  className: "mt-10 space-y-4",
379
379
  children: [
380
- /* @__PURE__ */ jsxDEV("h2", {
380
+ /* @__PURE__ */ jsx("h2", {
381
381
  className: "text-foreground text-2xl font-bold",
382
382
  children: "5. Cookies & Tracking"
383
- }, undefined, false, undefined, this),
384
- /* @__PURE__ */ jsxDEV("p", {
383
+ }),
384
+ /* @__PURE__ */ jsxs("p", {
385
385
  className: "text-muted-foreground",
386
386
  children: [
387
387
  "We use ",
388
- /* @__PURE__ */ jsxDEV("strong", {
388
+ /* @__PURE__ */ jsx("strong", {
389
389
  className: "text-foreground",
390
390
  children: "PostHog"
391
- }, undefined, false, undefined, this),
391
+ }),
392
392
  " for product analytics to understand how visitors use our website. PostHog may use cookies or similar technologies to collect this information."
393
393
  ]
394
- }, undefined, true, undefined, this),
395
- /* @__PURE__ */ jsxDEV("h3", {
394
+ }),
395
+ /* @__PURE__ */ jsx("h3", {
396
396
  className: "text-foreground mt-6 text-xl font-semibold",
397
397
  children: "Consent in the EU/EEA"
398
- }, undefined, false, undefined, this),
399
- /* @__PURE__ */ jsxDEV("p", {
398
+ }),
399
+ /* @__PURE__ */ jsx("p", {
400
400
  className: "text-muted-foreground",
401
401
  children: "If you are located in the European Union or European Economic Area, we gate analytics tracking behind your explicit consent. Analytics cookies will not be set until you opt-in through our cookie consent mechanism."
402
- }, undefined, false, undefined, this),
403
- /* @__PURE__ */ jsxDEV("h3", {
402
+ }),
403
+ /* @__PURE__ */ jsx("h3", {
404
404
  className: "text-foreground mt-6 text-xl font-semibold",
405
405
  children: "Withdrawing Consent / Opting Out"
406
- }, undefined, false, undefined, this),
407
- /* @__PURE__ */ jsxDEV("p", {
406
+ }),
407
+ /* @__PURE__ */ jsx("p", {
408
408
  className: "text-muted-foreground",
409
409
  children: "You can withdraw consent or opt out at any time:"
410
- }, undefined, false, undefined, this),
411
- /* @__PURE__ */ jsxDEV("ul", {
410
+ }),
411
+ /* @__PURE__ */ jsxs("ul", {
412
412
  className: "text-muted-foreground list-disc space-y-2 pl-6",
413
413
  children: [
414
- /* @__PURE__ */ jsxDEV("li", {
414
+ /* @__PURE__ */ jsxs("li", {
415
415
  children: [
416
- /* @__PURE__ */ jsxDEV("strong", {
416
+ /* @__PURE__ */ jsx("strong", {
417
417
  children: "Cookie settings:"
418
- }, undefined, false, undefined, this),
418
+ }),
419
419
  " Use the cookie preferences link in our website footer to manage your consent"
420
420
  ]
421
- }, undefined, true, undefined, this),
422
- /* @__PURE__ */ jsxDEV("li", {
421
+ }),
422
+ /* @__PURE__ */ jsxs("li", {
423
423
  children: [
424
- /* @__PURE__ */ jsxDEV("strong", {
424
+ /* @__PURE__ */ jsx("strong", {
425
425
  children: "Browser settings:"
426
- }, undefined, false, undefined, this),
426
+ }),
427
427
  " Configure your browser to reject cookies or alert you when cookies are being set"
428
428
  ]
429
- }, undefined, true, undefined, this),
430
- /* @__PURE__ */ jsxDEV("li", {
429
+ }),
430
+ /* @__PURE__ */ jsxs("li", {
431
431
  children: [
432
- /* @__PURE__ */ jsxDEV("strong", {
432
+ /* @__PURE__ */ jsx("strong", {
433
433
  children: "PostHog opt-out:"
434
- }, undefined, false, undefined, this),
434
+ }),
435
435
  ' PostHog respects "Do Not Track" browser signals where applicable'
436
436
  ]
437
- }, undefined, true, undefined, this)
437
+ })
438
438
  ]
439
- }, undefined, true, undefined, this),
440
- /* @__PURE__ */ jsxDEV("p", {
439
+ }),
440
+ /* @__PURE__ */ jsx("p", {
441
441
  className: "text-muted-foreground",
442
442
  children: "Note: Rejecting analytics cookies will not affect your ability to use our website."
443
- }, undefined, false, undefined, this)
443
+ })
444
444
  ]
445
- }, undefined, true, undefined, this),
446
- /* @__PURE__ */ jsxDEV("section", {
445
+ }),
446
+ /* @__PURE__ */ jsxs("section", {
447
447
  className: "mt-10 space-y-4",
448
448
  children: [
449
- /* @__PURE__ */ jsxDEV("h2", {
449
+ /* @__PURE__ */ jsx("h2", {
450
450
  className: "text-foreground text-2xl font-bold",
451
451
  children: "6. Sub-processors & Recipients"
452
- }, undefined, false, undefined, this),
453
- /* @__PURE__ */ jsxDEV("p", {
452
+ }),
453
+ /* @__PURE__ */ jsx("p", {
454
454
  className: "text-muted-foreground",
455
455
  children: "We share data with the following third-party service providers who process data on our behalf:"
456
- }, undefined, false, undefined, this),
457
- /* @__PURE__ */ jsxDEV("div", {
456
+ }),
457
+ /* @__PURE__ */ jsx("div", {
458
458
  className: "overflow-x-auto",
459
- children: /* @__PURE__ */ jsxDEV("table", {
459
+ children: /* @__PURE__ */ jsxs("table", {
460
460
  className: "text-muted-foreground w-full border-collapse text-sm",
461
461
  children: [
462
- /* @__PURE__ */ jsxDEV("thead", {
463
- children: /* @__PURE__ */ jsxDEV("tr", {
462
+ /* @__PURE__ */ jsx("thead", {
463
+ children: /* @__PURE__ */ jsxs("tr", {
464
464
  className: "border-b border-white/20",
465
465
  children: [
466
- /* @__PURE__ */ jsxDEV("th", {
466
+ /* @__PURE__ */ jsx("th", {
467
467
  className: "text-foreground py-3 pr-4 text-left font-semibold",
468
468
  children: "Provider"
469
- }, undefined, false, undefined, this),
470
- /* @__PURE__ */ jsxDEV("th", {
469
+ }),
470
+ /* @__PURE__ */ jsx("th", {
471
471
  className: "text-foreground py-3 pr-4 text-left font-semibold",
472
472
  children: "Purpose"
473
- }, undefined, false, undefined, this),
474
- /* @__PURE__ */ jsxDEV("th", {
473
+ }),
474
+ /* @__PURE__ */ jsx("th", {
475
475
  className: "text-foreground py-3 text-left font-semibold",
476
476
  children: "Location"
477
- }, undefined, false, undefined, this)
477
+ })
478
478
  ]
479
- }, undefined, true, undefined, this)
480
- }, undefined, false, undefined, this),
481
- /* @__PURE__ */ jsxDEV("tbody", {
479
+ })
480
+ }),
481
+ /* @__PURE__ */ jsxs("tbody", {
482
482
  children: [
483
- /* @__PURE__ */ jsxDEV("tr", {
483
+ /* @__PURE__ */ jsxs("tr", {
484
484
  className: "border-b border-white/10",
485
485
  children: [
486
- /* @__PURE__ */ jsxDEV("td", {
486
+ /* @__PURE__ */ jsx("td", {
487
487
  className: "py-3 pr-4 font-medium",
488
488
  children: "PostHog"
489
- }, undefined, false, undefined, this),
490
- /* @__PURE__ */ jsxDEV("td", {
489
+ }),
490
+ /* @__PURE__ */ jsx("td", {
491
491
  className: "py-3 pr-4",
492
492
  children: "Product analytics"
493
- }, undefined, false, undefined, this),
494
- /* @__PURE__ */ jsxDEV("td", {
493
+ }),
494
+ /* @__PURE__ */ jsx("td", {
495
495
  className: "py-3",
496
496
  children: "EU (PostHog Cloud EU) or US"
497
- }, undefined, false, undefined, this)
497
+ })
498
498
  ]
499
- }, undefined, true, undefined, this),
500
- /* @__PURE__ */ jsxDEV("tr", {
499
+ }),
500
+ /* @__PURE__ */ jsxs("tr", {
501
501
  className: "border-b border-white/10",
502
502
  children: [
503
- /* @__PURE__ */ jsxDEV("td", {
503
+ /* @__PURE__ */ jsx("td", {
504
504
  className: "py-3 pr-4 font-medium",
505
505
  children: "Vercel"
506
- }, undefined, false, undefined, this),
507
- /* @__PURE__ */ jsxDEV("td", {
506
+ }),
507
+ /* @__PURE__ */ jsx("td", {
508
508
  className: "py-3 pr-4",
509
509
  children: "Website hosting & CDN"
510
- }, undefined, false, undefined, this),
511
- /* @__PURE__ */ jsxDEV("td", {
510
+ }),
511
+ /* @__PURE__ */ jsx("td", {
512
512
  className: "py-3",
513
513
  children: "Global (including EU regions)"
514
- }, undefined, false, undefined, this)
514
+ })
515
515
  ]
516
- }, undefined, true, undefined, this),
517
- /* @__PURE__ */ jsxDEV("tr", {
516
+ }),
517
+ /* @__PURE__ */ jsxs("tr", {
518
518
  className: "border-b border-white/10",
519
519
  children: [
520
- /* @__PURE__ */ jsxDEV("td", {
520
+ /* @__PURE__ */ jsx("td", {
521
521
  className: "py-3 pr-4 font-medium",
522
522
  children: "Scaleway"
523
- }, undefined, false, undefined, this),
524
- /* @__PURE__ */ jsxDEV("td", {
523
+ }),
524
+ /* @__PURE__ */ jsx("td", {
525
525
  className: "py-3 pr-4",
526
526
  children: "Cloud infrastructure"
527
- }, undefined, false, undefined, this),
528
- /* @__PURE__ */ jsxDEV("td", {
527
+ }),
528
+ /* @__PURE__ */ jsx("td", {
529
529
  className: "py-3",
530
530
  children: "France / EU"
531
- }, undefined, false, undefined, this)
531
+ })
532
532
  ]
533
- }, undefined, true, undefined, this),
534
- /* @__PURE__ */ jsxDEV("tr", {
533
+ }),
534
+ /* @__PURE__ */ jsxs("tr", {
535
535
  className: "border-b border-white/10",
536
536
  children: [
537
- /* @__PURE__ */ jsxDEV("td", {
537
+ /* @__PURE__ */ jsxs("td", {
538
538
  className: "py-3 pr-4 font-medium",
539
539
  children: [
540
540
  "Email provider ",
541
- /* @__PURE__ */ jsxDEV("em", {
541
+ /* @__PURE__ */ jsx("em", {
542
542
  children: "(TBD)"
543
- }, undefined, false, undefined, this)
543
+ })
544
544
  ]
545
- }, undefined, true, undefined, this),
546
- /* @__PURE__ */ jsxDEV("td", {
545
+ }),
546
+ /* @__PURE__ */ jsx("td", {
547
547
  className: "py-3 pr-4",
548
548
  children: "Transactional & marketing emails"
549
- }, undefined, false, undefined, this),
550
- /* @__PURE__ */ jsxDEV("td", {
549
+ }),
550
+ /* @__PURE__ */ jsx("td", {
551
551
  className: "py-3",
552
- children: /* @__PURE__ */ jsxDEV("em", {
552
+ children: /* @__PURE__ */ jsx("em", {
553
553
  children: "To be confirmed"
554
- }, undefined, false, undefined, this)
555
- }, undefined, false, undefined, this)
554
+ })
555
+ })
556
556
  ]
557
- }, undefined, true, undefined, this),
558
- /* @__PURE__ */ jsxDEV("tr", {
557
+ }),
558
+ /* @__PURE__ */ jsxs("tr", {
559
559
  className: "border-b border-white/10",
560
560
  children: [
561
- /* @__PURE__ */ jsxDEV("td", {
561
+ /* @__PURE__ */ jsxs("td", {
562
562
  className: "py-3 pr-4 font-medium",
563
563
  children: [
564
564
  "Error tracking ",
565
- /* @__PURE__ */ jsxDEV("em", {
565
+ /* @__PURE__ */ jsx("em", {
566
566
  children: "(TBD)"
567
- }, undefined, false, undefined, this)
567
+ })
568
568
  ]
569
- }, undefined, true, undefined, this),
570
- /* @__PURE__ */ jsxDEV("td", {
569
+ }),
570
+ /* @__PURE__ */ jsx("td", {
571
571
  className: "py-3 pr-4",
572
572
  children: "Application error monitoring"
573
- }, undefined, false, undefined, this),
574
- /* @__PURE__ */ jsxDEV("td", {
573
+ }),
574
+ /* @__PURE__ */ jsx("td", {
575
575
  className: "py-3",
576
- children: /* @__PURE__ */ jsxDEV("em", {
576
+ children: /* @__PURE__ */ jsx("em", {
577
577
  children: "To be confirmed"
578
- }, undefined, false, undefined, this)
579
- }, undefined, false, undefined, this)
578
+ })
579
+ })
580
580
  ]
581
- }, undefined, true, undefined, this),
582
- /* @__PURE__ */ jsxDEV("tr", {
581
+ }),
582
+ /* @__PURE__ */ jsxs("tr", {
583
583
  className: "border-b border-white/10",
584
584
  children: [
585
- /* @__PURE__ */ jsxDEV("td", {
585
+ /* @__PURE__ */ jsxs("td", {
586
586
  className: "py-3 pr-4 font-medium",
587
587
  children: [
588
588
  "Payment processor ",
589
- /* @__PURE__ */ jsxDEV("em", {
589
+ /* @__PURE__ */ jsx("em", {
590
590
  children: "(TBD)"
591
- }, undefined, false, undefined, this)
591
+ })
592
592
  ]
593
- }, undefined, true, undefined, this),
594
- /* @__PURE__ */ jsxDEV("td", {
593
+ }),
594
+ /* @__PURE__ */ jsx("td", {
595
595
  className: "py-3 pr-4",
596
596
  children: "Billing & subscription management"
597
- }, undefined, false, undefined, this),
598
- /* @__PURE__ */ jsxDEV("td", {
597
+ }),
598
+ /* @__PURE__ */ jsx("td", {
599
599
  className: "py-3",
600
- children: /* @__PURE__ */ jsxDEV("em", {
600
+ children: /* @__PURE__ */ jsx("em", {
601
601
  children: "To be confirmed"
602
- }, undefined, false, undefined, this)
603
- }, undefined, false, undefined, this)
602
+ })
603
+ })
604
604
  ]
605
- }, undefined, true, undefined, this)
605
+ })
606
606
  ]
607
- }, undefined, true, undefined, this)
607
+ })
608
608
  ]
609
- }, undefined, true, undefined, this)
610
- }, undefined, false, undefined, this),
611
- /* @__PURE__ */ jsxDEV("p", {
609
+ })
610
+ }),
611
+ /* @__PURE__ */ jsx("p", {
612
612
  className: "text-muted-foreground mt-4",
613
613
  children: "We carefully select our sub-processors and require them to maintain appropriate security measures and only process data according to our instructions."
614
- }, undefined, false, undefined, this)
614
+ })
615
615
  ]
616
- }, undefined, true, undefined, this),
617
- /* @__PURE__ */ jsxDEV("section", {
616
+ }),
617
+ /* @__PURE__ */ jsxs("section", {
618
618
  className: "mt-10 space-y-4",
619
619
  children: [
620
- /* @__PURE__ */ jsxDEV("h2", {
620
+ /* @__PURE__ */ jsx("h2", {
621
621
  className: "text-foreground text-2xl font-bold",
622
622
  children: "7. International Data Transfers"
623
- }, undefined, false, undefined, this),
624
- /* @__PURE__ */ jsxDEV("p", {
623
+ }),
624
+ /* @__PURE__ */ jsx("p", {
625
625
  className: "text-muted-foreground",
626
626
  children: "As a France-based company, we aim to keep your data within the European Union wherever possible."
627
- }, undefined, false, undefined, this),
628
- /* @__PURE__ */ jsxDEV("p", {
627
+ }),
628
+ /* @__PURE__ */ jsx("p", {
629
629
  className: "text-muted-foreground",
630
630
  children: "However, some of our service providers may process data outside the EU/EEA. When this occurs, we ensure appropriate safeguards are in place, such as:"
631
- }, undefined, false, undefined, this),
632
- /* @__PURE__ */ jsxDEV("ul", {
631
+ }),
632
+ /* @__PURE__ */ jsxs("ul", {
633
633
  className: "text-muted-foreground list-disc space-y-2 pl-6",
634
634
  children: [
635
- /* @__PURE__ */ jsxDEV("li", {
635
+ /* @__PURE__ */ jsxs("li", {
636
636
  children: [
637
- /* @__PURE__ */ jsxDEV("strong", {
637
+ /* @__PURE__ */ jsx("strong", {
638
638
  children: "Standard Contractual Clauses (SCCs)"
639
- }, undefined, false, undefined, this),
639
+ }),
640
640
  " approved by the European Commission"
641
641
  ]
642
- }, undefined, true, undefined, this),
643
- /* @__PURE__ */ jsxDEV("li", {
642
+ }),
643
+ /* @__PURE__ */ jsxs("li", {
644
644
  children: [
645
- /* @__PURE__ */ jsxDEV("strong", {
645
+ /* @__PURE__ */ jsx("strong", {
646
646
  children: "Adequacy decisions"
647
- }, undefined, false, undefined, this),
647
+ }),
648
648
  " where the recipient country has been deemed to provide adequate protection"
649
649
  ]
650
- }, undefined, true, undefined, this),
651
- /* @__PURE__ */ jsxDEV("li", {
650
+ }),
651
+ /* @__PURE__ */ jsxs("li", {
652
652
  children: [
653
- /* @__PURE__ */ jsxDEV("strong", {
653
+ /* @__PURE__ */ jsx("strong", {
654
654
  children: "Binding Corporate Rules"
655
- }, undefined, false, undefined, this),
655
+ }),
656
656
  " where applicable"
657
657
  ]
658
- }, undefined, true, undefined, this)
658
+ })
659
659
  ]
660
- }, undefined, true, undefined, this),
661
- /* @__PURE__ */ jsxDEV("p", {
660
+ }),
661
+ /* @__PURE__ */ jsxs("p", {
662
662
  className: "text-muted-foreground",
663
663
  children: [
664
664
  "You may request more information about these safeguards by contacting us at",
665
665
  " ",
666
- /* @__PURE__ */ jsxDEV("a", {
666
+ /* @__PURE__ */ jsx("a", {
667
667
  href: "mailto:privacy@contractspec.io",
668
668
  className: "text-primary hover:underline",
669
669
  children: "privacy@contractspec.io"
670
- }, undefined, false, undefined, this),
670
+ }),
671
671
  "."
672
672
  ]
673
- }, undefined, true, undefined, this)
673
+ })
674
674
  ]
675
- }, undefined, true, undefined, this),
676
- /* @__PURE__ */ jsxDEV("section", {
675
+ }),
676
+ /* @__PURE__ */ jsxs("section", {
677
677
  className: "mt-10 space-y-4",
678
678
  children: [
679
- /* @__PURE__ */ jsxDEV("h2", {
679
+ /* @__PURE__ */ jsx("h2", {
680
680
  className: "text-foreground text-2xl font-bold",
681
681
  children: "8. Data Retention"
682
- }, undefined, false, undefined, this),
683
- /* @__PURE__ */ jsxDEV("p", {
682
+ }),
683
+ /* @__PURE__ */ jsx("p", {
684
684
  className: "text-muted-foreground",
685
685
  children: "We retain your personal data only for as long as necessary to fulfil the purposes for which it was collected:"
686
- }, undefined, false, undefined, this),
687
- /* @__PURE__ */ jsxDEV("div", {
686
+ }),
687
+ /* @__PURE__ */ jsx("div", {
688
688
  className: "overflow-x-auto",
689
- children: /* @__PURE__ */ jsxDEV("table", {
689
+ children: /* @__PURE__ */ jsxs("table", {
690
690
  className: "text-muted-foreground w-full border-collapse text-sm",
691
691
  children: [
692
- /* @__PURE__ */ jsxDEV("thead", {
693
- children: /* @__PURE__ */ jsxDEV("tr", {
692
+ /* @__PURE__ */ jsx("thead", {
693
+ children: /* @__PURE__ */ jsxs("tr", {
694
694
  className: "border-b border-white/20",
695
695
  children: [
696
- /* @__PURE__ */ jsxDEV("th", {
696
+ /* @__PURE__ */ jsx("th", {
697
697
  className: "text-foreground py-3 pr-4 text-left font-semibold",
698
698
  children: "Data Type"
699
- }, undefined, false, undefined, this),
700
- /* @__PURE__ */ jsxDEV("th", {
699
+ }),
700
+ /* @__PURE__ */ jsx("th", {
701
701
  className: "text-foreground py-3 text-left font-semibold",
702
702
  children: "Retention Period"
703
- }, undefined, false, undefined, this)
703
+ })
704
704
  ]
705
- }, undefined, true, undefined, this)
706
- }, undefined, false, undefined, this),
707
- /* @__PURE__ */ jsxDEV("tbody", {
705
+ })
706
+ }),
707
+ /* @__PURE__ */ jsxs("tbody", {
708
708
  children: [
709
- /* @__PURE__ */ jsxDEV("tr", {
709
+ /* @__PURE__ */ jsxs("tr", {
710
710
  className: "border-b border-white/10",
711
711
  children: [
712
- /* @__PURE__ */ jsxDEV("td", {
712
+ /* @__PURE__ */ jsx("td", {
713
713
  className: "py-3 pr-4 font-medium",
714
714
  children: "Analytics data"
715
- }, undefined, false, undefined, this),
716
- /* @__PURE__ */ jsxDEV("td", {
715
+ }),
716
+ /* @__PURE__ */ jsx("td", {
717
717
  className: "py-3",
718
718
  children: "24 months from collection"
719
- }, undefined, false, undefined, this)
719
+ })
720
720
  ]
721
- }, undefined, true, undefined, this),
722
- /* @__PURE__ */ jsxDEV("tr", {
721
+ }),
722
+ /* @__PURE__ */ jsxs("tr", {
723
723
  className: "border-b border-white/10",
724
724
  children: [
725
- /* @__PURE__ */ jsxDEV("td", {
725
+ /* @__PURE__ */ jsx("td", {
726
726
  className: "py-3 pr-4 font-medium",
727
727
  children: "Waitlist / contact form data"
728
- }, undefined, false, undefined, this),
729
- /* @__PURE__ */ jsxDEV("td", {
728
+ }),
729
+ /* @__PURE__ */ jsx("td", {
730
730
  className: "py-3",
731
731
  children: "Until you request deletion or 24 months after last interaction"
732
- }, undefined, false, undefined, this)
732
+ })
733
733
  ]
734
- }, undefined, true, undefined, this),
735
- /* @__PURE__ */ jsxDEV("tr", {
734
+ }),
735
+ /* @__PURE__ */ jsxs("tr", {
736
736
  className: "border-b border-white/10",
737
737
  children: [
738
- /* @__PURE__ */ jsxDEV("td", {
738
+ /* @__PURE__ */ jsx("td", {
739
739
  className: "py-3 pr-4 font-medium",
740
740
  children: "Account data (when applicable)"
741
- }, undefined, false, undefined, this),
742
- /* @__PURE__ */ jsxDEV("td", {
741
+ }),
742
+ /* @__PURE__ */ jsx("td", {
743
743
  className: "py-3",
744
744
  children: "Duration of account plus 12 months after closure"
745
- }, undefined, false, undefined, this)
745
+ })
746
746
  ]
747
- }, undefined, true, undefined, this),
748
- /* @__PURE__ */ jsxDEV("tr", {
747
+ }),
748
+ /* @__PURE__ */ jsxs("tr", {
749
749
  className: "border-b border-white/10",
750
750
  children: [
751
- /* @__PURE__ */ jsxDEV("td", {
751
+ /* @__PURE__ */ jsx("td", {
752
752
  className: "py-3 pr-4 font-medium",
753
753
  children: "Billing records (when applicable)"
754
- }, undefined, false, undefined, this),
755
- /* @__PURE__ */ jsxDEV("td", {
754
+ }),
755
+ /* @__PURE__ */ jsx("td", {
756
756
  className: "py-3",
757
757
  children: "10 years (French legal requirement)"
758
- }, undefined, false, undefined, this)
758
+ })
759
759
  ]
760
- }, undefined, true, undefined, this)
760
+ })
761
761
  ]
762
- }, undefined, true, undefined, this)
762
+ })
763
763
  ]
764
- }, undefined, true, undefined, this)
765
- }, undefined, false, undefined, this),
766
- /* @__PURE__ */ jsxDEV("p", {
764
+ })
765
+ }),
766
+ /* @__PURE__ */ jsx("p", {
767
767
  className: "text-muted-foreground mt-4",
768
768
  children: "We may retain certain data longer if required by law or to establish, exercise, or defend legal claims."
769
- }, undefined, false, undefined, this)
769
+ })
770
770
  ]
771
- }, undefined, true, undefined, this),
772
- /* @__PURE__ */ jsxDEV("section", {
771
+ }),
772
+ /* @__PURE__ */ jsxs("section", {
773
773
  className: "mt-10 space-y-4",
774
774
  children: [
775
- /* @__PURE__ */ jsxDEV("h2", {
775
+ /* @__PURE__ */ jsx("h2", {
776
776
  className: "text-foreground text-2xl font-bold",
777
777
  children: "9. Your Rights Under GDPR"
778
- }, undefined, false, undefined, this),
779
- /* @__PURE__ */ jsxDEV("p", {
778
+ }),
779
+ /* @__PURE__ */ jsx("p", {
780
780
  className: "text-muted-foreground",
781
781
  children: "As a data subject in the EU, you have the following rights:"
782
- }, undefined, false, undefined, this),
783
- /* @__PURE__ */ jsxDEV("ul", {
782
+ }),
783
+ /* @__PURE__ */ jsxs("ul", {
784
784
  className: "text-muted-foreground list-disc space-y-3 pl-6",
785
785
  children: [
786
- /* @__PURE__ */ jsxDEV("li", {
786
+ /* @__PURE__ */ jsxs("li", {
787
787
  children: [
788
- /* @__PURE__ */ jsxDEV("strong", {
788
+ /* @__PURE__ */ jsx("strong", {
789
789
  className: "text-foreground",
790
790
  children: "Right to access"
791
- }, undefined, false, undefined, this),
791
+ }),
792
792
  " — Request a copy of the personal data we hold about you"
793
793
  ]
794
- }, undefined, true, undefined, this),
795
- /* @__PURE__ */ jsxDEV("li", {
794
+ }),
795
+ /* @__PURE__ */ jsxs("li", {
796
796
  children: [
797
- /* @__PURE__ */ jsxDEV("strong", {
797
+ /* @__PURE__ */ jsx("strong", {
798
798
  className: "text-foreground",
799
799
  children: "Right to rectification"
800
- }, undefined, false, undefined, this),
800
+ }),
801
801
  " ",
802
802
  "— Request correction of inaccurate or incomplete data"
803
803
  ]
804
- }, undefined, true, undefined, this),
805
- /* @__PURE__ */ jsxDEV("li", {
804
+ }),
805
+ /* @__PURE__ */ jsxs("li", {
806
806
  children: [
807
- /* @__PURE__ */ jsxDEV("strong", {
807
+ /* @__PURE__ */ jsx("strong", {
808
808
  className: "text-foreground",
809
809
  children: 'Right to erasure ("right to be forgotten")'
810
- }, undefined, false, undefined, this),
810
+ }),
811
811
  " ",
812
812
  "— Request deletion of your personal data in certain circumstances"
813
813
  ]
814
- }, undefined, true, undefined, this),
815
- /* @__PURE__ */ jsxDEV("li", {
814
+ }),
815
+ /* @__PURE__ */ jsxs("li", {
816
816
  children: [
817
- /* @__PURE__ */ jsxDEV("strong", {
817
+ /* @__PURE__ */ jsx("strong", {
818
818
  className: "text-foreground",
819
819
  children: "Right to restriction"
820
- }, undefined, false, undefined, this),
820
+ }),
821
821
  " ",
822
822
  "— Request that we limit how we use your data"
823
823
  ]
824
- }, undefined, true, undefined, this),
825
- /* @__PURE__ */ jsxDEV("li", {
824
+ }),
825
+ /* @__PURE__ */ jsxs("li", {
826
826
  children: [
827
- /* @__PURE__ */ jsxDEV("strong", {
827
+ /* @__PURE__ */ jsx("strong", {
828
828
  className: "text-foreground",
829
829
  children: "Right to data portability"
830
- }, undefined, false, undefined, this),
830
+ }),
831
831
  " ",
832
832
  "— Receive your data in a structured, machine-readable format"
833
833
  ]
834
- }, undefined, true, undefined, this),
835
- /* @__PURE__ */ jsxDEV("li", {
834
+ }),
835
+ /* @__PURE__ */ jsxs("li", {
836
836
  children: [
837
- /* @__PURE__ */ jsxDEV("strong", {
837
+ /* @__PURE__ */ jsx("strong", {
838
838
  className: "text-foreground",
839
839
  children: "Right to object"
840
- }, undefined, false, undefined, this),
840
+ }),
841
841
  " — Object to processing based on legitimate interests or direct marketing"
842
842
  ]
843
- }, undefined, true, undefined, this),
844
- /* @__PURE__ */ jsxDEV("li", {
843
+ }),
844
+ /* @__PURE__ */ jsxs("li", {
845
845
  children: [
846
- /* @__PURE__ */ jsxDEV("strong", {
846
+ /* @__PURE__ */ jsx("strong", {
847
847
  className: "text-foreground",
848
848
  children: "Right to withdraw consent"
849
- }, undefined, false, undefined, this),
849
+ }),
850
850
  " ",
851
851
  "— Where processing is based on consent, withdraw it at any time"
852
852
  ]
853
- }, undefined, true, undefined, this)
853
+ })
854
854
  ]
855
- }, undefined, true, undefined, this),
856
- /* @__PURE__ */ jsxDEV("p", {
855
+ }),
856
+ /* @__PURE__ */ jsxs("p", {
857
857
  className: "text-muted-foreground mt-4",
858
858
  children: [
859
859
  "To exercise any of these rights, please contact us at",
860
860
  " ",
861
- /* @__PURE__ */ jsxDEV("a", {
861
+ /* @__PURE__ */ jsx("a", {
862
862
  href: "mailto:privacy@contractspec.io",
863
863
  className: "text-primary hover:underline",
864
864
  children: "privacy@contractspec.io"
865
- }, undefined, false, undefined, this),
865
+ }),
866
866
  ". We will respond within one month as required by GDPR."
867
867
  ]
868
- }, undefined, true, undefined, this)
868
+ })
869
869
  ]
870
- }, undefined, true, undefined, this),
871
- /* @__PURE__ */ jsxDEV("section", {
870
+ }),
871
+ /* @__PURE__ */ jsxs("section", {
872
872
  className: "mt-10 space-y-4",
873
873
  children: [
874
- /* @__PURE__ */ jsxDEV("h2", {
874
+ /* @__PURE__ */ jsx("h2", {
875
875
  className: "text-foreground text-2xl font-bold",
876
876
  children: "10. Security"
877
- }, undefined, false, undefined, this),
878
- /* @__PURE__ */ jsxDEV("p", {
877
+ }),
878
+ /* @__PURE__ */ jsx("p", {
879
879
  className: "text-muted-foreground",
880
880
  children: "We implement appropriate technical and organisational measures to protect your personal data against unauthorised access, alteration, disclosure, or destruction. These measures include:"
881
- }, undefined, false, undefined, this),
882
- /* @__PURE__ */ jsxDEV("ul", {
881
+ }),
882
+ /* @__PURE__ */ jsxs("ul", {
883
883
  className: "text-muted-foreground list-disc space-y-2 pl-6",
884
884
  children: [
885
- /* @__PURE__ */ jsxDEV("li", {
885
+ /* @__PURE__ */ jsx("li", {
886
886
  children: "Encryption of data in transit (TLS/HTTPS)"
887
- }, undefined, false, undefined, this),
888
- /* @__PURE__ */ jsxDEV("li", {
887
+ }),
888
+ /* @__PURE__ */ jsx("li", {
889
889
  children: "Encryption of data at rest where appropriate"
890
- }, undefined, false, undefined, this),
891
- /* @__PURE__ */ jsxDEV("li", {
890
+ }),
891
+ /* @__PURE__ */ jsx("li", {
892
892
  children: "Access controls and authentication"
893
- }, undefined, false, undefined, this),
894
- /* @__PURE__ */ jsxDEV("li", {
893
+ }),
894
+ /* @__PURE__ */ jsx("li", {
895
895
  children: "Regular security reviews and updates"
896
- }, undefined, false, undefined, this),
897
- /* @__PURE__ */ jsxDEV("li", {
896
+ }),
897
+ /* @__PURE__ */ jsx("li", {
898
898
  children: "Careful vetting of sub-processors"
899
- }, undefined, false, undefined, this)
899
+ })
900
900
  ]
901
- }, undefined, true, undefined, this),
902
- /* @__PURE__ */ jsxDEV("p", {
901
+ }),
902
+ /* @__PURE__ */ jsx("p", {
903
903
  className: "text-muted-foreground",
904
904
  children: "While we strive to protect your data, no method of transmission over the Internet or electronic storage is 100% secure. We cannot guarantee absolute security but are committed to continuous improvement."
905
- }, undefined, false, undefined, this)
905
+ })
906
906
  ]
907
- }, undefined, true, undefined, this),
908
- /* @__PURE__ */ jsxDEV("section", {
907
+ }),
908
+ /* @__PURE__ */ jsxs("section", {
909
909
  className: "mt-10 space-y-4",
910
910
  children: [
911
- /* @__PURE__ */ jsxDEV("h2", {
911
+ /* @__PURE__ */ jsx("h2", {
912
912
  className: "text-foreground text-2xl font-bold",
913
913
  children: "11. Contact & Complaints"
914
- }, undefined, false, undefined, this),
915
- /* @__PURE__ */ jsxDEV("p", {
914
+ }),
915
+ /* @__PURE__ */ jsx("p", {
916
916
  className: "text-muted-foreground",
917
917
  children: "If you have any questions, concerns, or requests regarding this privacy policy or our data practices, please contact us:"
918
- }, undefined, false, undefined, this),
919
- /* @__PURE__ */ jsxDEV("div", {
918
+ }),
919
+ /* @__PURE__ */ jsxs("div", {
920
920
  className: "text-muted-foreground rounded-lg border border-white/10 bg-white/5 p-4",
921
921
  children: [
922
- /* @__PURE__ */ jsxDEV("p", {
922
+ /* @__PURE__ */ jsxs("p", {
923
923
  children: [
924
- /* @__PURE__ */ jsxDEV("strong", {
924
+ /* @__PURE__ */ jsx("strong", {
925
925
  className: "text-foreground",
926
926
  children: "Email:"
927
- }, undefined, false, undefined, this),
927
+ }),
928
928
  " ",
929
- /* @__PURE__ */ jsxDEV("a", {
929
+ /* @__PURE__ */ jsx("a", {
930
930
  href: "mailto:privacy@contractspec.io",
931
931
  className: "text-primary hover:underline",
932
932
  children: "privacy@contractspec.io"
933
- }, undefined, false, undefined, this)
933
+ })
934
934
  ]
935
- }, undefined, true, undefined, this),
936
- /* @__PURE__ */ jsxDEV("p", {
935
+ }),
936
+ /* @__PURE__ */ jsxs("p", {
937
937
  className: "mt-2",
938
938
  children: [
939
- /* @__PURE__ */ jsxDEV("strong", {
939
+ /* @__PURE__ */ jsx("strong", {
940
940
  className: "text-foreground",
941
941
  children: "Address:"
942
- }, undefined, false, undefined, this),
942
+ }),
943
943
  " CHAMAN VENTURES, 229 rue Saint-Honoré, 75001 Paris, France"
944
944
  ]
945
- }, undefined, true, undefined, this)
945
+ })
946
946
  ]
947
- }, undefined, true, undefined, this),
948
- /* @__PURE__ */ jsxDEV("h3", {
947
+ }),
948
+ /* @__PURE__ */ jsx("h3", {
949
949
  className: "text-foreground mt-6 text-xl font-semibold",
950
950
  children: "Supervisory Authority"
951
- }, undefined, false, undefined, this),
952
- /* @__PURE__ */ jsxDEV("p", {
951
+ }),
952
+ /* @__PURE__ */ jsx("p", {
953
953
  className: "text-muted-foreground",
954
954
  children: "If you are not satisfied with our response or believe we are processing your data unlawfully, you have the right to lodge a complaint with a supervisory authority. In France, the relevant authority is:"
955
- }, undefined, false, undefined, this),
956
- /* @__PURE__ */ jsxDEV("div", {
955
+ }),
956
+ /* @__PURE__ */ jsxs("div", {
957
957
  className: "text-muted-foreground rounded-lg border border-white/10 bg-white/5 p-4",
958
958
  children: [
959
- /* @__PURE__ */ jsxDEV("p", {
960
- children: /* @__PURE__ */ jsxDEV("strong", {
959
+ /* @__PURE__ */ jsx("p", {
960
+ children: /* @__PURE__ */ jsx("strong", {
961
961
  className: "text-foreground",
962
962
  children: "Commission Nationale de l'Informatique et des Libertés (CNIL)"
963
- }, undefined, false, undefined, this)
964
- }, undefined, false, undefined, this),
965
- /* @__PURE__ */ jsxDEV("p", {
963
+ })
964
+ }),
965
+ /* @__PURE__ */ jsx("p", {
966
966
  children: "3 Place de Fontenoy, TSA 80715, 75334 Paris Cedex 07"
967
- }, undefined, false, undefined, this),
968
- /* @__PURE__ */ jsxDEV("p", {
967
+ }),
968
+ /* @__PURE__ */ jsxs("p", {
969
969
  children: [
970
970
  "Website:",
971
971
  " ",
972
- /* @__PURE__ */ jsxDEV("a", {
972
+ /* @__PURE__ */ jsx("a", {
973
973
  href: "https://www.cnil.fr",
974
974
  target: "_blank",
975
975
  rel: "noopener noreferrer",
976
976
  className: "text-primary hover:underline",
977
977
  children: "www.cnil.fr"
978
- }, undefined, false, undefined, this)
978
+ })
979
979
  ]
980
- }, undefined, true, undefined, this)
980
+ })
981
981
  ]
982
- }, undefined, true, undefined, this)
982
+ })
983
983
  ]
984
- }, undefined, true, undefined, this),
985
- /* @__PURE__ */ jsxDEV("section", {
984
+ }),
985
+ /* @__PURE__ */ jsxs("section", {
986
986
  className: "mt-10 space-y-4",
987
987
  children: [
988
- /* @__PURE__ */ jsxDEV("h2", {
988
+ /* @__PURE__ */ jsx("h2", {
989
989
  className: "text-foreground text-2xl font-bold",
990
990
  children: "12. Changes to This Policy"
991
- }, undefined, false, undefined, this),
992
- /* @__PURE__ */ jsxDEV("p", {
991
+ }),
992
+ /* @__PURE__ */ jsx("p", {
993
993
  className: "text-muted-foreground",
994
994
  children: 'We may update this privacy policy from time to time to reflect changes in our practices, technology, legal requirements, or for other operational reasons. We will notify you of any material changes by updating the "Last updated" date at the top of this page.'
995
- }, undefined, false, undefined, this),
996
- /* @__PURE__ */ jsxDEV("p", {
995
+ }),
996
+ /* @__PURE__ */ jsx("p", {
997
997
  className: "text-muted-foreground",
998
998
  children: "We encourage you to review this policy periodically to stay informed about how we protect your data."
999
- }, undefined, false, undefined, this)
999
+ })
1000
1000
  ]
1001
- }, undefined, true, undefined, this),
1002
- /* @__PURE__ */ jsxDEV("div", {
1001
+ }),
1002
+ /* @__PURE__ */ jsx("div", {
1003
1003
  className: "mt-12 border-t border-white/10 pt-8",
1004
- children: /* @__PURE__ */ jsxDEV("p", {
1004
+ children: /* @__PURE__ */ jsxs("p", {
1005
1005
  className: "text-muted-foreground text-sm",
1006
1006
  children: [
1007
1007
  "For questions about this privacy policy, please contact us at",
1008
1008
  " ",
1009
- /* @__PURE__ */ jsxDEV("a", {
1009
+ /* @__PURE__ */ jsx("a", {
1010
1010
  href: "mailto:privacy@contractspec.io",
1011
1011
  className: "text-primary hover:underline",
1012
1012
  children: "privacy@contractspec.io"
1013
- }, undefined, false, undefined, this)
1013
+ })
1014
1014
  ]
1015
- }, undefined, true, undefined, this)
1016
- }, undefined, false, undefined, this)
1015
+ })
1016
+ })
1017
1017
  ]
1018
- }, undefined, true, undefined, this)
1019
- }, undefined, false, undefined, this)
1020
- }, undefined, false, undefined, this);
1018
+ })
1019
+ })
1020
+ });
1021
1021
  }
1022
1022
  export {
1023
1023
  metadata,