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