Security and import limits
Provider access
Section titled “Provider access”- 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.
Safety guarantees
Section titled “Safety guarantees”- 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.
Import envelope
Section titled “Import envelope”| 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.
Not currently copied
Section titled “Not currently copied”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.