legal.html
Rama main · réplica de lectura del repositorio original.
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta
name="description"
content="Terms of Service and Privacy Policy for Comic Chat Web: what the rooms retain, what the browser stores, and the rules for using the service."
/>
<title>Terms and Privacy - Comic Chat Web</title>
<!--if:SITE_ORIGIN-->
<link rel="canonical" href="%SITE_ORIGIN%/legal" />
<!--/if-->
<link rel="stylesheet" href="/src/browser/legal.css" />
<link rel="icon" href="/favicon.ico" sizes="any" />
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
</head>
<body class="legal">
<header class="titlebar">
<h1 class="titlebar-title"><a href="/">Comic Chat Web</a></h1>
<span class="titlebar-actions">
<a class="titlebar-button" href="/">Back to chat</a>
</span>
</header>
<main class="sheet">
<h1>Terms and Privacy</h1>
<p class="stamp">Last updated 25 July 2026</p>
<div class="summary">
<p>
<strong>The short version.</strong> This is a free hobby project with
no accounts. Every room is public: anything you type is shown to
everyone there and kept in that room's recent history until it scrolls
out. Do not type anything you would mind a stranger reading. You must
be at least 18 to use it. The word filter is automatic and imperfect,
and connections can be muted or dropped at any time.
</p>
</div>
<ul class="jump">
<li><a href="#terms">Terms of Service</a></li>
<li><a href="#privacy">Privacy Policy</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
<section id="terms">
<h2>Terms of Service</h2>
<h3>1. What this is</h3>
<p>
Comic Chat Web ("the service") is a free, unofficial, open-source
demonstration project operated by an individual. It is not affiliated
with or endorsed by Microsoft. The source is published under the
AGPL-3.0 and is available on
<a href="https://github.com/remsky/comic-chat-web">GitHub</a>. If this
deployment runs a modified version, the AGPL obliges its operator to
offer that modified source to you, and to replace this link with one
that reaches it. By connecting to a room you accept these terms. If you
do not accept them, do not connect.
</p>
<h3>2. Eligibility</h3>
<p>
You must be at least 18 years old to use the service. It is not
directed at children, and no part of it is designed to collect
information from them. If you believe someone under 18 has used the
service, contact us and we will remove what we can identify.
</p>
<h3>3. Acceptable use</h3>
<p>You agree not to use the service to:</p>
<ul>
<li>
post anything unlawful, or anything that sexualizes or endangers a
minor;
</li>
<li>
harass, threaten, stalk, defame, or incite violence against anyone;
</li>
<li>
impersonate another person in a way intended to deceive, including
by nickname;
</li>
<li>
post spam, advertising, malware, or links intended to defraud
anyone;
</li>
<li>
flood, script, scrape, load-test, or otherwise use automated means
to access the service, or attempt to circumvent its rate limits,
filters, mutes, or room limits;
</li>
<li>
attempt to gain unauthorized access to the service or to any other
user's session.
</li>
</ul>
<h3>4. Moderation is best effort</h3>
<p>
Messages and nicknames pass through an automated word filter. Blocked
messages trigger an escalating temporary mute, and repeated blocks
disconnect the connection. This is a crude, automatic mechanism. It
will miss things and it will occasionally catch harmless text. Nothing
here is a promise that the service is a safe, moderated, or sanitized
environment, and no human reviews messages in real time.
</p>
<p>
Content in rooms is created by users, not by us. We do not endorse it
and we are not responsible for it. If you are shown something
unlawful, please report it using the contact below, and we will remove
what we can and report it to the authorities where the law requires.
</p>
<h3>5. We can disconnect you</h3>
<p>
We may mute, disconnect, block, or otherwise restrict any connection,
and may remove any content, close any room, or shut the service down
entirely, at any time, for any reason or no reason, with or without
notice. Because there are no accounts, these measures are necessarily
approximate, and we make no promise that any given restriction will be
effective or that any given user can be kept out.
</p>
<h3>6. Your content</h3>
<p>
You keep whatever rights you already have in what you type. You are
responsible for it. By sending it you give us permission to transmit,
display, and store it as needed to operate the service, in the way
described in the Privacy Policy below. Do not send anything you do not
have the right to send.
</p>
<h3>7. No warranty</h3>
<p>
The service is provided "as is" and "as available", without warranty of
any kind, express or implied, including any implied warranty of
merchantability, fitness for a particular purpose, or
non-infringement. We do not warrant that the service will be
available, uninterrupted, timely, secure, or error free, that messages
will be delivered or retained, or that any defect will be corrected.
This is a hobby demo. It may break, lose your messages, or disappear
without notice.
</p>
<h3>8. Limitation of liability</h3>
<p>
To the maximum extent permitted by law, we are not liable for any
indirect, incidental, special, consequential, exemplary, or punitive
damages, or for any loss of data, profits, goodwill, or reputation,
arising out of or relating to your use of the service, whether in
contract, tort, or otherwise, even if advised of the possibility. To
the extent any liability cannot be excluded, it is limited to the
greater of the amount you paid to use the service, which is zero, or
ten US dollars. Some jurisdictions do not allow certain exclusions, so
parts of this section may not apply to you.
</p>
<h3>9. Changes</h3>
<p>
These terms may change. The date at the top of this page marks the
current version, and continuing to use the service after a change
means you accept it.
</p>
<h3>10. Governing law</h3>
<p>
These terms are governed by the laws of %LEGAL_JURISDICTION%, without
regard to conflict of law rules, and the courts located
there have exclusive jurisdiction over any dispute, except where
mandatory local consumer law gives you the right to bring a claim where
you live.
</p>
<h3>11. The rest</h3>
<p>
If any part of these terms is found unenforceable, the rest stays in
force and that part is narrowed only as far as needed to fix it. Not
enforcing a term on one occasion does not waive it later. These terms
and the Privacy Policy below are the whole agreement between us about
the service.
</p>
</section>
<section id="privacy">
<h2>Privacy Policy</h2>
<h3>What the rooms hold</h3>
<p>
Rooms are public and unencrypted at rest. Everyone connected to a room
sees every message in it, and anyone who joins later receives the
recent history. There is no private messaging and no end to end
encryption. Your connection to the server is encrypted in transit over
HTTPS and WSS.
</p>
<p>When you send a message, the room stores:</p>
<table>
<tr>
<th>Stored</th>
<th>Why</th>
</tr>
<tr>
<td>Your nickname and the character you picked</td>
<td>To draw and label the panel</td>
</tr>
<tr>
<td>The message text and balloon type</td>
<td>To render the strip and replay recent history to new joiners</td>
</tr>
<tr>
<td>Pose, expression, and background choices</td>
<td>To reproduce the same panel for everyone</td>
</tr>
<tr>
<td>The nicknames your message addressed</td>
<td>To point your avatar at them when the panel is drawn again</td>
</tr>
<tr>
<td>A timestamp</td>
<td>
Recorded with the event and replayed with it to everyone in the
room
</td>
</tr>
<tr>
<td>A random identifier generated by your browser</td>
<td>
To tell one seat in the room from another, so the roster and your
own avatar stay consistent across a reconnect
</td>
</tr>
</table>
<p>
That random identifier is created in your browser, is not derived from
anything about you or your device, and is not linked to any account,
because there are none. Clearing your browser storage discards it and a
new one is generated.
</p>
<h3>How long it is kept</h3>
<p>
Each room keeps a rolling window of its most recent 100 events. Older
events are deleted automatically as new ones arrive. Nothing is
archived or backed up by us beyond that window. Bear in mind that
anyone in the room can screenshot or copy what they see, and we cannot
undo that.
</p>
<h3>What we do not collect</h3>
<p>
No accounts, no email addresses, no passwords. We set no cookies, no
advertising, and no third-party trackers. We
keep no request logs of our own: the platform can record the IP address
behind each connection, and we have that recording turned off, so no
copy of it reaches us. We do have it count requests per IP address to
block floods, which happens on its systems and never reaches us. What
our hosting provider keeps for its own purposes is described below, and
we remain accountable for what it handles on our behalf.
</p>
<h3>Traffic measurement</h3>
<p>
This deployment runs Cloudflare Web Analytics, which loads a small
script from Cloudflare on each page. It measures page views and load
timings, and records the country, referring link, path, browser,
operating system, and device type of a visit. The room you join is part
of the URL, so the recorded path can name it. Your nickname, your
messages, and the random identifier above are no part of this and are
never sent to it. The script is not served to visitors in the European
Union, so nothing is measured for them. This data is governed by
<a href="https://www.cloudflare.com/privacypolicy/"
>Cloudflare's privacy policy</a
>.
</p>
<h3>What our hosting provider sees</h3>
<p>
The service runs on Cloudflare Workers and Durable Objects. As the
network and hosting provider, Cloudflare processes connection metadata
including IP addresses in order to route traffic, protect against
abuse, and apply rate limits, and it retains operational request logs.
That processing is governed by
<a href="https://www.cloudflare.com/privacypolicy/"
>Cloudflare's privacy policy</a
>. Room data lives in Durable Object storage on Cloudflare's
infrastructure, which spans multiple countries. Your messages may
therefore be stored and processed in a country other than your own or
the operator's, and be subject to the laws of the country holding
them.
</p>
<h3>When we may disclose</h3>
<p>
We do not sell room data and there is no third party we hand it to. We
may disclose what we hold where a law, court order, or lawful request
from an authority requires it, where we are obliged to report unlawful
content, or where we believe in good faith that it is necessary to
prevent serious harm to someone. In practice the rolling window above
means there is usually little left for us to disclose, and a request to
identify a sender is one only our hosting provider can answer.
</p>
<h3>What your browser stores locally</h3>
<p>
These stay on your device and are not sent to us except where noted
above:
</p>
<ul>
<li>
your nickname and chosen character, only if you tick "Remember me";
</li>
<li>
the random identifier described above, which is sent with your
messages;
</li>
<li>
display preferences such as the modern tweaks toggle, nametags,
plain text view, and sidebar width.
</li>
</ul>
<p>
Clearing site data in your browser removes all of it. Two short-lived
entries in session storage carry your details between rooms when you
switch, and the captured transcript to the report page, which deletes it
as it loads. Session storage is discarded when the tab closes.
</p>
<h3>The Studio</h3>
<p>
The strip editor at <a href="/studio.html">/studio</a> runs entirely in
your browser. Strips are composed, rendered, and exported locally, and
are never uploaded or stored by us. The one exception: while the word
filter is enabled, balloon text is sent to the server to be checked
against the filter and the result returned. That text is not logged or
retained.
</p>
<h3>Your choices</h3>
<p>
Because the service has no accounts, we have no way to identify which
messages are yours, so we cannot look them up or delete them on
request. In practice they leave the room on their own once 100 newer
events have arrived. If a specific message needs to come down sooner,
tell us which room and roughly when, and we will remove what we can
find.
</p>
<h3>Changes</h3>
<p>
This policy may change. The date at the top of this page marks the
current version.
</p>
</section>
<!-- the %TOKENS% name the operator of this deployment, not the codebase; the build fills them in -->
<section id="contact">
<h2>Contact</h2>
<p>
For reports of unlawful content, takedown requests, or privacy
inquiries, including any request under applicable privacy law, contact
%LEGAL_CONTACT%. That reaches the person accountable for privacy here.
For bugs and
everything else, the
<a href="https://github.com/remsky/comic-chat-web/issues"
>GitHub issue tracker</a
>
is the better place.
</p>
<p>
In a room, the Report control under "More…" captures the transcript you
can see and opens <a href="/report.html">the report page</a>, which
explains who can act on serious material and what we can and cannot do.
The transcript is built in your browser and goes nowhere until you send
it yourself.
</p>
</section>
<footer class="legal-footer">
<span>© 2026 Comic Chat Web contributors</span>
<span aria-hidden="true">·</span>
<a href="https://github.com/remsky/comic-chat-web/blob/main/LICENSE"
>AGPL-3.0</a
>
<span aria-hidden="true">·</span>
<a href="/">Back to chat</a>
</footer>
</main>
</body>
</html>