> For the complete documentation index, see [llms.txt](https://pharaoh.so/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://pharaoh.so/docs/use-pharaoh/terms-and-privacy.md).

# Terms and privacy

Last updated: October 21, 2026

[Terms of Service](#terms) · [Privacy Policy](#privacy)

## Terms of Service <a href="#terms" id="terms"></a>

### 1. What Pharaoh Does

Pharaoh (“we”, “us”, “the Service”) provides codebase intelligence via MCP (Model Context Protocol) tools. We parse repository metadata—function names, file paths, dependency relationships, complexity scores—into knowledge graphs that AI coding tools can query. **We never store source code.**

### 2. Account & Access

You authenticate via GitHub OAuth. By using Pharaoh, you confirm you have authority to grant read access to the repositories you connect. We verify organization membership on every token refresh. Access is scoped to your GitHub organization or personal account.

### 3. Billing

Subscriptions are billed monthly via Stripe. Current pricing for team/organization and personal accounts is listed on our [pricing page](https://pharaoh.so/#pricing). PR Guard is included in every paid plan with no per-repo add-on charges. Prices may change with 30 days notice. You can cancel anytime through the [billing portal](https://pharaoh.so/manage)—access continues through the end of your current billing period. No refunds for partial months.

### 4. What We Store

We store: repository structural metadata (listed in section 9), your GitHub identity (username, org membership), and billing information (managed by Stripe—we never see card numbers). We do **not** store source code, file contents, function bodies, or environment variable values (see section 10).

### 5. Data Isolation

Your data is isolated through application-level controls: every graph query is scoped to your repositories, and repo ownership is verified against your account before each request. Your architectural data is never visible to other customers.

### 6. Acceptable Use

Don’t use Pharaoh to: reverse-engineer others’ codebases without authorization, circumvent access controls, or resell access. We may suspend accounts that violate these terms.

### 7. Availability & Liability

We aim for high availability but don’t guarantee uptime. Pharaoh is provided “as is.” Our total liability is limited to the amount you’ve paid us in the last 12 months. We are not liable for decisions made by AI tools based on Pharaoh’s data.

### 8. Changes to Terms

We may update these terms. Material changes will be communicated via the email associated with your GitHub account at least 14 days in advance. Continued use after changes take effect constitutes acceptance.

## Privacy Policy <a href="#privacy" id="privacy"></a>

Pharaoh is operated by 2407066 Alberta Inc. This policy explains what data we collect, why, and how we protect it.

### 9. Data We Collect

| Category                         | What                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | Why                                                                                               |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------- |
| GitHub identity                  | Username, org membership, installation ID                                                                                                                                                                                                                                                                                                                                                                                                                                      | Authentication, authorization, tenant isolation                                                   |
| Repository metadata              | Function, class and constant names; file paths and module boundaries; which files import and which functions call each other; complexity scores and line ranges; function signatures, the first line of each doc comment, and one-way hashes of function bodies; HTTP routes, cron schedules, database table names, event names and environment variable names; values of top-level constants; and each file’s last-modified date and how often it changed in the last 90 days | Knowledge graph construction (our core service)                                                   |
| Billing                          | Stripe customer ID, subscription status, and a record of the first paid Personal or Team subscription for each billed GitHub account, including invoice reference, amount, currency and an opaque transaction ID                                                                                                                                                                                                                                                               | Subscription management and preventing duplicate purchase measurement                             |
| Usage logs                       | Which MCP tools were called, timestamps, tenant ID                                                                                                                                                                                                                                                                                                                                                                                                                             | Rate limiting, debugging, audit trail                                                             |
| Site visits                      | A random visitor ID kept in a cookie, the pages you view, whether you click Install, setup or the copy button, the site that sent you, and any campaign tags in the link                                                                                                                                                                                                                                                                                                       | To learn which channels bring people who go on to use Pharaoh                                     |
| Optional advertising measurement | If you allow it, Google Ads processes visits to and interactions with our public marketing pages, such as scrolling and link clicks, ad-click identifiers and cookie identifiers, along with browser and network information such as your IP address. For a completed first Personal or Team purchase, we also send an opaque transaction ID, the paid amount and its currency.                                                                                                | To measure our Google Ads campaigns and paid conversions; advertising personalization is disabled |

When you sign in on the setup page we store your primary verified GitHub email, and we use it for at most two setup emails (one when your first map is ready, one reminder if you haven't connected an AI client after three days), each with a one-click unsubscribe.

### 10. Data We Do NOT Collect

**Source code.** To map a repository or check a pull request, we clone it into a temporary directory on our servers and delete that directory when the job ends, including when the job fails. We don’t store source code, file contents, function bodies, comments beyond the first line of each doc comment, environment variable values, commit messages, authors or diffs. **Credit card numbers.** Payment is handled entirely by [Stripe](https://stripe.com/privacy). We never see or store card details.

### 11. How Data Is Stored

Repository metadata is stored in Neo4j (graph database) with query-level isolation per customer. Operational data (tenant records, OAuth sessions, audit logs) is stored in PostgreSQL. Both are hosted on infrastructure with encryption at rest and in transit. GitHub tokens are encrypted with AES-256-GCM before storage. Function signatures, doc comments, API routes and constant values are encrypted with a key derived for your account (AES-256-GCM) before they’re stored.

### 12. Data Sharing

We do not sell your data. We share data only with:

* **Stripe** — billing and payment processing
* **GitHub** — OAuth authentication and repository access
* **Infrastructure providers** — Render (hosting), Neo4j Aura (graph database)
* **Google Ads** — optional advertising measurement on our public marketing pages and a minimal purchase-confirmation page, only after you allow it. Our conversion event contains an opaque transaction ID, paid amount and currency. We do not include your GitHub identity, email, repository metadata, card information or Stripe identifiers in this event. Enhanced user-data collection and advertising personalization are disabled. See [Google’s Privacy Policy](https://policies.google.com/privacy) and [how Google uses information from partner sites](https://policies.google.com/technologies/partner-sites).

All providers are bound by their own privacy policies and data processing agreements.

### 13. Data Retention

Repository metadata is refreshed on every push and reflects the current state of your codebase. When you uninstall the GitHub App or delete your account, we delete your knowledge graph and tenant data within 30 days. Audit logs and site-visit records are kept for 90 days.

The first-payment record is kept while your account exists to prevent repeated payments being reported as new purchases. It is removed with your account data. A pending browser conversion is eligible for reporting for seven days after payment; browser blocking or lack of permission can prevent it from being reported to Google.

### 14. Your Rights

You can: request a copy of your data, ask us to delete your data (uninstall the GitHub App or email us), and update your billing information via the [billing portal](https://pharaoh.so/manage). For any data request, email <privacy@pharaoh.so>.

### 15. Cookies

We use session cookies to keep you signed in, and a first-party cookie, `ph_vid`, that holds a random ID for 90 days. If you later sign in with GitHub, we link that ID to your account, which is how we know which page or campaign brought you. Our first-party site-visit records do not store IP addresses.

We also store your advertising measurement choice in `ph_ads_consent` for 90 days. Until you allow measurement, we do not load the Google Ads tag or send it measurement requests. If you allow it, Google may set advertising measurement cookies, including cookies whose names start with `_gcl_`, and process the information described above. Advertising personalization and Google Analytics storage remain disabled.

After an eligible purchase, a five-minute cookie, `ph_ads_purchase_attempted`, prevents repeated redirects if advertising measurement is blocked or interrupted. It contains only an attempt flag, not payment or account details.

You can allow or reject measurement, or withdraw permission later, using **Advertising privacy choices** on our public marketing pages. Withdrawing permission removes the advertising measurement cookies we can access and reloads the page so the Google tag is no longer loaded. If your browser cannot save this choice, we show instructions to clear site data and reload. This does not undo information Google already received. Refusing measurement does not affect your ability to use Pharaoh or our existing first-party site-visit measurement.

### 16. Changes to This Policy

We may update this policy. Material changes will be communicated via the email associated with your GitHub account. The “last updated” date at the top indicates when the policy was last revised.

### 17. Contact

Questions? Email <support@pharaoh.so> (general) or <privacy@pharaoh.so> (privacy-specific).
