Contents
- 1 What we collect ~965
- 2 Why we use it ~109
- 3 Where it is stored ~66
- 4 How long we keep it ~99
- 5 Who else handles your data ~267
- 6 Cookies and browser storage ~161
- 7 Your choices ~379
- 8 Children ~21
- 9 Changes ~40
- 10 Contact ~11
Token figures are estimates — chars/4 (estimate — docpack has no tokenizer). Section run receipts are not shown: docpack’s runs: ledger records a run against a PAGE, never a section, so a per-section outcome would be invented.
Effective October 28, 2026. Max Lisaius runs the hosted docpack service at docpack.dev. This page says what the service collects, why, where it is kept, who else handles it, and what happens when you delete things. We read your docs from your GitHub repositories and publish them where you tell us to. We do not sell data, show ads, or send your content to any AI model. Your documentation stays in your repository; the service holds a built copy and a small amount of account data.
Questions go to max.lisaius@gmail.com. Security reports go to max.lisaius@gmail.com (see Security).
1What we collect#
Sign-in data. You can sign in with GitHub or Google.
- With Google we ask for your email address only. We keep the verified address. We do not keep Google's access token.
- With GitHub we read your username, your numeric GitHub id, and your email list. We keep the one verified primary address, your username, and your id. We discard the other addresses and GitHub's access token.
- We create an account record from this: your verified email, and, for a GitHub sign-in, your GitHub id and username.
Organization and space settings. For each GitHub account that installs the app we keep the account id and name, the installation id, the list of admin email addresses, the plan, and the list of repositories the app can see. For each published space we keep the repository, folder and branch, whether it is public or private, and its reader and editor lists. Those lists hold other people's email addresses and email domains, which an admin typed in. Admins should tell those people.
Your documentation. When you enable a space, we download the repository at the commit we are building. We render the docs folder into a site and store the built site in Google Cloud Storage. We also store a copy of the Markdown source of your docs folder (every page in it, including pages a public space does not publish, plus docpack.toml), so that agents you connect can read it. Beside it we store a snapshot of which commits touched the files your pages cover, so we can show which pages may be out of date. We keep the current build and one previous build. The rest of the downloaded repository is held in temporary storage while we build, then deleted.
API keys. We store only a one-way hash of each key. We cannot show a key again after you create it. We also keep the key's label, its permissions, and which spaces it reaches.
Usage counts. We count agent calls per organization per month, as a number. We do not store what was asked. We also count active people per billing period for seat billing. For that we keep a one-way hash of each person's email address, plus the date we first saw them. This hash is a pseudonym, not anonymity: anyone who holds it and already knows an email address can check whether that person was counted.
Billing data. If an admin starts a paid plan, we create a customer in Stripe. We send Stripe the GitHub account id and name. We send usage tied to that customer: one billing event per active person per billing period, labelled only with an opaque hash and never an email address, and agent-call counts. You enter your payment details on Stripe's own pages; they never pass through our servers. We keep the Stripe customer id, subscription id, plan, status and billing period dates. Billing is in test mode and the plans are not public yet.
Logs. The service writes logs to Google Cloud Logging. Our own log lines hold ids, GitHub usernames, names of repositories and doc files, commit ids, and error text. They are written not to hold document text, search queries, email addresses, keys or tokens. Google Cloud's hosting platform also records standard request details for the service, which can include IP address, browser type and the requested URL. We keep these logs for 30 days. Google keeps its own audit logs of changes to our cloud project for 400 days, and we cannot shorten that. We also count requests in aggregate from these logs (page views, sign-in starts, agent calls, server errors) to see how the service is used. Apart from the billing counts above, that is all the measurement we do: no analytics service, no tracking cookies, no per-person profile.
Rate limiting. To stop one visitor from running up costs, anonymous agent calls to public spaces are limited per IP address. The counters live in the server's memory only and are not written to storage.
2Why we use it#
- To sign you in and decide who can read or edit a space.
- To build and serve your docs, and to let agents search and read them.
- To write back to your repository when you ask us to (see Security).
- To bill for paid plans and enforce plan limits.
- To keep the service running, find bugs, and stop abuse.
We do not use your content or your email address for advertising, profiling, or training models.
3Where it is stored#
Everything is stored with Google Cloud in the United States. The service and the built sites run in Iowa (us-central1). The database that holds settings and records is in a United States multi-region. Google encrypts data at rest by default.
4How long we keep it#
- Built sites and the source copy: until you delete the space, or 30 days after you uninstall the app.
- Settings and account records: until deleted on request, as described below. They are not deleted automatically.
- Backups: deleted database records and deleted built copies can stay recoverable for 7 more days.
- Application logs: 30 days.
- Sign-in cookie: 12 hours.
5Who else handles your data#
| Who | What they receive | Why |
|---|---|---|
| Google Cloud | Everything the service stores and logs | Hosting, database, file storage, logging |
| GitHub | Requests from the app to your repositories; commits, branches and pull requests we write; sign-in traffic | The app integration and GitHub sign-in |
| Sign-in traffic for people who choose Google sign-in | Google sign-in | |
| Stripe | GitHub account id and name, usage counts, and whatever you enter on Stripe's pages | Billing |
| Cloudflare | DNS lookups for docpack.dev; it does not carry page traffic | DNS |
We do not send your documentation or your search queries to any AI service, analytics service, error tracker or advertising network. Documentation pages load no scripts, fonts or images from other sites unless an author links to one on purpose.
When you or an agent edits a page through the service, your email address goes into the commit message as a co-author line and into the pull request text. That lives in your repository's history, which is yours.
6Cookies and browser storage#
We set two cookies. Both are HttpOnly, Secure and SameSite=Lax.
| Cookie | What it holds | Lifetime |
|---|---|---|
docpack_session |
Your verified email and an expiry time, signed so it cannot be forged | 12 hours |
docpack_oauth_state |
A random value that protects the sign-in step | 10 minutes |
The session cookie is signed, not encrypted, so anyone with access to your browser can read your email address from it. We use no analytics or advertising cookies. Doc pages keep your theme choice and any command variables you type in your own browser's local storage. That data never leaves your browser.
7Your choices#
- Delete a space. An admin can delete a space from the dashboard by typing its id. This deletes all built copies and the source copy of that space, then the space's settings record. Keys limited to that space are not revoked by this. Revoke them yourself on the dashboard.
- Revoke keys. Revoking a key takes effect at once on the server that handles the request, and everywhere within about 30 seconds.
- Uninstall the app. Uninstalling stops the sites from serving (within about 30 seconds) and revokes every key for the organization. Thirty days later we delete all built copies and source copies. If you reinstall within the 30 days, your settings come back. Your organization and space records, including admin, reader and editor email addresses, plan data and usage counts, are not deleted automatically after an uninstall.
- Delete your account or your records. The dashboard has no button for this yet. Email max.lisaius@gmail.com and we will delete your account record, and your organization and space records, by hand. Backups can keep deleted records for 7 more days.
- What deletion does not touch. Commits, branches and pull requests we wrote to your repository stay there; they are yours to remove. Billing records at Stripe are governed by Stripe and by tax and accounting rules. We do not delete them for you.
- Sign out. Signing out clears the cookie in your browser. A copy of the cookie stolen before you signed out would still work until its 12 hours end.
8Children#
The service is for developers and teams. It is not directed at children.
9Changes#
If we change this page, we update the date at the top and say what changed. The rules for using the service are in the terms of service.
10Contact#
Max Lisaius, max.lisaius@gmail.com.