1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
|
import { Hono } from "hono";
import { Layout } from "../../views/layout";
import { softAuth } from "../../middleware/auth";
import type { AuthEnv } from "../../middleware/auth";
const privacy = new Hono<AuthEnv>();
privacy.use("*", softAuth);
privacy.get("/legal/privacy", (c) => {
const user = c.get("user");
return c.html(
<Layout title="Privacy Policy" user={user}>
<article style="max-width: 820px; margin: 0 auto; line-height: 1.7; font-size: 15px">
<h1 style="font-size: 28px; margin-bottom: 8px">Privacy Policy</h1>
<p style="color: var(--text-muted); font-size: 13px; margin-bottom: 24px">
DRAFT — requires attorney review. Last updated: 2026-04-16.
</p>
<div
style="background: rgba(210, 153, 34, 0.1); border: 1px solid var(--yellow); color: var(--yellow); padding: 12px 16px; border-radius: var(--radius); margin-bottom: 24px; font-size: 13px"
>
<strong>DRAFT notice.</strong> This Privacy Policy is a good-faith
draft published during Gluecron's pre-launch phase. It has not been
reviewed by privacy counsel. Article 13 GDPR disclosures,
sub-processor lists, and retention schedules are provisional and
will be finalized before general availability.
</div>
<h2>1. Data we collect</h2>
<ul>
<li>
<strong>Account data:</strong> username, email address, display
name, hashed password, 2FA secrets, WebAuthn credentials, SSH
public keys, personal access tokens (stored as SHA-256 hashes).
</li>
<li>
<strong>Git content:</strong> repositories you push, including
commits, branches, tags, file contents, commit messages, and
author metadata embedded in commits.
</li>
<li>
<strong>AI interactions:</strong> prompts you submit to AI
features (chat, code review, explanations, completions) and
responses generated by third-party AI providers.
</li>
<li>
<strong>Usage telemetry:</strong> requests, request IDs, rate-limit
counters, error traces, audit events, deployment events, gate run
results.
</li>
<li>
<strong>Network data:</strong> IP address, user-agent string,
request timestamps, session cookie identifiers.
</li>
</ul>
<h2>2. How we use it</h2>
<ul>
<li>To operate, maintain, and secure the Service.</li>
<li>
To provide AI-assisted features that you explicitly invoke (code
review, chat, explanations, test generation, auto-repair,
dependency updates, incident summaries, semantic search).
</li>
<li>
To detect, investigate, and prevent abuse, fraud, security
incidents, and violations of our Terms or AUP.
</li>
<li>
To comply with legal obligations, respond to lawful requests from
authorities, and enforce our rights.
</li>
<li>
To communicate service-related messages (security alerts, policy
updates, incident notifications).
</li>
</ul>
<h2>3. Data controller</h2>
<p>
The data controller is <strong>Gluecron</strong> (entity name
placeholder — <em>DRAFT</em>; final legal entity name and registered
address to be inserted prior to launch). Contact:
support@gluecron.com (placeholder).
</p>
<h2>4. Sub-processors</h2>
<p>
We engage the following sub-processors to operate the Service. This
list is current as of the date above and may change; we intend to
provide 30 days' notice of material changes.
</p>
<div style="overflow-x: auto; margin: 12px 0">
<table style="width: 100%; border-collapse: collapse; font-size: 14px; border: 1px solid var(--border); border-radius: var(--radius)">
<thead style="background: var(--bg-tertiary)">
<tr>
<th style="text-align: left; padding: 8px 12px; border-bottom: 1px solid var(--border)">
Sub-processor
</th>
<th style="text-align: left; padding: 8px 12px; border-bottom: 1px solid var(--border)">
Purpose
</th>
<th style="text-align: left; padding: 8px 12px; border-bottom: 1px solid var(--border)">
Data categories
</th>
</tr>
</thead>
<tbody>
<tr>
<td style="padding: 8px 12px; border-bottom: 1px solid var(--border)">
Neon (neon.tech)
</td>
<td style="padding: 8px 12px; border-bottom: 1px solid var(--border)">
Managed PostgreSQL (primary database)
</td>
<td style="padding: 8px 12px; border-bottom: 1px solid var(--border)">
Account data, metadata, telemetry
</td>
</tr>
<tr>
<td style="padding: 8px 12px; border-bottom: 1px solid var(--border)">
Anthropic
</td>
<td style="padding: 8px 12px; border-bottom: 1px solid var(--border)">
Claude API (AI features)
</td>
<td style="padding: 8px 12px; border-bottom: 1px solid var(--border)">
AI prompts (including code snippets you submit)
</td>
</tr>
<tr>
<td style="padding: 8px 12px; border-bottom: 1px solid var(--border)">
Resend (if enabled)
</td>
<td style="padding: 8px 12px; border-bottom: 1px solid var(--border)">
Transactional email delivery
</td>
<td style="padding: 8px 12px; border-bottom: 1px solid var(--border)">
Email address, message contents
</td>
</tr>
<tr>
<td style="padding: 8px 12px; border-bottom: 1px solid var(--border)">
Fly.io / Railway
</td>
<td style="padding: 8px 12px; border-bottom: 1px solid var(--border)">
Application hosting (compute)
</td>
<td style="padding: 8px 12px; border-bottom: 1px solid var(--border)">
All transient request data
</td>
</tr>
<tr>
<td style="padding: 8px 12px">Cloudflare (if fronting)</td>
<td style="padding: 8px 12px">CDN, DDoS mitigation, DNS</td>
<td style="padding: 8px 12px">
IP address, request metadata
</td>
</tr>
</tbody>
</table>
</div>
<p>
<em>DRAFT — requires attorney review; sub-processor list must be
verified against signed DPAs prior to launch.</em>
</p>
<h2>5. Data retention</h2>
<ul>
<li>
<strong>Account data:</strong> retained while your account is
active and for thirty (30) days after account deletion, after
which we intend to purge it.
</li>
<li>
<strong>Git repository content:</strong> retained for the
lifetime of your account; deleting a repository is intended to
purge its content within 30 days.
</li>
<li>
<strong>Sessions:</strong> 30 days (rolling).
</li>
<li>
<strong>Audit and security logs:</strong> up to 12 months for
security and abuse-detection purposes.
</li>
<li>
<strong>Backups:</strong> may persist for up to 30 days beyond
the primary retention period.
</li>
</ul>
<h2>6. GDPR compliance (EU / UK residents)</h2>
<p>
If you are in the European Economic Area, the United Kingdom, or
Switzerland, we process your data under the following lawful bases
(GDPR Art. 6): (a) performance of a contract (providing the
Service to you); (b) our legitimate interests in securing and
improving the Service; (c) compliance with legal obligations; and
(d) where required, your consent (which you may withdraw at any
time).
</p>
<p>
<strong>Article 13 disclosures.</strong> The identity of the
controller, data categories, purposes, retention, recipients, and
your rights are described throughout this Policy. International
transfers of personal data outside the EEA/UK will rely on the EU
<em> Standard Contractual Clauses</em> ("SCCs") or another approved
transfer mechanism.
</p>
<p>
<strong>Your rights</strong> include access, rectification,
erasure, restriction, portability, and objection. You may lodge a
complaint with your local supervisory authority. <em>DRAFT —
requires attorney review.</em>
</p>
<h2>7. CCPA / CPRA compliance (California residents)</h2>
<p>
If you are a California resident, you have the right to (a) know
what personal information we collect, use, disclose, and sell or
share; (b) delete your personal information, subject to legal
exceptions; (c) correct inaccurate personal information; (d) opt
out of the sale or sharing of personal information (we do not
sell personal information); and (e) non-discrimination for
exercising these rights.
</p>
<h2>8. Right to erasure / access</h2>
<p>
To exercise any of the rights above, email{" "}
<strong>support@gluecron.com</strong> (placeholder). We intend to
respond within thirty (30) days. We may need to verify your
identity before acting. Some data (e.g., audit logs required for
security, legal holds) may be exempt from deletion.
</p>
<h2>9. Cookies</h2>
<p>
We use only <strong>strictly necessary cookies</strong> (session
authentication, theme preference, CSRF). We do not use advertising
cookies. We do not use third-party analytics cookies on our
marketing surfaces.
</p>
<h2>10. Children</h2>
<p>
The Service is not directed to children under 18. We do not
knowingly collect personal information from children under 13
(COPPA, U.S.) or 16 (GDPR, EEA). If you believe a child has
provided us information in violation of this Policy, contact us
and we will delete it.
</p>
<h2>11. Breach notification</h2>
<p>
In the event of a personal-data breach that is likely to result in
a risk to your rights and freedoms, we intend to notify the
relevant supervisory authority within <strong>72 hours</strong> of
becoming aware, as required by GDPR Art. 33, and to notify
affected users without undue delay where required.
</p>
<h2>12. Changes to this Policy</h2>
<p>
We intend to provide thirty (30) days' notice of material changes
to this Policy, by email or by posting a notice in the Service.
</p>
<hr style="margin: 32px 0; border: none; border-top: 1px solid var(--border)" />
<p style="font-size: 13px; color: var(--text-muted)">
See also:{" "}
<a href="/legal/terms">Terms of Service</a> ·{" "}
<a href="/legal/acceptable-use">Acceptable Use Policy</a> ·{" "}
<a href="/legal/dmca">DMCA Policy</a>
</p>
</article>
</Layout>
);
});
export default privacy;
|