Skip to content

Security and import limits

  • Sync uses the GitHub App installation and repository selected during setup.
  • GitHub access is short-lived and restricted to the selected repository. Backup-only access does not grant Sync permission to write to GitHub.
  • A personal Gitdown target is Private and an organization target is Internal. Sync never creates a Public target.
  • Two-way mode, reauthorization, and disconnect require a human. Repository grants may allow agents to inspect and respond to incidents, but cannot grant those human-only controls.
  • Sync never bypasses Gitdown’s current branch-protection policy and never automatically merges competing histories.
  • Browser and API responses omit provider tokens, Git credentials, and private recovery identifiers.
Resource Current limit
Packed Git data 5 GiB
Unique Git LFS data per connection 25 GiB
One Git LFS object 5 GiB
Included refs 4,000
Git object format SHA-1

The first import requires an empty Gitdown target or refs that are provably identical. Git LFS objects are transferred and digest-verified before the refs that need them are made current. Interrupted transfers can resume without treating incomplete Git or LFS data as a successful import.

If local transfer capacity is exhausted, status reports a retryable runtime outage. A provider or Gitdown capacity response remains attributed to that dependency so callers can choose the correct recovery action.

Sync does not traverse recursive submodules or follow external .lfsconfig files. It does not copy issues, pull requests, repository settings, provider-only refs, Git notes, or LFS locks. Git SHA-256 repositories and providers other than GitHub are not currently supported.