Pre-launch — Gluecron is in final validation. Public signups and git hosting for non-owner users open after launch review.
Commit89b9e21unknown_key

feat(legal): add draft Terms, Privacy, AUP, DMCA pages

feat(legal): add draft Terms, Privacy, AUP, DMCA pages

Aggressive-protection pre-launch drafts flagged "DRAFT — requires
attorney review" throughout. Covers binding individual arbitration with
30-day opt-out and small-claims carve-out, $100/12-month liability cap,
no consequential damages, AS-IS disclaimers, user indemnification, NZ
governing law (inferred, flagged), GDPR/CCPA/COPPA, 72-hour breach
notification, sub-processor table (Neon, Anthropic, Resend, Fly/Railway,
Cloudflare), 17 USC §512 DMCA notice/counter-notice with interim
no-safe-harbor notice, repeat-infringer policy, and zero-tolerance CSAM
termination with law-enforcement reporting.
Claude committed on April 16, 2026Parent: 7703650
4 files changed+915089b9e21ef8bb0a5141cdcfe670bc84eae1543bf4
4 changed files+915−0
Addedsrc/routes/legal/acceptable-use.tsx+171−0View fileUnifiedSplit
1/**
2 * Acceptable Use Policy — aggressive, explicit prohibitions with
3 * zero-tolerance categories and enforcement ladder.
4 *
5 * DRAFT — requires attorney review.
6 */
7
8import { Hono } from "hono";
9import { Layout } from "../../views/layout";
10import { softAuth } from "../../middleware/auth";
11import type { AuthEnv } from "../../middleware/auth";
12
13const acceptableUse = new Hono<AuthEnv>();
14
15acceptableUse.use("*", softAuth);
16
17acceptableUse.get("/legal/acceptable-use", (c) => {
18 const user = c.get("user");
19 return c.html(
20 <Layout title="Acceptable Use Policy" user={user}>
21 <article style="max-width: 820px; margin: 0 auto; line-height: 1.7; font-size: 15px">
22 <h1 style="font-size: 28px; margin-bottom: 8px">
23 Acceptable Use Policy
24 </h1>
25 <p style="color: var(--text-muted); font-size: 13px; margin-bottom: 24px">
26 DRAFT — requires attorney review. Last updated: 2026-04-16.
27 </p>
28
29 <div
30 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"
31 >
32 <strong>DRAFT notice.</strong> This Acceptable Use Policy ("AUP")
33 is incorporated by reference into the{" "}
34 <a href="/legal/terms">Terms of Service</a>. Violation of this AUP
35 is a material breach of the Terms and may result in immediate
36 suspension or termination.
37 </div>
38
39 <h2>Prohibited uses</h2>
40 <p>
41 You may not, and may not permit any third party (including your
42 users, contributors, or integrations) to, use the Service to
43 engage in, promote, or facilitate any of the following:
44 </p>
45 <ol>
46 <li>
47 <strong>Illegal content or activity.</strong> Any content or
48 activity unlawful in any jurisdiction reasonably connected to
49 you, Gluecron, or the intended audience. This includes, without
50 limitation, fraud, money laundering, sanctions evasion, illegal
51 gambling, illegal drug sale, and trafficking.
52 </li>
53 <li>
54 <strong>Child sexual abuse material ("CSAM").</strong> Zero
55 tolerance. Any upload, storage, transmission, generation (including
56 via AI features), or solicitation of CSAM results in
57 <strong> immediate and permanent account termination</strong>,
58 preservation of evidence, and <strong>mandatory reporting to law
59 enforcement</strong> and the National Center for Missing &amp;
60 Exploited Children ("NCMEC") or equivalent authority, as required
61 by applicable law.
62 </li>
63 <li>
64 <strong>Malware and harmful code.</strong> Creating,
65 distributing, or operating viruses, worms, trojans, ransomware,
66 rootkits, keyloggers, cryptominers deployed without consent, or
67 any software designed to damage, disable, or gain unauthorized
68 access to systems or data.
69 </li>
70 <li>
71 <strong>Stress testing, DDoS, and security-offensive tooling.</strong>{" "}
72 Conducting load tests, stress tests, denial-of-service attacks,
73 or vulnerability exploitation against the Service, its
74 infrastructure, or any third-party system you are not explicitly
75 authorized in writing to test.
76 </li>
77 <li>
78 <strong>Scraping and automated abuse.</strong> Scraping,
79 crawling, or automated harvesting of the Service (including web
80 UI surfaces) except via our public APIs and within rate limits.
81 Use of the Service to scrape or abuse third-party services is
82 also prohibited.
83 </li>
84 <li>
85 <strong>Impersonation and deception.</strong> Impersonating any
86 person, organization, or Gluecron staff; creating misleading
87 usernames, organizations, or repositories; misrepresenting your
88 affiliation or authority.
89 </li>
90 <li>
91 <strong>Hate speech, harassment, and threats.</strong> Content
92 that incites violence, targets individuals or groups on the
93 basis of protected characteristics, or constitutes targeted
94 harassment, doxing, or credible threats.
95 </li>
96 <li>
97 <strong>Copyright and trademark infringement.</strong> Posting
98 content that infringes a third party's intellectual-property
99 rights. See our{" "}
100 <a href="/legal/dmca">DMCA Policy</a> for the notice-and-takedown
101 procedure.
102 </li>
103 <li>
104 <strong>Privacy violations.</strong> Publishing another person's
105 private or personally-identifying information without their
106 consent (including doxing, non-consensual imagery, and leaked
107 credentials, API keys, or secrets belonging to another party).
108 </li>
109 <li>
110 <strong>Circumventing security or rate limits.</strong>{" "}
111 Bypassing, disabling, or interfering with authentication,
112 authorization, rate limiting, quota enforcement, or billing
113 controls; sharing credentials; creating multiple accounts to
114 evade limits or bans.
115 </li>
116 <li>
117 <strong>Commercial abuse of the free tier.</strong> Use of free
118 allowances beyond reasonable fair-use limits, including but not
119 limited to: re-selling hosting, using Gluecron as a public-good
120 CDN for unrelated workloads, or running continuous
121 compute-intensive workloads without a paid plan.
122 </li>
123 </ol>
124
125 <h2>Enforcement</h2>
126 <ul>
127 <li>
128 <strong>Immediate suspension</strong> — for severe violations
129 including CSAM, illegal content, active security attacks,
130 credible threats, and any conduct posing imminent harm.
131 Suspension is at our sole discretion and may occur without prior
132 notice.
133 </li>
134 <li>
135 <strong>Warning and temporary suspension</strong> — for lesser
136 violations, we may (at our discretion) issue a warning,
137 rate-limit the account, temporarily suspend specific features,
138 or remove specific content, before full termination.
139 </li>
140 <li>
141 <strong>Appeals</strong> — you may appeal an enforcement action
142 by emailing <strong>support@gluecron.com</strong> (placeholder).
143 We intend to respond within fourteen (14) days. Our decisions
144 are final at our discretion, subject to applicable law.
145 </li>
146 <li>
147 <strong>No refunds.</strong> Accounts terminated for AUP
148 violations are not eligible for refunds of any prepaid fees.
149 </li>
150 <li>
151 <strong>Law-enforcement cooperation.</strong> We will cooperate
152 with valid legal process and may, at our discretion, preserve
153 and disclose account information and content where we believe
154 in good faith that disclosure is necessary to prevent imminent
155 harm or comply with applicable law.
156 </li>
157 </ul>
158
159 <hr style="margin: 32px 0; border: none; border-top: 1px solid var(--border)" />
160 <p style="font-size: 13px; color: var(--text-muted)">
161 See also:{" "}
162 <a href="/legal/terms">Terms of Service</a> ·{" "}
163 <a href="/legal/privacy">Privacy Policy</a> ·{" "}
164 <a href="/legal/dmca">DMCA Policy</a>
165 </p>
166 </article>
167 </Layout>
168 );
169});
170
171export default acceptableUse;
Addedsrc/routes/legal/dmca.tsx+176−0View fileUnifiedSplit
1/**
2 * DMCA Copyright Policy — 17 USC §512 notice-and-takedown procedure.
3 *
4 * DRAFT — requires attorney review. Designated-agent registration with
5 * the U.S. Copyright Office has not yet been completed; safe-harbor
6 * protection is not assured during this interim pre-launch period.
7 */
8
9import { Hono } from "hono";
10import { Layout } from "../../views/layout";
11import { softAuth } from "../../middleware/auth";
12import type { AuthEnv } from "../../middleware/auth";
13
14const dmca = new Hono<AuthEnv>();
15
16dmca.use("*", softAuth);
17
18dmca.get("/legal/dmca", (c) => {
19 const user = c.get("user");
20 return c.html(
21 <Layout title="DMCA Policy" user={user}>
22 <article style="max-width: 820px; margin: 0 auto; line-height: 1.7; font-size: 15px">
23 <h1 style="font-size: 28px; margin-bottom: 8px">
24 DMCA Copyright Policy
25 </h1>
26 <p style="color: var(--text-muted); font-size: 13px; margin-bottom: 24px">
27 DRAFT — requires attorney review. Last updated: 2026-04-16.
28 </p>
29
30 <div
31 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"
32 >
33 <strong>DRAFT notice.</strong> Gluecron is in pre-launch. This DMCA
34 Policy has not yet been reviewed by counsel.
35 </div>
36
37 <h2>1. Notice-and-takedown procedure</h2>
38 <p>
39 Gluecron respects the intellectual-property rights of others and
40 expects its users to do the same. In accordance with the Digital
41 Millennium Copyright Act ("DMCA"), 17 U.S.C. &sect; 512, we will
42 respond expeditiously to properly-formed notices of alleged
43 copyright infringement submitted by the copyright owner or their
44 authorized agent.
45 </p>
46
47 <h2>2. Designated agent</h2>
48 <p>
49 <strong>Interim-period notice.</strong> We intend to register a
50 DMCA designated agent with the U.S. Copyright Office prior to
51 operating as a paid hosting provider. Until that registration is
52 complete, please send DMCA notices to{" "}
53 <strong>dmca@gluecron.com</strong> (placeholder).{" "}
54 <strong>
55 Safe-harbor protection under 17 U.S.C. &sect; 512(c) is not
56 assured during this interim period.
57 </strong>{" "}
58 We will nonetheless process properly-formed notices in good faith.{" "}
59 <em>DRAFT — requires attorney review.</em>
60 </p>
61
62 <h2>3. Required notice elements (17 U.S.C. &sect; 512(c)(3))</h2>
63 <p>
64 A valid DMCA notice must include all of the following:
65 </p>
66 <ol>
67 <li>
68 A physical or electronic signature of a person authorized to
69 act on behalf of the owner of the exclusive right that is
70 allegedly infringed.
71 </li>
72 <li>
73 Identification of the copyrighted work claimed to have been
74 infringed, or, if multiple copyrighted works at a single online
75 site are covered, a representative list of such works.
76 </li>
77 <li>
78 Identification of the material claimed to be infringing or the
79 subject of infringing activity, and information reasonably
80 sufficient to permit us to locate the material (e.g., a URL on
81 Gluecron, repository owner and name, commit SHA, file path).
82 </li>
83 <li>
84 Information reasonably sufficient to permit us to contact the
85 complaining party, including name, mailing address, telephone
86 number, and email address.
87 </li>
88 <li>
89 A statement that the complaining party has a good-faith belief
90 that the use of the material in the manner complained of is not
91 authorized by the copyright owner, its agent, or the law.
92 </li>
93 <li>
94 A statement that the information in the notification is
95 accurate, and <strong>under penalty of perjury</strong>, that
96 the complaining party is authorized to act on behalf of the
97 owner of an exclusive right that is allegedly infringed.
98 </li>
99 </ol>
100 <p>
101 Notices missing any of these elements may be invalid and we may
102 decline to act on them.
103 </p>
104
105 <h2>4. Counter-notice procedure (17 U.S.C. &sect; 512(g))</h2>
106 <p>
107 If you believe material you posted was removed or disabled as a
108 result of mistake or misidentification, you may submit a
109 counter-notice to <strong>dmca@gluecron.com</strong> (placeholder)
110 containing the following:
111 </p>
112 <ol>
113 <li>Your physical or electronic signature.</li>
114 <li>
115 Identification of the material that was removed or disabled, and
116 the location at which the material appeared before removal.
117 </li>
118 <li>
119 A statement <strong>under penalty of perjury</strong> that you
120 have a good-faith belief that the material was removed or
121 disabled as a result of mistake or misidentification.
122 </li>
123 <li>
124 Your name, address, telephone number, and a statement that you
125 consent to the jurisdiction of the U.S. Federal District Court
126 for the judicial district in which your address is located (or,
127 if your address is outside the U.S., any district in which
128 Gluecron may be found), and that you will accept service of
129 process from the person who provided the original notice or an
130 agent of that person.
131 </li>
132 </ol>
133 <p>
134 We may restore the material in not less than 10 and not more than
135 14 business days following receipt of a valid counter-notice,
136 unless the complaining party notifies us that they have filed an
137 action seeking a court order to restrain you from further
138 infringement.
139 </p>
140
141 <h2>5. Repeat-infringer policy</h2>
142 <p>
143 In accordance with 17 U.S.C. &sect; 512(i), we have adopted a
144 policy of <strong>terminating accounts</strong>, in appropriate
145 circumstances and at our sole discretion, of users who are
146 determined to be repeat infringers. We consider three or more
147 valid takedown notices within any 12-month period sufficient to
148 trigger a repeat-infringer review, though we reserve the right to
149 terminate at any threshold based on the severity and nature of
150 the infringement.
151 </p>
152
153 <h2>6. Good-faith requirement and misrepresentation</h2>
154 <p>
155 Under 17 U.S.C. &sect; 512(f), <strong>any person who knowingly
156 materially misrepresents</strong> (a) that material or activity is
157 infringing, or (b) that material or activity was removed or
158 disabled by mistake or misidentification, <strong>shall be
159 liable for any damages</strong> — including costs and attorneys'
160 fees — incurred by the alleged infringer, the copyright owner, or
161 by Gluecron. Please do not submit false claims.
162 </p>
163
164 <hr style="margin: 32px 0; border: none; border-top: 1px solid var(--border)" />
165 <p style="font-size: 13px; color: var(--text-muted)">
166 See also:{" "}
167 <a href="/legal/terms">Terms of Service</a> ·{" "}
168 <a href="/legal/privacy">Privacy Policy</a> ·{" "}
169 <a href="/legal/acceptable-use">Acceptable Use Policy</a>
170 </p>
171 </article>
172 </Layout>
173 );
174});
175
176export default dmca;
Addedsrc/routes/legal/privacy.tsx+289−0View fileUnifiedSplit
1/**
2 * Privacy Policy — GDPR + CCPA + COPPA aware.
3 *
4 * DRAFT — requires attorney review before any paid launch.
5 */
6
7import { Hono } from "hono";
8import { Layout } from "../../views/layout";
9import { softAuth } from "../../middleware/auth";
10import type { AuthEnv } from "../../middleware/auth";
11
12const privacy = new Hono<AuthEnv>();
13
14privacy.use("*", softAuth);
15
16privacy.get("/legal/privacy", (c) => {
17 const user = c.get("user");
18 return c.html(
19 <Layout title="Privacy Policy" user={user}>
20 <article style="max-width: 820px; margin: 0 auto; line-height: 1.7; font-size: 15px">
21 <h1 style="font-size: 28px; margin-bottom: 8px">Privacy Policy</h1>
22 <p style="color: var(--text-muted); font-size: 13px; margin-bottom: 24px">
23 DRAFT — requires attorney review. Last updated: 2026-04-16.
24 </p>
25
26 <div
27 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"
28 >
29 <strong>DRAFT notice.</strong> This Privacy Policy is a good-faith
30 draft published during Gluecron's pre-launch phase. It has not been
31 reviewed by privacy counsel. Article 13 GDPR disclosures,
32 sub-processor lists, and retention schedules are provisional and
33 will be finalized before general availability.
34 </div>
35
36 <h2>1. Data we collect</h2>
37 <ul>
38 <li>
39 <strong>Account data:</strong> username, email address, display
40 name, hashed password, 2FA secrets, WebAuthn credentials, SSH
41 public keys, personal access tokens (stored as SHA-256 hashes).
42 </li>
43 <li>
44 <strong>Git content:</strong> repositories you push, including
45 commits, branches, tags, file contents, commit messages, and
46 author metadata embedded in commits.
47 </li>
48 <li>
49 <strong>AI interactions:</strong> prompts you submit to AI
50 features (chat, code review, explanations, completions) and
51 responses generated by third-party AI providers.
52 </li>
53 <li>
54 <strong>Usage telemetry:</strong> requests, request IDs, rate-limit
55 counters, error traces, audit events, deployment events, gate run
56 results.
57 </li>
58 <li>
59 <strong>Network data:</strong> IP address, user-agent string,
60 request timestamps, session cookie identifiers.
61 </li>
62 </ul>
63
64 <h2>2. How we use it</h2>
65 <ul>
66 <li>To operate, maintain, and secure the Service.</li>
67 <li>
68 To provide AI-assisted features that you explicitly invoke (code
69 review, chat, explanations, test generation, auto-repair,
70 dependency updates, incident summaries, semantic search).
71 </li>
72 <li>
73 To detect, investigate, and prevent abuse, fraud, security
74 incidents, and violations of our Terms or AUP.
75 </li>
76 <li>
77 To comply with legal obligations, respond to lawful requests from
78 authorities, and enforce our rights.
79 </li>
80 <li>
81 To communicate service-related messages (security alerts, policy
82 updates, incident notifications).
83 </li>
84 </ul>
85
86 <h2>3. Data controller</h2>
87 <p>
88 The data controller is <strong>Gluecron</strong> (entity name
89 placeholder — <em>DRAFT</em>; final legal entity name and registered
90 address to be inserted prior to launch). Contact:
91 support@gluecron.com (placeholder).
92 </p>
93
94 <h2>4. Sub-processors</h2>
95 <p>
96 We engage the following sub-processors to operate the Service. This
97 list is current as of the date above and may change; we intend to
98 provide 30 days' notice of material changes.
99 </p>
100 <div style="overflow-x: auto; margin: 12px 0">
101 <table style="width: 100%; border-collapse: collapse; font-size: 14px; border: 1px solid var(--border); border-radius: var(--radius)">
102 <thead style="background: var(--bg-tertiary)">
103 <tr>
104 <th style="text-align: left; padding: 8px 12px; border-bottom: 1px solid var(--border)">
105 Sub-processor
106 </th>
107 <th style="text-align: left; padding: 8px 12px; border-bottom: 1px solid var(--border)">
108 Purpose
109 </th>
110 <th style="text-align: left; padding: 8px 12px; border-bottom: 1px solid var(--border)">
111 Data categories
112 </th>
113 </tr>
114 </thead>
115 <tbody>
116 <tr>
117 <td style="padding: 8px 12px; border-bottom: 1px solid var(--border)">
118 Neon (neon.tech)
119 </td>
120 <td style="padding: 8px 12px; border-bottom: 1px solid var(--border)">
121 Managed PostgreSQL (primary database)
122 </td>
123 <td style="padding: 8px 12px; border-bottom: 1px solid var(--border)">
124 Account data, metadata, telemetry
125 </td>
126 </tr>
127 <tr>
128 <td style="padding: 8px 12px; border-bottom: 1px solid var(--border)">
129 Anthropic
130 </td>
131 <td style="padding: 8px 12px; border-bottom: 1px solid var(--border)">
132 Claude API (AI features)
133 </td>
134 <td style="padding: 8px 12px; border-bottom: 1px solid var(--border)">
135 AI prompts (including code snippets you submit)
136 </td>
137 </tr>
138 <tr>
139 <td style="padding: 8px 12px; border-bottom: 1px solid var(--border)">
140 Resend (if enabled)
141 </td>
142 <td style="padding: 8px 12px; border-bottom: 1px solid var(--border)">
143 Transactional email delivery
144 </td>
145 <td style="padding: 8px 12px; border-bottom: 1px solid var(--border)">
146 Email address, message contents
147 </td>
148 </tr>
149 <tr>
150 <td style="padding: 8px 12px; border-bottom: 1px solid var(--border)">
151 Fly.io / Railway
152 </td>
153 <td style="padding: 8px 12px; border-bottom: 1px solid var(--border)">
154 Application hosting (compute)
155 </td>
156 <td style="padding: 8px 12px; border-bottom: 1px solid var(--border)">
157 All transient request data
158 </td>
159 </tr>
160 <tr>
161 <td style="padding: 8px 12px">Cloudflare (if fronting)</td>
162 <td style="padding: 8px 12px">CDN, DDoS mitigation, DNS</td>
163 <td style="padding: 8px 12px">
164 IP address, request metadata
165 </td>
166 </tr>
167 </tbody>
168 </table>
169 </div>
170 <p>
171 <em>DRAFT — requires attorney review; sub-processor list must be
172 verified against signed DPAs prior to launch.</em>
173 </p>
174
175 <h2>5. Data retention</h2>
176 <ul>
177 <li>
178 <strong>Account data:</strong> retained while your account is
179 active and for thirty (30) days after account deletion, after
180 which we intend to purge it.
181 </li>
182 <li>
183 <strong>Git repository content:</strong> retained for the
184 lifetime of your account; deleting a repository is intended to
185 purge its content within 30 days.
186 </li>
187 <li>
188 <strong>Sessions:</strong> 30 days (rolling).
189 </li>
190 <li>
191 <strong>Audit and security logs:</strong> up to 12 months for
192 security and abuse-detection purposes.
193 </li>
194 <li>
195 <strong>Backups:</strong> may persist for up to 30 days beyond
196 the primary retention period.
197 </li>
198 </ul>
199
200 <h2>6. GDPR compliance (EU / UK residents)</h2>
201 <p>
202 If you are in the European Economic Area, the United Kingdom, or
203 Switzerland, we process your data under the following lawful bases
204 (GDPR Art. 6): (a) performance of a contract (providing the
205 Service to you); (b) our legitimate interests in securing and
206 improving the Service; (c) compliance with legal obligations; and
207 (d) where required, your consent (which you may withdraw at any
208 time).
209 </p>
210 <p>
211 <strong>Article 13 disclosures.</strong> The identity of the
212 controller, data categories, purposes, retention, recipients, and
213 your rights are described throughout this Policy. International
214 transfers of personal data outside the EEA/UK will rely on the EU
215 <em> Standard Contractual Clauses</em> ("SCCs") or another approved
216 transfer mechanism.
217 </p>
218 <p>
219 <strong>Your rights</strong> include access, rectification,
220 erasure, restriction, portability, and objection. You may lodge a
221 complaint with your local supervisory authority. <em>DRAFT —
222 requires attorney review.</em>
223 </p>
224
225 <h2>7. CCPA / CPRA compliance (California residents)</h2>
226 <p>
227 If you are a California resident, you have the right to (a) know
228 what personal information we collect, use, disclose, and sell or
229 share; (b) delete your personal information, subject to legal
230 exceptions; (c) correct inaccurate personal information; (d) opt
231 out of the sale or sharing of personal information (we do not
232 sell personal information); and (e) non-discrimination for
233 exercising these rights.
234 </p>
235
236 <h2>8. Right to erasure / access</h2>
237 <p>
238 To exercise any of the rights above, email{" "}
239 <strong>support@gluecron.com</strong> (placeholder). We intend to
240 respond within thirty (30) days. We may need to verify your
241 identity before acting. Some data (e.g., audit logs required for
242 security, legal holds) may be exempt from deletion.
243 </p>
244
245 <h2>9. Cookies</h2>
246 <p>
247 We use only <strong>strictly necessary cookies</strong> (session
248 authentication, theme preference, CSRF). We do not use advertising
249 cookies. We do not use third-party analytics cookies on our
250 marketing surfaces.
251 </p>
252
253 <h2>10. Children</h2>
254 <p>
255 The Service is not directed to children under 18. We do not
256 knowingly collect personal information from children under 13
257 (COPPA, U.S.) or 16 (GDPR, EEA). If you believe a child has
258 provided us information in violation of this Policy, contact us
259 and we will delete it.
260 </p>
261
262 <h2>11. Breach notification</h2>
263 <p>
264 In the event of a personal-data breach that is likely to result in
265 a risk to your rights and freedoms, we intend to notify the
266 relevant supervisory authority within <strong>72 hours</strong> of
267 becoming aware, as required by GDPR Art. 33, and to notify
268 affected users without undue delay where required.
269 </p>
270
271 <h2>12. Changes to this Policy</h2>
272 <p>
273 We intend to provide thirty (30) days' notice of material changes
274 to this Policy, by email or by posting a notice in the Service.
275 </p>
276
277 <hr style="margin: 32px 0; border: none; border-top: 1px solid var(--border)" />
278 <p style="font-size: 13px; color: var(--text-muted)">
279 See also:{" "}
280 <a href="/legal/terms">Terms of Service</a> ·{" "}
281 <a href="/legal/acceptable-use">Acceptable Use Policy</a> ·{" "}
282 <a href="/legal/dmca">DMCA Policy</a>
283 </p>
284 </article>
285 </Layout>
286 );
287});
288
289export default privacy;
Addedsrc/routes/legal/terms.tsx+279−0View fileUnifiedSplit
1/**
2 * Terms of Service — aggressive defensive posture.
3 *
4 * DRAFT — requires attorney review before any paid launch.
5 * Purpose: establish maximum legal protection for Gluecron during
6 * pre-launch. Plain-English draft intended to be redlined by counsel.
7 */
8
9import { Hono } from "hono";
10import { Layout } from "../../views/layout";
11import { softAuth } from "../../middleware/auth";
12import type { AuthEnv } from "../../middleware/auth";
13
14const terms = new Hono<AuthEnv>();
15
16terms.use("*", softAuth);
17
18terms.get("/legal/terms", (c) => {
19 const user = c.get("user");
20 return c.html(
21 <Layout title="Terms of Service" user={user}>
22 <article style="max-width: 820px; margin: 0 auto; line-height: 1.7; font-size: 15px">
23 <h1 style="font-size: 28px; margin-bottom: 8px">Terms of Service</h1>
24 <p style="color: var(--text-muted); font-size: 13px; margin-bottom: 24px">
25 DRAFT — requires attorney review. Last updated: 2026-04-16.
26 </p>
27
28 <div
29 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"
30 >
31 <strong>DRAFT notice.</strong> Gluecron is in pre-launch. These Terms
32 are a good-faith draft and have not yet been reviewed by counsel.
33 They will be finalized and updated before general availability. If
34 you are relying on any provision of these Terms, contact
35 support@gluecron.com for written confirmation first.
36 </div>
37
38 <h2>1. Acceptance</h2>
39 <p>
40 By accessing or using Gluecron (the "Service"), you agree to be bound
41 by these Terms of Service ("Terms"). If you do not agree, do not use
42 the Service. Your use of the Service constitutes your binding
43 acceptance, whether or not you create an account.
44 </p>
45
46 <h2>2. Service description</h2>
47 <p>
48 Gluecron is a git hosting, code collaboration, and AI-assisted code
49 intelligence platform. The Service is currently in a pre-launch /
50 final validation phase. Features, availability, and pricing may
51 change without notice. Nothing in the Service is guaranteed to be
52 production-ready, continuously available, or backed by a service
53 level agreement unless agreed to in a separate, signed writing.
54 </p>
55
56 <h2>3. User accounts</h2>
57 <p>
58 You must be at least 18 years of age to create an account. You must
59 provide accurate and current registration information, and you are
60 solely responsible for all activity under your account, including
61 maintaining the confidentiality of your credentials, tokens,
62 passkeys, and SSH keys. We intend to offer multi-factor
63 authentication; enabling it is your responsibility. We are not
64 liable for any loss arising from unauthorized access to your
65 account.
66 </p>
67
68 <h2>4. Acceptable use</h2>
69 <p>
70 Your use of the Service is governed by our{" "}
71 <a href="/legal/acceptable-use">Acceptable Use Policy</a> ("AUP"),
72 which is incorporated into these Terms by reference. Violation of
73 the AUP is a material breach of these Terms.
74 </p>
75
76 <h2>5. Intellectual property</h2>
77 <p>
78 You retain all ownership of the content, code, and data you push,
79 upload, or submit to the Service ("User Content"). You grant
80 Gluecron a worldwide, non-exclusive, royalty-free license to host,
81 store, reproduce, transmit, display, and create derivative works of
82 your User Content, solely as needed to operate, maintain, secure,
83 analyze, and improve the Service, including for AI features you
84 invoke. You represent and warrant that you have all rights
85 necessary to grant this license.
86 </p>
87
88 <h2>6. AI features</h2>
89 <p>
90 The Service includes AI-assisted features (code review, chat,
91 explanations, test generation, auto-repair, dependency updates,
92 incident summaries, semantic search). AI output is provided on an
93 informational basis only. <strong>AI output is not professional
94 advice</strong>, is not a substitute for human review, and may be
95 incorrect, incomplete, or unsafe. You are solely responsible for
96 reviewing, testing, and validating any AI output before relying on
97 it. AI output may be generated in part by third-party large language
98 model providers; we do not warrant the accuracy, fitness,
99 originality, or non-infringement of any AI output. <em>DRAFT —
100 requires attorney review.</em>
101 </p>
102
103 <h2>7. Binding individual arbitration &amp; class-action waiver</h2>
104 <p>
105 <strong>Please read this section carefully.</strong> You and
106 Gluecron agree that any dispute, claim, or controversy arising out
107 of or relating to these Terms or the Service shall be resolved
108 exclusively by binding individual arbitration, and not in a class,
109 collective, or representative proceeding. The arbitration shall be
110 administered under the rules of the American Arbitration Association
111 ("AAA") or JAMS (claimant's choice). The arbitrator may award only
112 individual relief. <strong>You waive any right to participate in a
113 class action, class arbitration, or representative proceeding.</strong>
114 </p>
115 <p>
116 <strong>30-day mail-in opt-out.</strong> You may opt out of this
117 arbitration agreement by mailing a written, signed opt-out notice
118 containing your name, username, and a clear statement that you wish
119 to opt out, to the address we publish on our contact page, within
120 30 days of first accepting these Terms. Opt-out is effective only
121 if postmarked within that window.
122 </p>
123 <p>
124 <strong>Small-claims carve-out.</strong> Either party may bring an
125 individual action in small-claims court instead of arbitration, so
126 long as the action remains in that court and is brought
127 individually.
128 </p>
129 <p>
130 <em>DRAFT — requires attorney review; AAA/JAMS choice, seat of
131 arbitration, and consumer-arbitration fee allocation must be
132 reconciled with New Zealand governing law (see Section 14).</em>
133 </p>
134
135 <h2>8. Limitation of liability</h2>
136 <p>
137 TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THE TOTAL
138 AGGREGATE LIABILITY OF GLUECRON, ITS AFFILIATES, OFFICERS,
139 EMPLOYEES, CONTRACTORS, AND AGENTS, ARISING OUT OF OR RELATING TO
140 THESE TERMS OR THE SERVICE, SHALL NOT EXCEED THE GREATER OF (A)
141 ONE HUNDRED U.S. DOLLARS ($100 USD) OR (B) THE FEES YOU ACTUALLY
142 PAID TO GLUECRON FOR THE SERVICE IN THE TWELVE (12) MONTHS
143 IMMEDIATELY PRECEDING THE EVENT GIVING RISE TO THE CLAIM. Because
144 Gluecron has no billing yet during pre-launch, this cap is
145 effectively $100 USD. <em>DRAFT — requires attorney review.</em>
146 </p>
147
148 <h2>9. No consequential damages</h2>
149 <p>
150 TO THE MAXIMUM EXTENT PERMITTED BY LAW, GLUECRON SHALL NOT BE
151 LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL,
152 PUNITIVE, OR EXEMPLARY DAMAGES, INCLUDING BUT NOT LIMITED TO LOST
153 PROFITS, LOST REVENUE, LOST DATA, LOST GOODWILL, BUSINESS
154 INTERRUPTION, OR COST OF SUBSTITUTE SERVICES, WHETHER ARISING IN
155 CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY, OR
156 OTHERWISE, AND WHETHER OR NOT GLUECRON HAS BEEN ADVISED OF THE
157 POSSIBILITY OF SUCH DAMAGES.
158 </p>
159
160 <h2>10. AS-IS / AS-AVAILABLE; no warranties</h2>
161 <p>
162 THE SERVICE IS PROVIDED <strong>"AS IS" AND "AS AVAILABLE"</strong>{" "}
163 WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED. GLUECRON
164 DISCLAIMS ALL WARRANTIES, INCLUDING WITHOUT LIMITATION THE IMPLIED
165 WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
166 NON-INFRINGEMENT, TITLE, ACCURACY, UNINTERRUPTED OR ERROR-FREE
167 OPERATION, OR THAT ANY DEFECTS WILL BE CORRECTED. WE DO NOT WARRANT
168 THAT THE SERVICE WILL MEET YOUR REQUIREMENTS, THAT ANY AI OUTPUT IS
169 ACCURATE OR SAFE, OR THAT YOUR DATA WILL NOT BE LOST.
170 </p>
171
172 <h2>11. Indemnification</h2>
173 <p>
174 You agree to indemnify, defend, and hold harmless Gluecron, its
175 affiliates, officers, directors, employees, contractors, and agents
176 from and against any and all claims, liabilities, damages, losses,
177 costs, and expenses (including reasonable attorneys' fees) arising
178 out of or related to: (a) your User Content; (b) your code, data,
179 or dependencies; (c) your use of the Service; (d) your violation
180 of these Terms, the AUP, or applicable law; (e) your violation of
181 any third-party right, including any intellectual property, privacy,
182 or publicity right; or (f) any claim that your User Content caused
183 damage to a third party.
184 </p>
185
186 <h2>12. Termination and suspension</h2>
187 <p>
188 We may suspend or terminate your account, any individual repository,
189 or your access to any portion of the Service, at any time, for any
190 reason or no reason, with or without notice, at our sole discretion.
191 Upon termination, we intend to retain your data for thirty (30) days
192 to allow for export or reinstatement, after which we intend to
193 purge it, though we make no guarantee of recoverability.
194 </p>
195
196 <h2>13. Prohibited uses</h2>
197 <p>
198 Without limiting the <a href="/legal/acceptable-use">AUP</a>, you
199 may not use the Service to: (a) host, distribute, or develop illegal
200 content; (b) host, store, transmit, or generate child sexual abuse
201 material ("CSAM"), which will result in immediate termination and
202 reporting to law enforcement; (c) develop, distribute, or execute
203 malware, viruses, ransomware, or other harmful code; (d) conduct
204 stress tests, denial-of-service attacks, or load tests against the
205 Service or any third party; (e) reverse-engineer, decompile, or
206 disassemble the Service; or (f) scrape, crawl, or use automated
207 means to access the Service except as permitted by our public APIs.
208 </p>
209
210 <h2>14. Governing law</h2>
211 <p>
212 These Terms are governed by and construed in accordance with the
213 laws of <strong>New Zealand</strong>, without regard to conflict-of-law
214 principles. Subject to Section 7, the courts of New Zealand shall
215 have exclusive jurisdiction over any dispute not subject to
216 arbitration. <em>DRAFT — requires attorney review; NZ governing
217 law is inferred from the founder's handle and must be confirmed
218 or changed by counsel.</em>
219 </p>
220
221 <h2>15. Export controls and sanctions</h2>
222 <p>
223 You represent and warrant that you are not located in, and are not
224 a national or resident of, any country that is subject to a
225 comprehensive U.S., U.K., E.U., or U.N. embargo, and that you are
226 not on any government list of prohibited or restricted parties. You
227 agree to comply with all applicable export-control and sanctions
228 laws, including the U.S. Export Administration Regulations and
229 sanctions administered by the U.S. Treasury Department's Office of
230 Foreign Assets Control ("OFAC"). You will not use the Service to
231 develop, design, manufacture, or produce any weapon of mass
232 destruction.
233 </p>
234
235 <h2>16. Force majeure</h2>
236 <p>
237 Gluecron shall not be liable for any failure or delay in
238 performance caused by circumstances beyond our reasonable control,
239 including acts of God, natural disasters, war, terrorism, riots,
240 civil unrest, government action, epidemics or pandemics, labor
241 shortages, internet or telecommunications outages, third-party
242 service-provider failures (including hosting, DNS, CDN, database,
243 or AI providers), cyberattacks, or power failures.
244 </p>
245
246 <h2>17. Severability and entire agreement</h2>
247 <p>
248 If any provision of these Terms is held invalid or unenforceable,
249 that provision shall be enforced to the maximum extent permissible,
250 and the remaining provisions shall remain in full force and effect.
251 These Terms, together with the AUP, Privacy Policy, and DMCA
252 Policy, constitute the entire agreement between you and Gluecron
253 with respect to the Service, and supersede all prior or
254 contemporaneous understandings.
255 </p>
256
257 <h2>18. Changes to these Terms</h2>
258 <p>
259 We intend to provide thirty (30) days' notice of material changes
260 to these Terms, by email to the address on your account or by
261 posting a notice in the Service. Your continued use of the Service
262 after the effective date of any change constitutes your acceptance
263 of the revised Terms. We may, at our discretion, make non-material
264 changes (clarifications, typo fixes) without notice.
265 </p>
266
267 <hr style="margin: 32px 0; border: none; border-top: 1px solid var(--border)" />
268 <p style="font-size: 13px; color: var(--text-muted)">
269 See also:{" "}
270 <a href="/legal/privacy">Privacy Policy</a> ·{" "}
271 <a href="/legal/acceptable-use">Acceptable Use Policy</a> ·{" "}
272 <a href="/legal/dmca">DMCA Policy</a>
273 </p>
274 </article>
275 </Layout>
276 );
277});
278
279export default terms;
0280