Security

Ripplo tests your app's user workflows against a dev environment. This page explains what access Ripplo has and what it stores.

Last updated October 26, 2026

Application access

Ripplo runs against your application's staging or pull request preview environments.

Ripplo as your identity provider

Every Ripplo run signs in with its own user, which prevents collisions and lets Ripplo test your application at scale. This also means Ripplo does not use shared test accounts and never needs to store passwords for test users.

To do this, set Ripplo as an identity provider for your development or staging environments. We strongly recommend not connecting Ripplo to any production environment.

  • Ripplo test users are created as ripplo-<run id>@test.ripplo.ai. Ripplo issues that user's sign-in exactly once, as part of the run. After that, the user cannot sign in again.
  • The sign-in token carries a ripplo_test: true claim, which lets your app manage these test users differently.

The sign in with Ripplo connection in the Ripplo dashboardThe sign in with Ripplo connection in the Ripplo dashboard

Test data

Ripplo creates and manages its own test data through your app's APIs via its generated users. After the run completes, Ripplo tears down any data created as part of the workflow. If your app supports SCIM, Ripplo also deletes the test user itself.

Data access

What Ripplo stores

  • Your account and billing details.
  • Your workflows: the click paths Ripplo wrote for your app, stored as code.
  • The findings: the issues a review raised.
  • A replay of each run: the pages as they rendered, played back like a video, with console messages and network calls.
  • The reviewer's log: the steps it took and the code it read.

Replays never capture request headers or cookies. In captured request and response bodies, credential fields such as passwords, tokens, and API keys, and anything shaped like a JSON Web Token, are replaced before storage. Page text and console messages are stored as they appeared.

Where Ripplo stores data

The database, replays, and reviews are all on AWS (us-east-1). All of it is encrypted in transit and at rest. Replays are served through signed links that expire after 2 hours.

Project secrets, such as the sign-in client secret, are additionally encrypted at the application layer with AES-256-GCM before being written to the database. The encryption key is stored separately from the database and is versioned to support key rotation.

Outside services that handle your data

VendorPurposeLocationAdded
RailwayBackup copy of the database, to be deleted by December 2, 2026United States (US East)Oct 20, 2026
CloudflareDNS for ripplo.ai, and a backup copy of replays, to be deleted by December 2, 2026North America (East) for the backup, global network for DNSOct 20, 2026
Amazon Web ServicesHosts the server, database, and replays, runs each review on a temporary copy of your repository, deleted when the review ends, and runs the browsers that test your appUnited States (us-east-1)Oct 20, 2026
OpenRouterRoutes requests to the model providers belowUnited StatesOct 20, 2026
Fireworks AIHosts open-weight models, including DeepSeek, on its own serversUnited StatesOct 22, 2026
DeepInfraHosts open-weight models, including DeepSeek, on its own serversUnited StatesOct 22, 2026
Microsoft AzureRuns OpenAI modelsUnited States or European UnionOct 22, 2026
Amazon BedrockRuns Anthropic modelsUnited States or European UnionOct 22, 2026
Better StackServer logs, with no prompt textEuropean Union (Germany)Oct 20, 2026
PostHogDashboard analyticsUnited StatesOct 20, 2026
StripeBillingUnited StatesOct 20, 2026
GitHubSign-in, the GitHub App, webhooks, and PR comments and checksUnited StatesOct 20, 2026

Ripplo posts a new outside service here at least 10 business days before it starts handling your data.

AI models

Ripplo sends your data to a model in four places:

  • Reviews. The reviewer reads your source code, the pull request's title, description, and changes, the tests Ripplo wrote, and comments people leave on the review. It also reads run replays: page text and structure, screenshots, console messages, and network calls, with credential fields replaced as described above. What it reads goes to the model in its prompts.
  • Failure summaries. When a run fails, Ripplo sends a short digest of the run's replay to write one sentence on what went wrong.
  • Coverage titles. Ripplo sends a coverage review's brief to name the review.
  • Issue search. Ripplo sends the text of each issue to an embedding model so you can search issues. Organizations that use their own model endpoint get keyword search, and no issue text is sent.

Ripplo sends model requests only to OpenRouter, which routes them to four providers: Fireworks AI, DeepInfra, Microsoft Azure, and Amazon Bedrock. OpenAI models run on Microsoft Azure, Anthropic models on Amazon Bedrock, and open-weight models on Fireworks AI and DeepInfra. Ripplo sends no data to any model company's own API, including OpenAI, Anthropic, and DeepSeek.

Every request Ripplo sends to OpenRouter tells it to use only providers that do not store or train on prompts. All four providers run with zero data retention, and none of them uses your code or run data for training. Ripplo does not train models on your data either.

You can choose which of these providers your organization's reviews use, for example only OpenAI and Anthropic, with no DeepSeek or other open-weight models. You can also run reviews on your own model endpoint instead. Email mail@ripplo.ai to set up either.

Data retention

Ripplo keeps your data, including workflows, review results, replays, and reviewer logs, until you close your organization or ask us to delete your data. To delete specific data, email mail@ripplo.ai. Deleting your organization from the dashboard deletes its records, replays, and reviewer logs.

Code access

You install the Ripplo GitHub App on the repositories you choose. These are the permissions it asks for, as GitHub names them. None of them can change your code.

PermissionAccessWhy Ripplo asks for it
ContentsReadTo read your code and find the user workflows a change touches.
Pull requestsReadThe title, commits, and state of a pull request.
DeploymentsReadTo know when a pull request preview has deployed.
IssuesRead and writeTo post Ripplo's comment on the pull request, and to create a GitHub issue when you ask for one from the dashboard.
ChecksRead and writeTo post the review's result as a check on the commit.
MetadataReadRequired by GitHub on every app.
Email addressesReadTo sign you in to Ripplo with GitHub.

To revoke all of the permissions above, uninstall the app from your organization's GitHub Apps settings.

Project access and environment management

A project is visible only to members of your organization. Ripplo has three types of users: members, admins, and owners.

  • Members can see the project, start reviews and coverage, triage findings, and change review settings such as reviewing every push.
  • Admins can do everything members can. They can also manage environments, sign-in connections, the GitHub connection, and billing.
  • Owners can do everything admins can. They can also delete the organization, which deletes all of its stored data.

The environment settings for a projectThe environment settings for a project

Incidents and contact

If a security incident affects your data, we will email all of the owners on your organization within 72 hours.

Vulnerabilities and security questionnaires go to mail@ripplo.ai, also listed at ripplo.ai/.well-known/security.txt.