Skip to content

Commit 12a0312

Browse files
khaliqgantProactive Runtime Botgithub-actions[bot]
authored
Add privacy page (#1011)
* Add privacy page * style: auto-format with Prettier --------- Co-authored-by: Proactive Runtime Bot <agent@agent-relay.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 parent c8c57ce commit 12a0312

4 files changed

Lines changed: 389 additions & 0 deletions

File tree

web/app/privacy/page.tsx

Lines changed: 243 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,243 @@
1+
import type { Metadata } from 'next';
2+
import Link from 'next/link';
3+
4+
import { GitHubStarsBadge } from '../../components/GitHubStars';
5+
import { SiteFooter } from '../../components/SiteFooter';
6+
import { SiteNav } from '../../components/SiteNav';
7+
import { absoluteUrl, SITE_EMAIL } from '../../lib/site';
8+
import s from './privacy.module.css';
9+
10+
export const metadata: Metadata = {
11+
title: 'Privacy Policy - Agent Relay',
12+
description:
13+
'How Agent Relay collects, uses, and protects information for the website, open-source tools, and cloud services.',
14+
alternates: {
15+
canonical: absoluteUrl('/privacy'),
16+
},
17+
};
18+
19+
export default function PrivacyPage() {
20+
return (
21+
<div className={s.page}>
22+
<SiteNav actions={<GitHubStarsBadge />} />
23+
24+
<main className={s.content}>
25+
<p className={s.meta}>Last updated: May 27, 2026</p>
26+
<h1 className={s.title}>Privacy Policy</h1>
27+
<p className={s.subtitle}>
28+
Agent Relay is infrastructure for agents that communicate and coordinate work. This policy explains
29+
what information we collect through agentrelay.com, the open-source Agent Relay tools, and hosted
30+
Agent Relay Cloud services.
31+
</p>
32+
33+
<section className={s.section}>
34+
<h2>Scope</h2>
35+
<p>
36+
This policy applies to Agent Relay products and services operated by Agent Workforce, including
37+
the Agent Relay website, CLI telemetry, hosted cloud workspaces, integrations, billing, and
38+
support communications. Open-source use of Agent Relay can run locally without an Agent Relay
39+
Cloud account.
40+
</p>
41+
</section>
42+
43+
<section className={s.section}>
44+
<h2>Information we collect</h2>
45+
<div className={s.tableWrapper}>
46+
<table className={s.table}>
47+
<thead>
48+
<tr>
49+
<th>Category</th>
50+
<th>Examples</th>
51+
<th>Why we use it</th>
52+
</tr>
53+
</thead>
54+
<tbody>
55+
<tr>
56+
<td>Account</td>
57+
<td>
58+
Email address, display name, GitHub username, GitHub ID, avatar URL, plan, verification
59+
status
60+
</td>
61+
<td>
62+
Create accounts, authenticate users, manage plans, and show profile context in the product
63+
</td>
64+
</tr>
65+
<tr>
66+
<td>Cloud workspaces</td>
67+
<td>
68+
Workspace names, status, compute provider IDs, public URLs, custom domains, team
69+
memberships
70+
</td>
71+
<td>Provision, operate, secure, and troubleshoot hosted agent workspaces</td>
72+
</tr>
73+
<tr>
74+
<td>Repositories and projects</td>
75+
<td>
76+
Repository full names, GitHub repository IDs, default branches, private/public status,
77+
project group settings
78+
</td>
79+
<td>
80+
Connect workspaces to repositories, route agent work, and maintain project configuration
81+
</td>
82+
</tr>
83+
<tr>
84+
<td>Agent activity</td>
85+
<td>
86+
Agent names, session status, summaries, end markers, memory metrics, crash details,
87+
alerts, queued message metadata
88+
</td>
89+
<td>
90+
Run cloud agents, preserve session context when enabled, diagnose failures, and deliver
91+
requested work
92+
</td>
93+
</tr>
94+
<tr>
95+
<td>Integrations</td>
96+
<td>
97+
GitHub App installation IDs, granted permissions, provider account IDs, scopes, Slack
98+
team/channel/thread/user IDs
99+
</td>
100+
<td>Connect Agent Relay to GitHub, Slack, and other services you authorize</td>
101+
</tr>
102+
<tr>
103+
<td>Billing and usage</td>
104+
<td>
105+
Stripe customer and subscription IDs, plan status, invoice references, usage metrics
106+
</td>
107+
<td>
108+
Process subscriptions, enforce limits, prepare invoices, and support billing questions
109+
</td>
110+
</tr>
111+
<tr>
112+
<td>Website and telemetry</td>
113+
<td>
114+
Page views, browser information, coarse location, CLI version, operating system, command
115+
names
116+
</td>
117+
<td>Understand product usage, improve reliability, and prioritize fixes</td>
118+
</tr>
119+
</tbody>
120+
</table>
121+
</div>
122+
<p>
123+
The CLI telemetry collected by the open-source tool is described separately on the{' '}
124+
<Link href="/telemetry" className={s.link}>
125+
telemetry page
126+
</Link>
127+
, including how to opt out.
128+
</p>
129+
</section>
130+
131+
<section className={s.section}>
132+
<h2>Content you provide</h2>
133+
<p>
134+
Agent Relay may process source code, repository content, prompts, messages, files, issue text,
135+
pull request text, Slack messages, and agent output when you connect repositories or integrations
136+
and ask agents to work on them. Hosted workspaces need access to that content to perform the
137+
actions you request.
138+
</p>
139+
<p>
140+
Cloud session persistence features may store structured summaries, decisions, completed tasks,
141+
file references, and other context emitted by agents. You control which repositories, workspaces,
142+
and integrations you connect.
143+
</p>
144+
</section>
145+
146+
<section className={s.section}>
147+
<h2>How we use information</h2>
148+
<ul className={s.list}>
149+
<li>Provide, maintain, and secure Agent Relay services</li>
150+
<li>Authenticate users and manage sessions, teams, and permissions</li>
151+
<li>Provision and operate hosted workspaces and connected integrations</li>
152+
<li>Route messages, tasks, approvals, and agent activity across workspaces</li>
153+
<li>Process subscriptions, usage limits, invoices, and billing support</li>
154+
<li>Debug failures, detect abuse, improve reliability, and develop new features</li>
155+
<li>Communicate about service updates, support requests, and account notices</li>
156+
</ul>
157+
</section>
158+
159+
<section className={s.section}>
160+
<h2>Integrations and service providers</h2>
161+
<p>
162+
Agent Relay uses third-party services to operate the product. These may include hosting and
163+
database providers, GitHub for repository access, Slack for workspace messaging, Nango for OAuth
164+
connection management, Stripe for billing, and PostHog for website and product analytics.
165+
</p>
166+
<p>
167+
OAuth tokens and provider credentials are handled according to the integration flow you authorize.
168+
Agent Relay Cloud stores provider connection metadata and may use workspace-local credentials or
169+
provider-managed token storage to perform requested actions.
170+
</p>
171+
</section>
172+
173+
<section className={s.section}>
174+
<h2>How we share information</h2>
175+
<p>
176+
We do not sell personal information. We share information with service providers only as needed to
177+
operate Agent Relay, with integrations you connect, as directed by workspace administrators, to
178+
comply with law, or to protect the security and integrity of the service.
179+
</p>
180+
</section>
181+
182+
<section className={s.section}>
183+
<h2>Security and retention</h2>
184+
<p>
185+
We use technical and organizational safeguards designed to protect the information processed by
186+
Agent Relay. No system is perfectly secure, so you should connect only the repositories,
187+
workspaces, and integrations needed for your work.
188+
</p>
189+
<p>
190+
We retain information for as long as needed to provide the service, comply with legal obligations,
191+
resolve disputes, enforce agreements, preserve security records, and maintain backups. Some
192+
operational logs and audit records may be retained after account or workspace deletion where
193+
required for security, billing, or compliance.
194+
</p>
195+
</section>
196+
197+
<section className={s.section}>
198+
<h2>Your choices</h2>
199+
<ul className={s.list}>
200+
<li>Disable CLI telemetry by following the instructions on the telemetry page.</li>
201+
<li>
202+
Disconnect GitHub, Slack, or other integrations from the relevant provider or Agent Relay
203+
settings.
204+
</li>
205+
<li>Delete workspaces and repositories you no longer want Agent Relay Cloud to operate on.</li>
206+
<li>Use local open-source Agent Relay workflows when you do not need hosted cloud services.</li>
207+
<li>Contact us to request access, correction, export, or deletion of account information.</li>
208+
</ul>
209+
</section>
210+
211+
<section className={s.section}>
212+
<h2>International users</h2>
213+
<p>
214+
Agent Relay is operated from the United States and may process information in the United States or
215+
other countries where our providers operate. By using the service, you understand that information
216+
may be transferred outside your country of residence.
217+
</p>
218+
</section>
219+
220+
<section className={s.section}>
221+
<h2>Changes</h2>
222+
<p>
223+
We may update this policy as Agent Relay changes. When we make material changes, we will update
224+
the date above and provide additional notice when appropriate.
225+
</p>
226+
</section>
227+
228+
<section className={s.section}>
229+
<h2>Contact</h2>
230+
<p>
231+
Questions or privacy requests can be sent to{' '}
232+
<a href={`mailto:${SITE_EMAIL}`} className={s.link}>
233+
{SITE_EMAIL}
234+
</a>
235+
.
236+
</p>
237+
</section>
238+
</main>
239+
240+
<SiteFooter />
241+
</div>
242+
);
243+
}

web/app/privacy/privacy.module.css

Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
.page {
2+
min-height: 100vh;
3+
background: var(--bg);
4+
color: var(--fg);
5+
font-family: var(--font-geist-sans), sans-serif;
6+
-webkit-font-smoothing: antialiased;
7+
}
8+
9+
.content {
10+
max-width: 760px;
11+
margin: 0 auto;
12+
padding: 80px 24px 64px;
13+
}
14+
15+
.meta {
16+
color: var(--fg-muted);
17+
font-size: 0.875rem;
18+
line-height: 1.6;
19+
margin-bottom: 10px;
20+
}
21+
22+
.title {
23+
font-size: 2.25rem;
24+
font-weight: 700;
25+
letter-spacing: -0.02em;
26+
margin-bottom: 12px;
27+
}
28+
29+
.subtitle {
30+
font-size: 1.125rem;
31+
color: var(--fg-muted);
32+
line-height: 1.6;
33+
margin-bottom: 48px;
34+
}
35+
36+
.section {
37+
margin-bottom: 40px;
38+
}
39+
40+
.section h2 {
41+
font-size: 1.25rem;
42+
font-weight: 600;
43+
margin-bottom: 12px;
44+
letter-spacing: -0.01em;
45+
}
46+
47+
.section p {
48+
line-height: 1.7;
49+
margin-bottom: 12px;
50+
color: var(--fg-muted);
51+
}
52+
53+
.section p strong {
54+
color: var(--fg);
55+
}
56+
57+
.tableWrapper {
58+
overflow-x: auto;
59+
margin: 8px 0 20px;
60+
border: 1px solid var(--border);
61+
border-radius: 8px;
62+
}
63+
64+
.table {
65+
width: 100%;
66+
border-collapse: collapse;
67+
font-size: 0.875rem;
68+
}
69+
70+
.table th {
71+
text-align: left;
72+
font-weight: 600;
73+
padding: 10px 14px;
74+
border-bottom: 1px solid var(--border);
75+
background: var(--code-bg, color-mix(in srgb, var(--fg) 4%, var(--bg)));
76+
}
77+
78+
.table td {
79+
padding: 10px 14px;
80+
border-bottom: 1px solid var(--border);
81+
color: var(--fg-muted);
82+
vertical-align: top;
83+
}
84+
85+
.table tr:last-child td {
86+
border-bottom: none;
87+
}
88+
89+
.list {
90+
list-style: none;
91+
padding: 0;
92+
margin: 8px 0 16px;
93+
}
94+
95+
.list li {
96+
position: relative;
97+
padding-left: 20px;
98+
line-height: 1.7;
99+
color: var(--fg-muted);
100+
margin-bottom: 4px;
101+
}
102+
103+
.list li::before {
104+
content: '';
105+
position: absolute;
106+
left: 0;
107+
top: 11px;
108+
width: 6px;
109+
height: 6px;
110+
border-radius: 50%;
111+
background: var(--primary);
112+
opacity: 0.6;
113+
}
114+
115+
.link {
116+
color: var(--primary);
117+
text-decoration: underline;
118+
text-underline-offset: 3px;
119+
}
120+
121+
.link:hover {
122+
opacity: 0.8;
123+
}
124+
125+
@media (max-width: 640px) {
126+
.content {
127+
padding: 64px 18px 48px;
128+
}
129+
130+
.title {
131+
font-size: 2rem;
132+
}
133+
134+
.subtitle {
135+
margin-bottom: 36px;
136+
}
137+
}

web/app/sitemap.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,12 @@ export default function sitemap(): MetadataRoute.Sitemap {
5050
changeFrequency: 'monthly',
5151
priority: 0.5,
5252
},
53+
{
54+
url: absoluteUrl('/privacy'),
55+
lastModified: now,
56+
changeFrequency: 'yearly',
57+
priority: 0.4,
58+
},
5359
];
5460

5561
const docsRoutes: MetadataRoute.Sitemap = getAllDocSlugs().map((slug) => ({

0 commit comments

Comments
 (0)