Demo Mode — viewing sample data. Sign in to connect your real GitHub and Google Drive accounts.
GH Backup
Dashboard

GitHub → Google Drive Backup

Automated daily backups of all your repositories — source code, issues, PRs, releases, wiki, labels & milestones.

Daily at 02:00 UTC Tokens stay in browser Public & private repos
Repositories
Backup Sessions
Last Backup
Active Runs
Recent Workflow Runs
Last 8 runs across all workflows

Loading…

Google Drive not connected. Connect in Settings →
Select Repositories

Loading…

Backup Options
What to include
GitHub Orgs (comma-separated)
Back up repositories across multiple organisations in one run.
GitLab Token (optional source)
Provide a GitLab personal access token to also mirror GitLab projects.
Google Drive Folder ID
Paste the full Drive URL or just the folder ID
Connect Google Drive in Settings to browse backup sessions and select repos to restore.
Backup Sessions

Loading sessions…

Restore Options
Session
Select a session from the list or connect Drive to populate
Repositories
Comma-separated repo names, or leave blank for all
Target GitHub owner

Loading…

GitHub Connection
Token stored in localStorage — only sent to api.github.com
Personal Access Token
Required scopes: repo, workflow, read:org, read:user
GitHub Username / Org to back up
Storage Target
Choose where backups are written
Google Drive Connection
Sign in to browse your backup folder live from this dashboard
Google OAuth Client ID
From Google Cloud Console → Create OAuth 2.0 Client ID (Web app) → add https://omarrao.github.io as an authorised origin.
or paste access token
Repository Secrets for GitHub Actions
Add these 5 secrets under Settings → Secrets → Actions
Open Secrets →
Secret Description Status
GH_BACKUP_TOKEN GitHub PAT with repo, workflow, read:org, read:user pending
GH_USER Your GitHub username or org to back up pending
GDRIVE_FOLDER_ID Google Drive folder ID (from Drive URL) pending
GOOGLE_CLIENT_SECRET Full JSON of credentials/google-client-secret.json pending
GOOGLE_TOKEN Full JSON of credentials/google-token.json (from one-time CLI auth) pending
Setup Wizard
Step 1 of 5
About
OR
Omar Rao
Cybersecurity, Privacy and Resilience Expert
GitHub Accounts
Back up from multiple GitHub accounts or organisations
Active Account

Select which account to use for backup and restore operations.

Backup Retention
Auto-delete Drive sessions older than a threshold
The cleanup workflow will remove Drive sessions older than this. Requires GDRIVE_FOLDER_ID and GOOGLE_TOKEN secrets.
Run Cleanup Now

Manually trigger the cleanup workflow to remove sessions beyond your retention period.

Restore Allow-list
Only listed GitHub usernames may dispatch the restore workflow from this dashboard. Leave empty to allow all.

Empty — all users permitted.

SLA Configuration
Set your required backup frequency to track SLA compliance
SLA badges appear on the Dashboard when the last backup is overdue. Yellow = at risk, red = breached.
Security Settings
Encryption and security options
Check this if you have set the BACKUP_ENCRYPTION_KEY GitHub Actions secret. This is for display purposes only — the actual encryption is controlled by the secret.
Total Backups
Success Rate
Failed Runs
Current Streak
Backup Size Over Time
Example data — connect Google Drive to see live size data
Connect Google Drive to see live size data
Backup History
Last 30 backup workflow runs

Loading…

Restore History
Last 10 restore workflow runs

Loading…

Run Details
Duration, trigger, and conclusion for each backup run
Run Status Trigger Started Duration Link
Loading…
Audit Log
Last 50 backup and restore events

Click Refresh to load audit log.

Session Diff
Compare two backup sessions to see what changed
Session A (older)
Session B (newer)

Select two sessions above and click Compare.

Trends
Last 10 sessions — size, duration, success rate
Backup Size (per session)
Run Duration (trend)
Success Rate (per week)

GitHub Backup Compliance Report

Project: github-gdrive-backup

Generated:


Configuration

Backup schedule: Daily at 02:00 UTC

Retention policy:

Storage target:


Last 90 Days — Run Summary

Total runs:

Successful:

Failed:

Success rate:


Recent Runs

RunStatusStartedDuration

This report was generated from live GitHub Actions data. Tokens are stored only in the browser and never transmitted to any server other than api.github.com.