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