Privacy Policy

Effective date: October 26, 2026

This Privacy Policy describes how HSLA0001 Inc. ("Company," "we," "us") collects, uses, and handles your information when you use Rams products and services.

Our Products

Rams includes multiple products with different data collection practices:

  • Rams GitHub App: Automated design reviews on pull requests via GitHub App integration
  • Rams MCP: The hosted review engine, called from your AI coding agent
  • Rams Skill: A markdown file (/rams command) for AI coding assistants
  • rams.ai: Website, dashboard, and account management
  • Rams CI Action: The same hosted engine, called from your CI pipeline with your workspace API key
  • Public score pages: The free scorer at /scores, which publishes a design score for a public GitHub repository
  • Rams Gate: Checks your pull requests against a brand kit you give us, and gives that kit to your coding agents when they ask for it. It is in a free alpha, and you can apply at /gate

Account & Authentication

When you create an account, we collect:

  • Email address and profile information from Google or GitHub OAuth, whichever you sign in with
  • Workspace name and settings

Authentication is handled via Google or GitHub OAuth through Supabase. We never see or store your Google or GitHub password. A password sign-in exists only for a small allowlist of review accounts used by app directories. We create those accounts ourselves.

We may use your email address to contact you about your account, product updates, important announcements, and onboarding, including reaching out if you started but did not complete signup or checkout. These messages may reference your account activity, such as which repositories were reviewed or how many reviews you have used.

Some of these are written by a person and sent by hand. Others are sent automatically at a set point in your account's life — a welcome, a nudge if you signed up but never installed the app, a note if you installed but have no reviews yet, your first score. Each automated account email is sent at most once per workspace, and every reply reaches a person.

Once per workspace — ever — we may ask a short product survey: how you would feel if you could no longer use Rams, and a few open questions. The ask arrives by whichever surface reaches you first (an email, a line in a review response, or the dashboard) and is never repeated. Your answers are stored with your workspace to guide what we build and are never shown publicly.

Email is delivered by Resend. We record which address we sent to, which message it was, and what happened to it (delivered, bounced, or reported as spam). A hard bounce or a spam complaint adds the address to a suppression list so we stop mailing it.

To stop non-essential emails, reply "unsubscribe" to any of them or email rams@rams.ai. We honor every request. Billing and account-critical messages may still be sent while your account is active.

Team Invites

If you invite a teammate to your workspace, we collect the email address you provide in order to send the invitation and track whether it was accepted. Invite emails are one-time; the link expires after 7 days. A pending invite (and its email address) is deleted when you revoke it, and accepted invites become part of your workspace's membership records. Workspace members share access to the workspace's repositories, reviews, and settings.

Payment Information

Payments are processed by Stripe. We do not store your credit card number or payment details. We store:

  • Stripe customer ID and subscription ID (for managing your plan)
  • Plan type and billing period
  • Subscription status (active, canceling, canceled)
  • Review packs: which pack you bought, when, and the credits it added to your workspace

Rams GitHub App

When you install the Rams GitHub App and open a pull request:

Sent to AI for analysis (not stored by us):

  • Changed file contents from the pull request, sent to Anthropic Claude for review
  • Existing UI files from your default branch, up to 50 at a time, in three cases: the first review when you install, an audit when you ask for one, and a monthly drift check of one repository on paid plans
  • For visual reviews, up to six files that the changed files import directly (a theme or token file, for example), fetched so the component renders with your real design values. They are rendered, never reviewed, and never appear in a finding

Code is held in memory only during analysis and immediately discarded. We never store your source code. Code sent to Anthropic is processed per their Privacy Policy.

Stored in our database:

  • Repository name, PR number, PR title, branch name
  • Review results: design score, issue count, severity breakdown, and each finding's description with its flagged lines and suggested fix (short code excerpts, the same ones shown on your PR)
  • Visual review artifacts: before/after screenshots of rendered components and the applied patch, stored in a private bucket. Screenshots shown in a pull request comment or an agent result are kept so that comment keeps working. All others are deleted automatically after 30 days
  • Usage metrics: files reviewed, token usage, duration, cost
  • GitHub installation details: account login, installation ID, repository list
  • What happened to each inline suggestion when the pull request closed: committed, changed another way, resolved without a change, or left open. We keep the finding's rule, severity and category, whether it came with a one-click fix, whether the pull request merged, and the outcome. This record adds no code, file names or comment text to what the review already stores. It is used only for your workspace, to learn which suggestions your team takes and which it sets aside, and is never shared or published

The app also receives the GitHub events it is subscribed to: pull requests opened, updated or closed on enabled repositories, installation changes, and pull request comments. Comments are checked for the @rams review trigger and are not stored. When a pull request closes, Rams reads its review threads and commit list to see which of its suggestions were committed or resolved. Nothing from them is stored except the outcome.

Posted to your GitHub PR:

  • Design review comments with inline code suggestions

We never store:

  • Your source files — they are held in memory during analysis only. Only the excerpts inside findings persist, as described above
  • Secrets, API keys, or credentials from your repository
  • Git history or commit contents

Rams MCP

When your AI coding agent calls the Rams MCP with your API key:

  • The files your agent submits are sent to Anthropic Claude for review, held in memory during analysis, and immediately discarded, the same flow as the GitHub App
  • Review results are returned to your agent, not posted anywhere
  • We store the review (score, findings with their excerpts and fixes, usage metrics) for your dashboard and quota
  • If your agent passes a session label (the optional context field), we store a shortened version as that session's name in your dashboard. It stays inside your workspace and never appears on any public page
  • We never store the submitted files
  • If your agent calls the design context tool, we send your workspace's active Gate brand kit to that agent as text. It goes only to agents connected to your workspace with its key or connection. We record that the call happened, never the kit
  • Once your agent has the kit, your agent's AI provider handles it under its own terms, the same as your code
  • If you ask Rams to review a web page by its address (the page review tool), Rams opens that public page on our servers in a fresh browser, at a desktop and a phone width. The browser names itself as Rams, sends no cookies or sign-in details, and only opens public addresses. Screenshots of the page go to Anthropic Claude for review and are discarded after the request. We never store the page's HTML or the screenshots
  • For a page review we store the site's host name (for example rams.ai, never the full address), the score, and the findings, which can quote short text from the page
  • When you connect Rams from an agent with a work email address, Rams may run one page review of the public home page at your email's domain (acme.com for you@acme.com) and keep it as the first review in your dashboard. It does not count against your plan, and personal email domains are skipped
  • MCP connections authenticate with a workspace-scoped API key, or via OAuth 2.1 when you add Rams from the Claude connector directory — you approve access on a Rams consent screen and can revoke it at any time
  • API keys are stored as a hash, never in plain text. We keep the key's name, its short prefix, and when it was last used
  • We log each call's usage: which tool, how many files, tokens, duration, and the resulting score
  • The CI Action uses the same API key and the same path: the files your pipeline submits are reviewed and discarded, and the review is stored against your workspace. We record that the call came from CI so the result can be attributed and metered

Free checks without an account

An AI agent can run a free design check without a Rams account (a quick check on up to 3 files, or a page review). For these checks:

  • The files the agent sends are reviewed the same way as any other check and discarded. We never store the code
  • We store the result (the score, the findings with their short excerpts and fixes, and for a page review the site’s host name) so the link at the end of the result can show it
  • To limit free checks we store a salted, one-way hash of the IP address the request came from, a hash of the client’s user agent and name, and a short label for the client (for example claude-code). Never the address itself
  • The link holds a random token. We store only a hash of it, so the link is the only way to open the result
  • If you open the link and sign in, the result is saved to your workspace as a review, like any other
  • Results that are not saved are deleted after 7 days. For saved ones, after 7 days we delete the IP hash and the client hash and keep only that the check was saved

Rams Skill (/rams Command)

When you use the /rams command in your AI coding tool:

  • We count downloads of rams.md and of the shadcn install (rams.ai/r/rams.json), recording the request's browser user agent and where the link came from. No account or IP address is recorded
  • The rams.md file runs entirely within your AI tool (Claude Code, Cursor, etc.)
  • We have no access to your code, files, or AI responses
  • No data is transmitted to our servers during usage

Public score pages (/scores)

The free scorer runs a review on a public GitHub repository and publishes the result at rams.ai/score/owner/repo. No account is needed. When you run one:

  • The score page is public by design: the repository name, the score, the findings with their code excerpts, and the summary are visible to anyone with the link, and the repo is listed at /scores
  • We store the IP address the request came from, to rate limit the scorer and stop abuse
  • If you give an email address, we store it with the score, send you the link, and use it to rate limit per address. It is never shown on the public page
  • Only public repositories can be scored. Files are analyzed the same way as any other review and are not stored

Want a score page taken down? Email rams@rams.ai and we will remove it.

Rams Gate

Gate checks your pull requests against a brand kit you give us: your colors, type, spacing, and the rules your team has written down. Your coding agents can also read the kit through the Rams MCP before they write. We turn it on per workspace. When you use it:

Stored in our database:

  • Your brand kit: color, type, spacing, radius, shadow and motion tokens, the names of the CSS variables your sources define, fonts, component styles, logo file names and sizes, a short brand description, rules, and voice notes
  • The name and type of each source you import (a file name, a repository name, or a Figma file key) and any warnings from the import. Not the files themselves: we read them to build the kit, then discard them
  • Earlier versions of your kit. When you activate a new one, the old one is archived so a past result can still be explained
  • Which repositories have Gate on, and in which mode: off, warn, or required check
  • Gate run results: the repository, pull request and commit, a score, and each finding with its file, line, and the value found. Never your full code
  • What happened to each Gate comment (a suggested fix or a copy note) when the pull request closed: committed, changed another way, resolved without a change, or left open. We keep which check it came from (an off-palette color, an off-scale spacing value or a voice rule, for example), its severity, whether the pull request merged, and the outcome, linked to the run. To tell a committed fix from a hand edit, Rams compares its own suggestion with the commit's changes in memory; neither is stored. No code or comment text is kept. It is used only for your workspace, kept for 13 months, and never shared or published

Where it comes from:

  • Files you upload in the dashboard. They are read to build the kit and not kept
  • Files you paste to try Gate, or that your coding agent passes to the Gate tool in the Rams MCP. They are checked in memory and discarded. Only the run is stored
  • Your connected GitHub repositories, read through the Rams GitHub App. For an import we read design files such as DESIGN.md, token files, Tailwind configs, and CSS. On each pull request we read the changed UI files, check them in memory, and discard them
  • Figma, only if you import from it. You paste a personal access token. We use it once to read your file's published styles (and, for component states, the names and variants of its published components), then drop it. The token is never stored and never written to a log

Posted to your GitHub PR:

  • One check run named Rams Gate, and suggested fixes on the lines the pull request changed

Kits, repository settings, and runs are kept while your workspace is active and deleted with the workspace. Archived kit versions are kept so an old result can be explained. Ask us and we will delete them sooner.

Early access, sales, and business contacts

If you apply for the Gate alpha, we store what you type in the form: your email address, and optionally your company, team size, the answers to the qualifying questions, and what you would want it to block. We also count visits to that page with the referring URL and the link's source parameter, so requests have a denominator. We store a one-way, salted fingerprint of the IP address the form was sent from — not the address itself — so the form can be rate limited. It cannot be read back as an address and is never used to identify you.

We keep a small sales record of companies and people we have spoken to or intend to contact: organization, website, contact name, work email, a public social handle, where the contact came from, and our own notes on the conversation. This is business contact information, gathered from public sources, from business contact data providers such as Apollo privacy policy (opens in a new tab), or from you directly, and it is used only to reach out about Rams and to keep track of the conversation. We process it on the basis of our legitimate interest in telling people about a product relevant to their work. We only send a first note to people who haven't used Rams if they work at a company in the United States or the United Kingdom. We send at most two notes unless you reply, and every note says how to opt out.

To stop hearing from us, reply “no” to any note or email rams@rams.ai. We add you to a do-not-contact list and never write again. To be removed from the sales record entirely, say so in the same message.

A Gate alpha application or a new subscription also sends an operational alert to a private Slack channel that only we can read, so a person sees it quickly. The alert never contains your name or your email address: at most its domain and your workspace ID.

Analytics

We use Google Analytics to understand how visitors use rams.ai. Google Analytics collects:

  • Page views, referral sources, and session duration
  • Anonymized IP address, browser type, and device information

We also record, on your workspace, how you first arrived: the referring URL, the landing page, and any source, medium, or campaign parameters in the link. If you answer the "how did you hear about Rams?" question after signing up, we store that answer alongside it. This tells us which channels work; it is not used to profile you.

We also collect aggregate review statistics (total reviews, average scores) and performance metrics (review duration, error rates) for internal monitoring.

Cookies

Rams sets two kinds of cookies. Necessary cookies keep you logged in — the site does not work without them. Analytics cookies belong to Google Analytics, described above, and are the only optional ones. You can turn analytics off anytime via the "Cookies" link in the footer of every page; the choice takes effect immediately and is remembered in your browser. We set no advertising or cross-site tracking cookies.

Data Retention

  • Account data: Retained while your account is active
  • Review metadata: Retained for your dashboard and billing
  • Source files: Not retained (discarded immediately after analysis; findings keep their short excerpts)
  • Visual review screenshots and patches: Kept while a pull request comment or an agent result shows them; all others deleted automatically after 30 days. Deleting your account deletes all of them
  • Suggestion outcomes: For each inline finding from a design review or from Gate, its rule or check, severity, and what happened to it (committed, changed, resolved, or left open). No code, file names or comment text. Kept for 13 months, then deleted, and deleted sooner if you delete your workspace
  • Database backups: Point-in-time backups roll off after 7 days, so data you delete is gone from backups within 7 days
  • Server logs: Kept up to 30 days. They can include an email address or an IP address, never your code
  • Error reports: Sent to Sentry without cookies, IP addresses or user identifiers, and kept up to 90 days
  • Files sent to Anthropic: Deleted by Anthropic within 30 days, unless its safety systems flag a request as a usage-policy violation, which it may keep for up to 2 years. Never used to train models
  • Payment data: Managed by Stripe per their retention policies
  • Public score pages: Retained until you ask us to remove one
  • Email records: What we sent and what happened to it, retained while your account is active. Suppressed addresses are kept indefinitely, because that is what stops us mailing them again
  • Early access requests and sales records: Retained until the conversation is closed or you ask us to delete them
  • Product survey answers: Retained with your workspace while your account is active. Asked once per workspace, ever
  • Visual review telemetry: For each visual decision we keep the outcome (shipped, withheld, and why), the workspace, and the repository and pull request it belonged to. No code and no images. Retained for internal monitoring
  • Gate brand kits: Retained while your workspace is active and deleted with it. Archived kit versions are kept so a past result can be explained, and deleted on request
  • Gate run results: Retained while your workspace is active and deleted with it. Each finding keeps its file, line, and the value found, never your full code
  • Figma access tokens: Not retained. Used for one request, never stored or logged
  • Free checks without an account: the result, the IP hash and the client hash are deleted after 7 days unless the result is saved to an account. A saved result becomes a review in your workspace
  • Cached reviews: A review may be cached against a hash of the files that produced it, so identical code re-reviewed on the same engine version returns the identical result. The cache holds the review, never your files, and is dropped whenever the engine changes

Data Security

All data is encrypted in transit (TLS) and at rest. Our infrastructure:

  • Vercel (website): SOC 2 Type 2 certified
  • Supabase (database and file storage): SOC 2 Type 2 certified
  • Google Cloud (worker): SOC 2 Type 2 certified
  • Anthropic (AI analysis): SOC 2 Type 2 certified; under Anthropic's commercial API terms, your content is not used to train models and is deleted within 30 days
  • GitHub (app integration): SOC 2 Type 2 certified
  • Stripe (payments): PCI Level 1 certified
  • Resend (email delivery)
  • Sentry (error tracking): SOC 2 Type 2 certified
  • Google (analytics, sign-in, and the email we write and send by hand)
  • Apollo (business contact data for sales outreach)
  • Slack (operational alerts and error notifications to a private channel)
  • Figma (called on your behalf, with the token you paste, only when you import a brand kit from it)

See our Security page for details.

Your Rights

You have the right to:

  • Request a copy of your data
  • Delete your account and its data yourself: Settings, then Delete account. It removes your workspace, reviews, Gate kits and runs, API keys and installation records at once; the GitHub App stays installed until you remove it on GitHub. Or ask us and we will do it.
  • Cancel your subscription at any time
  • Uninstall the GitHub App to stop all reviews
  • Ask us to take down a public score page, or to delete you from our sales records
  • Stop non-essential email by replying "unsubscribe" to any message

To exercise these rights, email rams@rams.ai.

Children's Privacy

We do not knowingly collect information from children under 13. If you believe we have collected information from a child under 13, please contact us and we will delete it promptly.

Changes to This Policy

We may update this Privacy Policy from time to time. Changes will be posted on this page with an updated effective date. Your continued use of Rams after changes constitutes acceptance of the updated policy.

Contact

Questions about this Privacy Policy? rams@rams.ai

HSLA0001 Inc.