CYBBACK|for GitHub
Quick User Guide

Your first GitHub backup
in under 10 minutes.

From sign-up to a fully encrypted, restorable snapshot of your GitHub footprint — code, settings, teams, webhooks, Actions workflows. This guide walks you through every step.

AudienceDevOps & engineering leads
Reading time~ 8 minutes
Setup time~ 10 minutes
VersionEN — 2026
What you'll learn

6 steps to a production-ready backup

1
Get started

Sign up — trial or paid licence

CYBBACK offers two ways to get started. Both unlock the full GitHub feature set.

Option A — Free trial

  1. Open cybback.com/essai-gratuit.
  2. Fill in your work email, company and a password. Click Start free trial.
  3. Confirm via the verification email.
  4. On the trial selection screen, pick GitHub. Your trial workspace is provisioned instantly.
Painless onboarding

Trial accounts get the full GitHub feature set — encryption, BYOB, scheduling, cross-owner restore. Switch to a paid plan at any moment without losing data.

Option B — Paid licence (Stripe checkout)

  1. Go to cybback.com/tarifs and pick the GitHub plan that matches the number of GitHub owners (user / organisations) to protect.
  2. Click Subscribe. Stripe Checkout supports cards, SEPA and invoicing on annual plans.
  3. Your licence is active immediately — visible under Account → Subscription.
2
Connect GitHub

Generate a Personal Access Token (PAT)

CYBBACK reads your GitHub data through a Personal Access Token. Pick the type that matches your governance — both classic and fine-grained PATs are supported.

Option A — Classic PAT (simplest)

  1. Open github.com/settings/tokens/new.
  2. Note: CYBBACK Backup. Expiration: 90 days (set a calendar reminder to rotate).
  3. Tick the repo scope (covers all repository contents, issues, PRs, releases, webhooks). Add read:org if you want to back up org-owned repos.
  4. Click Generate token and copy the value (it will not be shown again).

Option B — Fine-grained PAT (recommended for orgs)

  1. Open github.com/settings/personal-access-tokens/new.
  2. Resource owner: your user, or the organisation you want to back up.
  3. Repository access: All repositories or specific ones.
  4. Permissions (Repository): Contents: Read, Metadata: Read, Issues: Read, Pull requests: Read, Webhooks: Read, Actions: Read & write (write needed only to restore variables).
  5. Click Generate and copy the value.
PAT rotation reminder

GitHub PATs always expire. CYBBACK will start failing silently if the token expires. Set a calendar reminder a week before expiration to generate a new one and update the credential in Settings.

Paste the PAT into CYBBACK

  1. Open app.cybback.com/dashboard/github-backupConfiguration.
  2. Paste the PAT and click Validate. CYBBACK calls GET /user to confirm the token works and fetches your username + accessible orgs.
  3. The PAT is encrypted (AES-256-GCM) and stored in the CYBBACK vault.
app.cybback.com/dashboard/github-backup
Dashboard
Configuration
Personal Access TokenEncrypted at rest

Classic (repo scope) or fine-grained PAT.

 ✓ @octocat — orgs: acme-corp, internal-tools
3
Repository selection

Pick what to back up

CYBBACK can back up every repository the PAT can see, or only a hand-picked subset. You can also tune which categories of data to capture per backup.

Scope

What to include

Each backup can include or skip these categories independently:

Incremental forever

The git bundle is automatically skipped for any repo whose pushed_at hasn't changed since the previous backup. So a daily backup of 100 stable repos transfers virtually nothing — only metadata for the 2 or 3 repos with new commits.

4
Bring Your Own Bucket

Use your own S3-compatible storage

Want full data sovereignty? Point CYBBACK at your S3-compatible bucket — AWS S3, GCS, Scaleway, OVH, Wasabi, MinIO. Your data, your provider, your region.

Provision the bucket

  1. In your S3 provider, create a private bucket (no public access, versioning recommended).
  2. Create an access key / secret key with permissions limited to that bucket.
  3. Note your endpoint URL and region.

Configure CYBBACK

  1. Open Dashboard → Storage.
  2. Select My own S3 storage.
  3. Fill the form, click Test connection, then Save.
Dashboard → Storage
S3 ConfigurationEncrypted at rest
 
5
First backup

Run your first backup

You're now fully configured. Time to run your first GitHub snapshot — manually for instant peace of mind, then schedule recurring runs.

Manual backup

  1. Go back to the Dashboard tab.
  2. Click Run backup now. The job appears with status pending, then running.
  3. Progress is streamed live: PAT validated, repos enumerated, bundles uploaded, metadata snapshots saved.

Schedule automatic backups

  1. From Dashboard → Schedules, click New schedule.
  2. Service: GitHub. Frequency: Daily / Weekly / Custom (cron).
  3. Pick a window (e.g. 04:00 Europe/Paris) and click Save.

Track your backups

Rate limits

Classic PATs cap at 5,000 REST requests per hour. CYBBACK respects the x-ratelimit-remaining header and pauses automatically. For accounts with hundreds of repos and frequent backups, consider a dedicated PAT per worker.

6
Restore

Restore — cross-owner & granular

CYBBACK restores from any previous GitHub snapshot. Push a single repo back to its original owner, fork it to an alternate user/org, or roll back the entire account in case of compromise.

The 3-step restore flow

  1. Selection. Open the snapshot, browse the repos, tick what you want to recover. Pick the categories to restore (code, settings, webhooks, workflows, variables).
  2. Options. Choose your safety net:
    • Dry-run — simulate, no GitHub API write, no git push.
    • Force overwritegit push --mirror --force, replaces the target history. Use only if you trust the snapshot.
    • Target owner — leave empty to restore to the original owner, or specify another user/org. Combine with a repo-name suffix (-restored) to avoid collisions.
  3. Execution. The async worker downloads the bundle from S3, pushes via git push --mirror, then recreates webhooks + Actions variables via REST. A summary shows what was created, updated or skipped.
Dashboard → GitHub → Restore
1. Selection
2. Options
3. Execution
Restore options3 repos · code + settings + webhooks
Dry-runSimulate without writing to GitHub
Force overwrite (push --mirror --force)Replace the target history with the snapshot
 

Best practices

Actions secret values cannot be restored

GitHub never returns secret values via API. Backups capture only the names. After restoring a repo, your team will need to re-enter the secret values in the GitHub UI — the names list helps avoid forgetting any.

You're all set.

Need help? Our team replies within one business day on every plan.

Contact support →