{
  "schema_version": "2026-07-18",
  "last_verified": "2026-07-18",
  "service": "LabRat",
  "register_purpose": "EU Data Act data-structure, format, switching, and infrastructure-jurisdiction information.",
  "human_readable_policy": "https://labrat.solvin-apps.com/switching-portability/",
  "contact": "support@solvin-apps.com",
  "current_export_interfaces": [
    {
      "name": "Authenticated privacy and account export",
      "method": "POST",
      "path": "https://labrat.solvin-apps.com/api/privacy/exports",
      "status_method": "GET",
      "status_path_template": "https://labrat.solvin-apps.com/api/privacy/exports/{export_id}",
      "download_method": "GET",
      "download_path_template": "https://labrat.solvin-apps.com/api/privacy/exports/{export_id}/download",
      "authentication": "Supabase bearer session for the exporting account",
      "control_media_type": "application/json",
      "download_media_type": "application/x-ndjson",
      "encoding": "UTF-8",
      "availability": "Durable asynchronous generation with status polling and a retained download in Account -> Privacy Request Center"
    },
    {
      "name": "Project and handoff exports",
      "method": "Product UI or support-assisted export",
      "authentication": "Authorized workspace access",
      "media_types": [
        "application/json",
        "text/markdown",
        "application/pdf where the selected product export supports it"
      ],
      "availability": "Depends on the artifact and workspace role"
    }
  ],
  "export_categories": [
    "Account profile and workspace memberships",
    "Owned workspaces and workspace settings",
    "Projects, captures, sources, research jobs and reports",
    "Scores, competitors, demand scans and generated ideas",
    "Requirements, blueprints, previews, packages and handoff records",
    "Usage counters and subscription records",
    "Local App Key and push-device records",
    "Privacy preferences, privacy requests and legal acceptances"
  ],
  "self_service_export_sections": [
    "_metadata",
    "account",
    "workspace_memberships",
    "owned_workspaces",
    "app_keys",
    "push_devices",
    "privacy_preferences",
    "privacy_requests",
    "privacy_request_events",
    "privacy_deletion_tombstones",
    "legal_acceptances",
    "revenuecat_customers",
    "admin_audit_involvement",
    "requested_billing_price_syncs",
    "requested_billing_promotions",
    "authored_workspace_data",
    "owned_workspace_data",
    "artifact_attachments"
  ],
  "owned_workspace_entity_tables": [
    "builder_profiles",
    "builder_memory_rules",
    "builder_memory_events",
    "captures",
    "competitors",
    "demand_scan_runs",
    "demand_items",
    "handoff_prompts",
    "idea_session_runs",
    "product_scores",
    "project_blueprints",
    "project_package_files",
    "project_packages",
    "projects",
    "requirement_change_events",
    "requirement_nodes",
    "requirement_sets",
    "requirement_versions",
    "research_jobs",
    "research_reports",
    "subscriptions",
    "usage_counters",
    "visual_previews",
    "workspace_settings"
  ],
  "exclusions_and_limits": [
    "Secret values, access tokens, passwords and provider API keys are omitted rather than exported in plaintext.",
    "The self-service account export includes complete workspace content only for workspaces owned by the requester.",
    "Other users' private profile details, provider-confidential material, security controls and third-party intellectual property are excluded.",
    "A workspace owner may request an assisted export when a destination needs a documented field mapping or another commonly used structured format."
  ],
  "switching_process": {
    "request_route": "mailto:support@solvin-apps.com?subject=LabRat+service+switching+request",
    "maximum_notice_period_calendar_days": 60,
    "normal_transition_period_calendar_days": 30,
    "minimum_post_transition_retrieval_period_calendar_days": 30,
    "switching_charge_eur": 0,
    "continuity": "LabRat will use reasonable care to preserve service continuity and security during the agreed transition period.",
    "completion": "After successful retrieval and any required legal-retention period, eligible exportable data is erased or de-identified under the deletion workflow."
  },
  "infrastructure_jurisdictions": [
    {
      "component": "Core database and authentication",
      "provider": "Supabase",
      "configured_region": "us-west-1",
      "jurisdiction": "United States"
    },
    {
      "component": "CDN, edge security and Workers API execution",
      "provider": "Cloudflare",
      "configured_region": "Global network; no repository-declared Cloudflare Regional Services restriction",
      "jurisdiction": "May include countries where Cloudflare and its subprocessors operate, subject to the applicable service agreement and transfer safeguards"
    },
    {
      "component": "Optional analytics, crash reporting and notifications",
      "provider": "Google Firebase / Google Analytics",
      "configured_region": "Provider service locations; optional Analytics and Crashlytics are disabled by default",
      "jurisdiction": "As described in the applicable Google/Firebase service terms"
    },
    {
      "component": "AI, web search and payment routes",
      "provider": "LabRat hosted AI, a Local BYOK provider, or the selected checkout provider",
      "configured_region": "Depends on the provider and account selected or enabled",
      "jurisdiction": "As described in the selected provider agreement"
    }
  ],
  "non_personal_data_access_safeguards": [
    "Encrypted transport, authenticated access, tenant and workspace authorization, and row-level protections.",
    "Provider DPAs and transfer mechanisms are reviewed before a provider is enabled for production personal-data processing.",
    "Stored provider secrets are encrypted and secret values are redacted from API responses and exports.",
    "Government-access requests are assessed for legal validity and challenged where the applicable provider agreement and law permit."
  ]
}
