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