Licensing FAQ
How covdbg decides whether a run is licensed, in questions and answers. The short version: every run carries your sign-in or a project token. Public repositories are free for everyone who signs in, a signed-in developer gets one private repository for free, and a seat in a team covers everything else. Seats, teams, and your personal lock are managed at app.covdbg.com.
What covdbg sends to make these decisions, and what we keep, is on the Data and Telemetry page.
Do I have to sign in?
Yes. Every run carries either your sign-in (covdbg login, once per machine) or, in CI, a project token in COVDBG_PROJECT_TOKEN. A run with neither is refused by covdbg before anything is sent. Signing in is free, and on a public repository it is the only thing you have to do.
What does covdbg send to the license service?
The repository's git remote URL, the email address in your git configuration (user.email), and, for a repository with no remote, the hash of its root commit. Together with your sign-in or the project token, that is the whole request. No source code, no file names, no coverage data. The Data and Telemetry page has the field-by-field list.
What is personal use?
What a signed-in developer without a seat gets: public repositories without limit, and one private repository at a time. The first private repository you run covdbg on takes your personal slot. Every run on it is licensed, and you can switch the slot to another repository at any time. A run on a second private repository is refused until you release the lock or hold a seat in a team.
How does covdbg know a repository is public?
The license service asks the repository's host the same question a git clone asks, without any credentials. If the host answers without asking for a login, the repository is public. This works the same on GitHub, GitLab, Bitbucket, Gitea, and Azure DevOps. A host the service cannot reach counts as private. An open source project on an internal mirror can ask us for a grant that makes the whole team free.
Can two people lock the same private repository?
Yes. The lock belongs to the person, not to the repository. Two colleagues who both work on the same private repository each lock it in their own slot and both run under personal use. What personal use does not cover is that repository's CI: a CI run has no sign-in, so it needs a team's project token, and the token covers only commit authors who hold a seat in that team.
How do I switch my personal lock to another repository?
You can switch at any time, with no waiting period. Release your current repository on your own page at app.covdbg.com. The next private repository you run covdbg on takes the slot. Personal use still covers one private repository at a time. Signing out with covdbg logout does not release the lock.
Does changing the remote get me a fresh allowance?
No. The lock is keyed on the normalized remote, so the https://, ssh://, and git@ forms of the same repository are one lock, and a repository with no remote is keyed on its root commit, so removing origin does not move you either. A fork under a different owner is a different repository, and takes your one slot if it is private.
What does a seat cover?
Everything, locally. A developer who holds a seat in any team runs covdbg on every repository, public or private, with no lock. In CI, the team's project token covers every commit author who holds a seat in that team.
What is a project token?
The credential a pipeline uses instead of a sign-in. A team owner creates one at app.covdbg.com; it is shown once and can be limited to a single repository. In CI you put it in COVDBG_PROJECT_TOKEN. Your personal team has project tokens too, and one of those is enough for a public repository, whoever wrote the commit.
Which email address does a seat match?
The address in your git configuration: user.email in the repository's own config if it sets one, otherwise your global config. That is the address your commits carry, so it is the address a seat is attributed to in CI. If you commit under a work address, make sure that address is verified on your account, or accept the invitation sent to it.
What happens in CI when an author has no seat?
The run still passes. The author is listed on the team's page as unseated so an owner can invite them. Their runs keep full reports for ten days from the first time the team's CI sees them; after that the report is gated until they hold a seat. Commits by bots, such as Dependabot or Renovate, are not counted as authors.
What does "gated" mean?
The run completes and the analysis is done, but the coverage database keeps only the ten most-hit files, so the report is a sample rather than the whole picture. covdbg says on the console when a run is gated and why.
What is the difference between my personal team and a team?
Your personal team is the free tier and nothing else. It has your repositories and your project tokens, but no billing, no members, and no settings. Nobody buys a seat on it and nobody is invited into it. Its project token covers you alone in CI; other authors are listed as unseated, and the fix is a team.
A team is a name and one click at app.covdbg.com. You buy seats there and invite people by email. A team of one is the normal shape for a paid solo developer who wants more than one private repository. One person can own up to ten teams.
How much does a seat cost?
$12 USD per user per month, plus applicable tax, bought at app.covdbg.com through Paddle. You can cancel any time. A seat taken away from a member is held for seven days before it can be given to somebody else. Purchase orders, annual invoicing, and volume discounts are available on request.
How are seat changes billed?
Team seats cost $12 USD per developer per month, plus applicable tax, billed monthly in advance. A team owner manages purchased seats on the team's Billing page at app.covdbg.com.
Adding seats: you pay only for the extra seats for the time remaining in the current billing month. For example, changing from three to five seats halfway through the month costs about $12 before tax now: two extra seats at $12, for half a month. The next full month costs $60 before tax. Your renewal date stays the same.
Choose Change seats, enter the new total, then Preview seat change. The preview shows the payment due now, any credit, the new monthly total and the next renewal. Paddle calculates the exact amount, including applicable tax and rounding. Nothing changes until you confirm. If the immediate payment fails, the existing seat count stays unchanged.
Reducing seats: the lower purchased allowance takes effect immediately. Unused prepaid time becomes credit for future invoices, rather than a refund to your card. Review the credit before confirming. If your team still occupies more seats than the new allowance, the grace-period rules below apply.
Purchased seats and team members are separate. You pay for purchased seats even when they are unassigned. Removing a member does not automatically lower your bill; change the purchased seat count on the Billing page as well. A removed member's seat remains held for seven days before it can be reassigned.
How do I cancel or keep my subscription?
Choose Cancel subscription on your team's Billing page. The confirmation shows when your paid seat allowance ends. Cancellation stops the next renewal; your seats remain available until that exact date and time.
Before that date, Keep subscription removes the scheduled cancellation and restores monthly renewal. The confirmation shows the renewal date and current monthly total. Keeping the subscription does not charge an extra payment now. Once a subscription has ended, buy seats again through checkout.
Where can I find invoices and billing changes?
On the team's Billing page, choose View full history. It shows invoices for the current subscription, with tax, credits and line-item details, plus downloadable invoice PDFs where available. Subscription activity shows when a change was requested and, for scheduled changes such as cancellation, when it takes effect.
What if checkout or billing is interrupted?
After submitting payment, use Refresh billing to check whether the subscription was confirmed before trying again. Payment confirmation can arrive after you close the page. The service also checks Paddle automatically to recover missed updates.
If billing history is temporarily unavailable, that does not remove existing seats. If payment remains unresolved, contact billing support with your team name and invoice number, if available. Never send card details.
What happens if my subscription lapses?
A failed monthly renewal payment changes nothing for the moment: the seats stay while Paddle retries payment. If the subscription is cancelled or shrinks below the seats a team holds, the team is over quota. Runs keep passing and warn for ten days, and after that the reports are gated until seats are bought back or members removed.
Does covdbg work offline?
Yes, for a while. The decision the service made is kept in the Windows Credential Manager and reused for seven days before covdbg asks again. If the service cannot be reached, the last decision keeps working for up to three weeks, and covdbg warns on the console. A run with a credential and nothing cached goes ahead and says so. A machine with no network access at all can use an offline license file; write to our team.
Where is my sign-in stored?
In the Windows Credential Manager, under the name Liasoft/covdbg, not in a file. covdbg logout ends the session on the service and removes it from the machine, and nothing else: your personal lock and your seats stay as they are. covdbg whoami tells you who a machine is signed in as. Every session signed in as you, from any machine or the web application, is listed on your profile, where you can end any of them.
What does covdbg report after a run, and how do I turn it off?
After the program you ran exits, covdbg sends one small event to the telemetry service: its own version, the Windows version, how long the program ran, and its exit code, attributed to you or your team through the entitlement the run was granted on. No repository name, no paths, no coverage data. Your own dashboard shows your runs over the last thirty days, and events are deleted after 180 days.
To turn it off, set COVDBG_TELEMETRY=off in the environment, or telemetry: false under settings in .covdbg.yaml. A telemetry service that is slow or down never delays or fails a run.
Is open source free?
Public repositories are free for everyone: sign in once and every public repository runs without limit and without touching your personal lock. In CI a public repository still needs a project token, because a workflow has nobody to sign in; one from your personal team will do, since a public repository is free whoever the commit author is. A team whose work is public but needs seats and CI tokens can ask for a grant; see the Open Source Program.