Hoq Repos
Git hosting where AI agents get scoped keys and never count as seats.
What it does
Hoq Repos hosts git repositories at git.hoq.app over HTTPS and SSH, with a web app at repo.hoq.app for browsing code, review and access. Repositories sit under a person or an organization, in groups up to eight deep.
Each owner's repositories are encrypted with AES-256-GCM under a key of their own and stored in Cloudflare R2. Every accepted push is stored as a version before git is told it succeeded, so you can put branches and tags back to how they were at any push. A nightly copy goes to a second provider and keeps deleted data for 60 days.
Agent keys carry their own name, reach only the repositories or organizations you choose, and can be paused at once. On protected branches an agent's work arrives as a change for a person to review. Agents can also list, read, search and compare repositories over MCP without cloning.
In numbers
Specifications
| Protocols | Git over HTTPS and SSH at git.hoq.app; MCP for agents; signed webhooks. |
|---|---|
| Encryption at rest | AES-256-GCM with a data key per owner (person or organization). Hoq holds the keys so it can serve your code; this is not end-to-end encryption. |
| Where data lives | Repository data encrypted in Cloudflare R2, with a nightly copy at Wasabi in Oregon. Servers are in the United States. |
| Push durability | Every accepted push is stored as a version before git reports success, and branches and tags can be restored to any push with a preview first. |
| Backup retention | Deleted data stays in the nightly backup copy for 60 days, then is dropped. |
| Closing an account | Removes your repositories, keys and settings and destroys the encryption key, so any backup copy left can no longer be read. |
| Push protection | A push that adds what looks like a live key, token or private key is refused. A person can push past it on purpose; an agent key cannot. |
| CI | GitHub Actions workflows from .hoq/workflows or .github/workflows run on runners you add (Gitea's open-source runner). In beta. |
| Webhooks | Signed posts to your URLs, retried for about eight hours. |
| AI and your code | Your code, commit messages and comments are never used to train AI models. Story summaries send only commit messages, and stay off until an admin turns them on. |
Features
90 features: 78 shipped, 12 in beta. Listed from the product's feature ledger; each row shows the day it was last checked.
| Clone and push | Hosts git repositories at git.hoq.app over HTTPS and SSH. | Shipped | Checked 2026-10-02 |
| SSH and HTTPS keys | Adds SSH keys and HTTPS clone keys to your account, and lists or revokes them. | Shipped | Checked 2026-10-02 |
| Encrypted storage | Stores every owner's repositories encrypted under a key of their own. | Shipped | Checked 2026-10-02 |
| Push log | Records every push with the commits, files and checks it brought in. | Shipped | Checked 2026-10-02 |
| Restore | Puts branches and tags back to how they were at any push, with a preview first, in either view. | Shipped | Checked 2026-10-03 |
| Mirrors | Follows another repository, or copies every new push to one elsewhere. | Shipped | Checked 2026-10-02 |
| Import from another host | Copies every branch and tag from any https git address once, with an optional token for a private one, and then it is an ordinary repository. | Shipped | Checked 2026-10-03 |
| Push protection | Refuses a push whose new commits add what looks like a live secret, tells the person behind the key, and lets a repository admin allow exactly that line; a person can also push past it on purpose, an agent cannot. | Shipped | Checked 2026-10-03 |
| Webhooks | Posts a signed message to your URLs when something happens, retrying for about eight hours. | Shipped | Checked 2026-10-02 |
| Standby server | Keeps a second git server running that can take over if the main one fails; the switch-over is not automatic yet. | Beta | Checked 2026-10-02 |
| Deploy keys | Gives one repository its own SSH key or HTTPS token, read-only or read and push, that belongs to the repository rather than a person. | Shipped | Checked 2026-10-03 |
| Off-site backup | Copies every repository's encrypted data to a second storage provider each night, keeping deleted data for 60 days. | Shipped | Checked 2026-10-03 |
| Code browser | Shows files, folders, READMEs, raw files and blame, with the last commit on each file. | Shipped | Checked 2026-10-02 |
| Code search | Searches a repository's code, with regex and case options. | Shipped | Checked 2026-10-02 |
| Commits and diffs | Lists commits and shows each one's changes, side by side or unified. | Shipped | Checked 2026-10-02 |
| Signed commits | Marks commits signed by a known person, by an unknown key, or with a bad signature. | Shipped | Checked 2026-10-02 |
| Branches and tags | Shows branches as lanes with their checks and changes, lists tags, and creates or deletes a branch or tag from the browser. | Shipped | Checked 2026-10-03 |
| Compare | Compares any two branches, tags, commits or pushes, and saves a compare to share as a link. | Shipped | Checked 2026-10-02 |
| Downloads | Downloads a file or the whole repository as an archive. | Shipped | Checked 2026-10-02 |
| Go to anything | Jumps to any repository, file, branch, tag, commit or push from one search box. | Shipped | Checked 2026-10-02 |
| Repository stats | Shows a repository's lines of code by language, commits, contributors, age, size and largest files. | Shipped | Checked 2026-10-03 |
| Since you last looked | Shows what was pushed since your last visit, with a count on the repository list. | Shipped | Checked 2026-10-02 |
| Edit files | Edits, adds, uploads and deletes files in the browser and commits to a branch or a new one. | Shipped | Checked 2026-10-02 |
| Hoq Storage in and out | Adds files from your Hoq Storage drive and saves files from a repository back to it. | Shipped | Checked 2026-10-02 |
| Changes | Opens a change from a branch and merges it by merge, squash or fast-forward, can delete the branch afterwards, and gives fix-up commands for conflicts. | Shipped | Checked 2026-10-03 |
| Comments | Discusses a change or a single line, with replies, resolving and an outdated note when the line moves. | Shipped | Checked 2026-10-02 |
| Revisions | Shows what each push to a change altered, compares any two, and marks files you have viewed. | Shipped | Checked 2026-10-02 |
| Approvals | Requires approval before a change can merge, if the repository turns the rule on. | Shipped | Checked 2026-10-02 |
| Checks | Shows test results posted against commits, and can block a merge until they pass. | Shipped | Checked 2026-10-02 |
| Required checks | A protected branch names the checks a change into it needs passing; a missing one counts as pending, and hoq-ci/ names can only be reported by Hoq CI. | Shipped | Checked 2026-10-04 |
| Merge when ready | A person or an agent asks a change to merge itself; it merges the moment its approvals, code owners and checks are in, as whoever asked, and stops with a reason if it starts to conflict. | Shipped | Checked 2026-10-08 |
| Code owners | A CODEOWNERS file on the target branch names who owns which paths; with the rule on, a change needs one owner's approval for every file it touches. | Shipped | Checked 2026-10-08 |
| CI on your own runners | Pushes and change requests run GitHub Actions workflows from .hoq/workflows (or .github/workflows) on runners the owner adds (Gitea's open-source runner), with needs, matrices and secrets, each job reporting a hoq-ci/ check with a live log. | Beta | Checked 2026-10-04 |
| CI artifacts | upload-artifact@v4 and download-artifact@v4 work unmodified on runner 4.1+; artifacts are listed on the run with a download link, count as repository storage, and expire after seven days (up to thirty). | Beta | Checked 2026-10-04 |
| CI cancel and concurrency | People and agents cancel a job or a whole run (a running job stops within seconds); workflow concurrency groups keep one run in progress, cancel waiting ones, and cancel-in-progress when asked. | Beta | Checked 2026-10-04 |
| CI manual and scheduled runs | Workflows with workflow_dispatch run by hand from the CI page or over MCP with typed, checked inputs; on: schedule crons run in UTC on the default branch, at most every five minutes. | Beta | Checked 2026-10-04 |
| CI log secret scan | Keys and tokens a job prints are hidden before the log line is stored, listed with push-protection findings, and the person who started the run is told. | Beta | Checked 2026-10-04 |
| CI reusable workflows | Jobs that call a workflow with jobs.<id>.uses run it inside one task, with inputs and outputs; local ones come from the same commit, another repository's must be public. | Beta | Checked 2026-10-04 |
12 more in Changes and review
| CI last green and flaky | A failed job shows when the same job last passed (same branch, else the default branch), the commits since, and whether it has failed then passed on a re-run of the same commit; agents get the same in ci_failure_summary. | Beta | Checked 2026-10-04 |
| CI secrets | Admins set secrets per repository or per owner (for every repository or chosen ones); values are encrypted, masked in logs, and never given to commits pushed with an agent key or to a workflow an agent last changed until a person approves it. | Beta | Checked 2026-10-04 |
| CI for agents | Agents read a commit's CI, a short failure summary with log line numbers and any range of the log, and re-run a job, at most six times per commit, over MCP. | Beta | Checked 2026-10-04 |
| Issues | Opens, discusses, labels, assigns and closes issues kept in the repository itself, closed automatically when a merged change says "fixes #N". | Shipped | Checked 2026-10-04 |
| Review kept in the repo | Change requests with their comments and approvals, and releases with their file lists, are written into the repository itself within moments of every change, so git can fetch them and they survive without our database. | Shipped | Checked 2026-10-04 |
| Releases | Names a tag with notes (written for you from the changes since the last release on request) and files to download, as drafts, pre-releases or published releases. | Shipped | Checked 2026-10-04 |
| Protected branches | Refuses force-pushes or deletion on chosen branches, and can require that work only arrives through a change. | Shipped | Checked 2026-10-03 |
| Inbox | Collects changes that need you, grouped with their checks and latest discussion, with approve and reply in place. | Shipped | Checked 2026-10-02 |
| Daily email | Sends one email a day, at the hour you pick in your own time zone, listing what came into your inbox, with a one-click link to stop it. | Shipped | Checked 2026-10-03 |
| Push notifications | Sends the daily summary, and optionally instant alerts for changes, mentions, approvals and failed checks, to your phone or computer as browser notifications. | Beta | Checked 2026-10-03 |
| Watching | Chooses how closely to follow each repository, with an unread count. | Shipped | Checked 2026-10-02 |
| Add to my Todo | Puts an open change on your Hoq Todo list; merging finishes the Todo task, closing lets it go, reopening brings it back. | Beta | Checked 2026-10-04 |
| Owners and groups | Organizes repositories under a person or an organization, in groups and subgroups up to eight deep (`owner/a/b/repo`), made from the owner or group page, that you can rename, delete when empty, and move repositories between. | Shipped | Checked 2026-10-08 |
| Public repositories | An owner admin makes a repository public: anyone reads it on repo.hoq.app and clones it over HTTPS without signing in, while pushing and commenting still need an account; visitors see people by name and handle, never by email, and not who else has access. | Shipped | Checked 2026-10-20 |
| Signed-out links | Someone signed out who opens a link to something that is not public is told it may be private and offered sign-in, which brings them back to that page. | Shipped | Checked 2026-10-20 |
| Teams and access | Gives a person (by email) or a team read, write or admin access to a repository or a whole group (reaching every subgroup below it), and renames or deletes teams. | Shipped | Checked 2026-10-08 |
| Agent keys | Marks a key as an AI agent's with its own name, limits it to chosen repositories or whole organizations, can let it create repositories there or organise them (groups, rename, move, archive, trash, never grants or purging), and pauses one or all agents. | Shipped | Checked 2026-10-08 |
| Agent access without cloning | Lets an AI agent list, read, search and compare repositories through an MCP endpoint, with a ready-to-copy setup on the keys page. | Shipped | Checked 2026-10-03 |
| Agents organise repositories | Over MCP an agent lists and creates groups and subgroups, renames, moves, describes and archives repositories, and moves them to the trash and back, where its key is allowed to organise. | Shipped | Checked 2026-10-08 |
| Agent changes | Sends an agent's work on protected branches through a change, and shows agent activity with a pause button. | Shipped | Checked 2026-10-02 |
| Protected tags | Admins protect tag patterns (v*, release/**): a matching tag is never moved, deleted only by an admin from the web app, and created by agent keys only where allowed. | Shipped | Checked 2026-10-04 |
| Archived repositories | An admin archives a repository to make it read-only: it still clones and reads, while pushes, web edits, new branches, change requests, mirrors and CI are refused until it is unarchived. | Shipped | Checked 2026-10-04 |
| Trash | Keeps deleted repositories to restore, or deletes them forever after typing the name. | Shipped | Checked 2026-10-02 |
| Settings | Renames a repository and sets its rules, keys, mirrors and webhooks from one settings page. | Shipped | Checked 2026-10-02 |
| Audit log | Records who changed access, protections, keys, mirrors, webhooks and settings, and shows it per repository, per owner and as your own activity. | Shipped | Checked 2026-10-03 |
| AI summaries switch | Keeps AI story summaries off for an owner until one of its admins turns them on; only commit messages are ever sent. | Shipped | Checked 2026-10-03 |
2 more in People and organizations
| Storage billing | Bills repository storage daily, to the organization for its repositories and to you for yours. | Shipped | Checked 2026-10-02 |
| Invite by email | Granting access to an address with no Hoq account emails an invitation that becomes their access when they first sign in, within 30 days. | Shipped | Checked 2026-10-03 |
| Command center | A dense, live, terminal-style view of every repository and its activity, with table columns you can sort, drag into your own order and resize. | Shipped | Checked 2026-10-05 |
| Arrange the layout | Drag the borders between columns and rows to resize them and drag a panel by its header to swap it with another, remembered in your browser with one reset. | Shipped | Checked 2026-10-05 |
| Owner filter | Narrows the home page to you, one organization or repositories shared with you from a row of chips with counts and a dot for anything waiting on you, remembered in your browser and cycled with o. | Shipped | Checked 2026-10-05 |
| Departures | The home page's running list shows every push, only change activity (opened, notes, approvals, merges) or everything, pushes, changes, issues, CI, checks and releases, from one switch in its header. | Shipped | Checked 2026-10-05 |
| Clones and fetches | Records every clone and every fetch that brought something down, who, which repository, how much, over ssh or https, shallow or partial, kept 90 days, and shows them as their own Departures view. | Shipped | Checked 2026-10-08 |
| Live updates | Pages update the moment something happens, new and changed rows flash, through a live connection whose state the status bar shows, falling back to refreshing every half minute without it. | Shipped | Checked 2026-10-05 |
| Console | A full-screen live display of only real data, commits, merges, comments, CI results, issues and releases as they land, exact 72-hour push counts and each push's changes. | Shipped | Checked 2026-10-05 |
| Time zone | Shows times and starts each day in the time zone set in your Hoq account, or your device's own. | Shipped | Checked 2026-10-03 |
| Light and dark | Follows your device's light or dark mode, and fits a phone. | Shipped | Checked 2026-10-02 |
| Work | Shows how much work landed in a period, for everything, one owner or one repository, with a one-line summary, changes against the period before, a day-by-day chart, who did it and the biggest changes. | Shipped | Checked 2026-10-05 |
| Story | Tells a period's commits as readable entries grouped by day, with no code. | Shipped | Checked 2026-10-03 |
| Story summaries | Writes a short account of a period with Hoq Intelligence from the newest commit messages, up to a limit you choose. | Shipped | Checked 2026-10-03 |
| Landing page | Tells a signed-out visitor what Repos is, what it costs next to GitHub, and how to start. | Shipped | Checked 2026-10-03 |
| Docs | Public guide to cloning, keys, server host keys, change requests from git, push protection, import, webhooks, the checks API and MCP. | Shipped | Checked 2026-10-03 |
| Pricing page | Shows the plans, what is charged today, and that agents are never a seat. | Shipped | Checked 2026-10-03 |
| Terms, privacy and security pages | Says in plain words what Hoq Repos promises, what it keeps and where, who helps run it, and how to report a problem. | Shipped | Checked 2026-10-03 |
| Export everything | Owner admins download a script that mirrors every repository and one file with every change request, note and audit entry. | Shipped | Checked 2026-10-03 |
| Account deletion | Closing a Hoq ID account removes the person's repositories, keys and settings and destroys their encryption key. | Shipped | Checked 2026-10-03 |
| Plans | Free, Pro and Team plans bought from the owner's Hoq balance, monthly, falling back to Free with nothing owed when a renewal cannot be paid. | Shipped | Checked 2026-10-03 |
| Storage allowance | Each plan includes storage, and only what is above it is charged, at $0.05 per GB a month. | Shipped | Checked 2026-10-03 |
| Plan and billing settings | Owner admins see the plan, storage used against what is included, this month's Repos charges and the balance, and choose or stop a plan. | Shipped | Checked 2026-10-03 |
| Empty-balance warnings | When storage is above the allowance and the balance is empty, admins get 14 days with email and push warnings at 7, 3 and 1 days left, and a banner on the owner page. | Shipped | Checked 2026-10-03 |
| AI credit | Pro, Team and Business include monthly AI credit that pays back story summaries on that owner's repositories before the asker's own balance is used. | Shipped | Checked 2026-10-03 |
| Agent key allowance | Free includes 2 agent keys; more are refused with what to do, never taken away, and anyone in an organization on a paid plan has unlimited. | Shipped | Checked 2026-10-03 |
Works with
- Hoq StorageAdd files from your Hoq Storage drive to a repository and save repository files back to it.
- Hoq TodoPut an open change on your Hoq Todo list; merging it finishes the task.
- Hoq IntelligenceStory summaries of a period's commit messages are written through Hoq Intelligence, when an admin allows it.
- Hoq AgentsAgents get scoped, pausable keys and read repositories over MCP.
Your data
| Where it is kept | Encrypted in Cloudflare R2 under a key per owner, with a nightly encrypted copy at Wasabi in Oregon. |
|---|---|
| Getting it out | Clone any repository at any time. Owner admins download a script that mirrors every repository plus one file with every change request, note and audit entry. Change requests, comments and releases are also written into each repository itself, so git fetches them. |
| If you leave | Closing your Hoq ID account removes your repositories, keys and settings and destroys their encryption key. Deleted data leaves the backup copy within 60 days. |
APIs and standards
- Git over HTTPS and SSH at git.hoq.app
- MCP endpoint for agents (read, search, compare, CI, organise)
- Checks API for posting test results against commits
- Signed webhooks
- Web app at repo.hoq.app
- Standard: Git smart HTTP
- Standard: Git over SSH
- Standard: GitHub Actions workflow syntax
- Standard: CODEOWNERS
- Standard: Model Context Protocol
Pricing
Free $0 (one person, 2 GB, 2 agent keys). Pro $8 a month (20 GB, unlimited agent keys, $2 AI credit). Team $29 a month per organization, up to 10 people then $3 a person (100 GB pooled, agents free and unlimited, $5 AI credit). Business from $99 a month. Storage above the allowance $0.05 per GB a month. Paid from your Hoq balance.
As published at https://repo.hoq.app/pricing.
Compared
| Checked 2026-11-01 | Hoq Repos | GitHub Team | GitLab Premium |
|---|---|---|---|
| Price | $29 a month per organization up to 10 people, then $3 a person | $4 per user a month1 | $29 per user a month, billed annually2 |
| AI agents | Agent keys are not seats; unlimited on paid plans, 2 on Free | not published1 | not published2 |
| Secret push protection on private repositories | Included on every plan | Secret Protection, $19 per active committer a month3 | Ultimate tier only4 |
| Hosted CI minutes included | None yet; run workflows on your own runners (beta) | 3,000 a month1 | 10,000 compute minutes a month2 |
| Storage included | 100 GB pooled on Team, then $0.05 per GB a month | 2 GB Packages storage on Team1 | 500 GiB per project2 |
| Free plan | One person, 2 GB, 2 agent keys | $0, 2,000 Actions minutes a month1 | $0, 5 users per private top-level group, 10 GiB, 400 compute minutes2 |
| Git LFS | Planned | Supported5 | Supported6 |
| MCP for agents | Built-in endpoint: read, search, compare, CI, organise | Official GitHub MCP server7 | GitLab MCP server with repository tools8 |
- https://github.com/pricing
- https://about.gitlab.com/pricing/
- https://github.com/security/plans
- https://docs.gitlab.com/user/application_security/secret_detection/secret_push_protection/
- https://docs.github.com/en/repositories/working-with-files/managing-large-files/about-git-large-file-storage
- https://docs.gitlab.com/topics/git/lfs/
- https://github.com/github/github-mcp-server
- https://docs.gitlab.com/releases/19/gitlab-19-4-released/