Skip to main content
Percher is still being built and account creation is paused — get notified when it opens.

Percher — Data Portability Register

Effective date: 10 September 2026 Last updated: 10 September 2026 Register version: 1.0 API specification version: 1.0.0 (OpenAPI 3.1.0)

This register forms part of the Percher Terms of Service. It describes the switching interfaces, data structures, formats, standards, known technical limits and infrastructure information required by Articles 26 and 28 of Regulation (EU) 2023/2854 (the Data Act).

1. Export interfaces and authentication

All paths below use https://api.percher.run as the base URL. "Bearer" means a Percher API token belonging to the Application owner. The machine-readable interface definition is the Percher OpenAPI specification.

ExportInterface and authenticationResponse format
Account snapshotGET /account/export — BearerJSON object described in Section 2
Application bundlePOST /apps/{appRef}/export/mint — Bearer; then one-time GET /export/download/{token} where the token is the download credentialgzip-compressed tar archive (.tar.gz) described in Section 2
Application bundle with Environment Variable valuesDashboard Application export — authenticated browser session plus fresh password confirmation; then one-time downloadSame .tar.gz layout, with the additional secret-value files described in Section 2. Secret values are not available through Bearer-authenticated API, CLI or MCP export.
Git history availabilityGET /apps/{appRef}/export/git/check — Bearer, owner onlyJSON with ok and estimatedBytes
Git historyGET /apps/{appRef}/export/git — Bearer, owner onlyGit bundle (application/x-git-bundle, .bundle)
PocketBase snapshot availabilityGET /apps/{appRef}/data/export/check — Bearer, owner onlyJSON status
PocketBase dataGET /apps/{appRef}/data/export — Bearer, owner onlygzip-compressed tar archive (.tar.gz) of the available pb_data directory

Self-service export can start immediately; assisted switching is requested as described in Terms Section 15.6. The destination provider or customer is responsible for importing and operating the Application.

2. Data structures and archive layout

2.1 Account snapshot

The JSON root contains exportedAt, user, apiTokens, alertPreferences, sharedAccess, apps, supportCases, withdrawalReceipts, dataExportUrls, perAppExports and _note. Application entries contain the Application record, deploy records, Environment Variable names and custom domains. API-token secrets, Environment Variable values and large build logs are excluded; large or per-Application data is represented by authenticated export pointers.

2.2 Application bundle

The archive has one root directory named from the Application and export date:

<application>-YYYY-MM-DD/
  source/**
  README.md
  percher.toml
  env-keys.json
  domains.json
  deploy-history.json
  env-values.json                 # only after fresh password confirmation
  env-values-by-scope.json        # only after fresh password confirmation
  pocketbase/schema.json          # where automated PocketBase export is available
  pocketbase/pb_data.zip          # where automated PocketBase backup is available
  pocketbase/README.md             # otherwise, manual export instructions

env-keys.json contains keys and a note. domains.json contains verified. deploy-history.json is an array of objects with deploy identifier, status, type, commit references, note and timestamps. env-values.json is a key/value object. env-values-by-scope.json contains rows, each with key, scope and value. pocketbase/schema.json contains the exported PocketBase collections schema.

2.3 Git and PocketBase exports

The Git export is the complete history available in Percher's Application repository, in Git bundle format, verifiable and clonable with native Git bundle commands. The direct PocketBase export preserves the available pb_data directory tree in a .tar.gz archive for import into a compatible PocketBase installation.

3. Formats, standards and versioning

Percher updates this register when a supported structure, format or interface changes materially. No proprietary importer is required.

4. Known restrictions and technical limits

  • An Application bundle requires a live deployment; keep undeployed source in your own repository.
  • Application export links are single-use, expire after 15 minutes and are limited to 10 export-link creations per Application per user in 24 hours.
  • Environment Variable values require recent password confirmation in the dashboard. Bearer-authenticated API, CLI and MCP exports exclude them by design.
  • Git self-service export is limited by repository and bundle size, generation time and concurrency. The current default size limit is 1 GiB and the current generation timeout is 180 seconds. The daily limit per Application is 3 exports on Free and Starter, 10 on Maker and 30 on Max.
  • Direct PocketBase export requires a running PocketBase Application. The daily limit per Application is 1 export on Free and Starter, 2 on Maker and 5 on Max.
  • PocketBase data in an Application bundle requires the Application backup endpoint to be reachable; otherwise the bundle contains manual export instructions.
  • Only available deploy and repository history is exported. Build artifacts, dependency caches and other reproducible platform artifacts are not portable assets.
  • Internal control-plane credentials, security signals, abuse-detection rules, infrastructure configuration, internal identifiers and aggregated service metrics are excluded as described in Terms Section 15.6.

If a self-service limit prevents a complete export, contact support@percher.app for assisted switching.

5. Infrastructure jurisdiction

Percher is operated by Kaizensu AB in Sweden. Core hosting, storage and backups are kept in the EEA, currently in Germany and Finland, and are subject to EU law and the laws of Sweden, Germany and Finland depending on the operation and location. Providers and processing locations are listed in the Privacy Policy and Subprocessor Notice.

6. Protection against unlawful international government access

For non-personal data stored in the Union, Percher uses EEA-based core storage, controlled and logged administrative access, tenant, workload and network separation, least privilege, encryption in transit, encryption of stored secret values and backups, data minimisation, limited retention, contractual provider review, and review of government requests for a valid legal basis, scope and authority. Requests are rejected or challenged where legally permitted and reasonably available. These measures do not prevent disclosure that binding EU or Member State law requires. Personal-data transfers are governed by the GDPR, the Privacy Policy and, where applicable, the DPA.

7. Contact and language

Questions about switching, formats or limitations: support@percher.app Legal and data-access questions: legal@percher.app

The English and Swedish versions are intended to have the same meaning. If they differ, the English version prevails, without limiting mandatory rights.


*Last updated: 10 September 2026* *© 2026 Kaizensu AB — Percher, percher.app*