Files
paseo/packages/website/legal/terms.md
Mohamed Boudra bd15e40e94 Serve paseo.sh in Simplified Chinese (#7373)
* feat(website): serve paseo.sh in Simplified Chinese

Every page of the website now has a Simplified Chinese version under
/zh-CN: the interface, docs, blog posts, comparison pages, legal pages,
all changelog releases and the homepage mockup. English URLs are unchanged.

The URL alone decides the language. There is no browser-language redirect
and no stored preference, because either would have to redirect the
unprefixed English URLs that people share and search engines index.
Internal links carry the page's language instead, and hreflang alternates
point Chinese search results at /zh-CN.

Translated headings pin the English anchor with {#id}, so section links
work in both languages. content-translations.test.ts fails when a page
has no translation or a translation's headings drift from the English.
Changelog releases and plugin listings without a translation render
whole in English under a notice, so a release never waits on one.

Plugin manifests and the registry gain optional translations and
OVERVIEW.zh-CN.md fields; older clients and registries ignore them.

* feat(website): replace the native language select with an EN/ZH menu

The header showed an OS-native select whose popup did not match the site.
The trigger now shows the language abbreviated (EN, ZH) and opens a menu in
the app's dropdown style that names each language in itself, with its name
in the page language underneath. Rows are real links to the same page in
that language; arrows, Escape, outside presses and taps behave as a menu
button, and the menu keeps itself on screen when a narrow header pushes the
trigger toward an edge.

Also drops the stray space after the full-width comma in the Chinese
homepage subtitle.

* docs(website): translate main's new docs and 0.12.0 release notes

Main added Keep run workspaces to the schedules docs, rewrote plugin icons
around inline SVG, and promoted 0.12.0 with new entries. Bring the Chinese
pages and changelog in line so no section falls back to English.

* fix(server): leave plugin listing translations to the registry

The daemon rejected manifests whose translations the registry would refuse,
so a plugin main installs could fail to load here. Paseo never reads
translations; the registry validates them at publish. Docs now say which
checks are automated at publish and which are human review.

* docs(plugins): describe the registry's final overview translation discovery

* style(server): format manifest test

* test(app): measure sidebar rows one at a time

After a reload the developer error toast appears while expectVerticalOrder
measures every row at once. Each concurrent boundingBox runs the toast
locator handler, and only one of them resumes, so the poll timed out on
every attempt since #7424. Measuring sequentially keeps one action in flight.

* test(app): return sidebar row measuring to main

#7480 hides the developer toast instead of running a locator handler, so
measuring the rows concurrently no longer races it. Reverts 41ac23016.

* test(app): wait for the compact shell before opening compact Changes

The shell survives the breakpoint, so right after the resize the wide
Explorer could still be visible: the test skipped the Explorer toggle and
the tab then disappeared, or toggled at the wrong time. Wait for the
compact-shell marker, as the composer helpers do since #7424.

* docs(website): translate main's plugin file panel docs

* test(app): edit the code font size after the font family remount

A committed appearance change remounts the settings screen through
AppearanceStyleBoundary, and the new form starts from the stored size.
Filling the size before that remount lost the edit in CI.

* docs(website): translate main's client/ui import docs

Follows #7474: one /client/ui entry, StreamedText instead of useRevealedText,
SettingsGroup dropped from the settings table, and the new
'UI imports in v0.13' migration section.

* test(app): wait for the previous layout's file panel picker to leave

After a resize the old layout's picker animates out while the new one is
already mounted, so the Use button matched two elements and the strict
locator failed. Wait for the shell's layout and a single picker first.
2026-10-21 13:13:03 +07:00

5.6 KiB

title, description, lastUpdated
title description lastUpdated
Terms of Service Terms for the official Paseo Relay and hosted Paseo Hub services. 2026-08-29

These Terms govern the official services operated at paseo.sh, relay.paseo.sh, and hub.paseo.sh. By using the official relay or hosted Hub, you agree to them. Our Privacy Policy explains how those services process data.

Who provides the services

Mohamed Boudra Ziani, operating as Paseo
NIF/VAT ID: ES26617095T
Roc Boronat 48, Bajos 2
08005 Barcelona, Spain
Email: hello@moboudra.com

Paseo's open-source software

Paseo is open-source software licensed under the Apache License 2.0. You can install, modify, and self-host it under that license without purchasing Paseo Hub or using the official relay.

These Terms do not replace or restrict the open-source license. They apply only to services operated by Paseo. A self-hosted Hub or relay is operated by whoever hosts it.

The official relay

The relay is an optional service that connects Paseo clients to your daemon without requiring you to expose the daemon directly. Traffic is encrypted end-to-end between your client and daemon. The relay carries encrypted data but cannot read its contents.

The relay is subject to reasonable and fair use. We may limit bandwidth, connection volume, or abusive traffic when necessary to keep it reliable and secure.

Paseo Hub

Hub lets you connect daemons, configure workflows, receive events from connected services, and instruct agents running on your infrastructure. Hub does not provide AI inference.

You are responsible for:

  • The workflows, permissions, and connected services you configure
  • The people you invite and the access you give them
  • Actions performed by your agents and connected accounts
  • Reviewing generated code and other agent output
  • Maintaining backups of your repositories and local data

Your content

You keep ownership of your prompts, workflow configuration, code, messages, and outputs. You give Paseo only the permission needed to receive, transmit, store, and process that content to operate the services you request.

We do not sell your content, use it for advertising, or use it to train AI models.

Accounts and teams

Keep your account credentials secure. Organization owners and administrators are responsible for invitations, permissions, connected services, and activity performed by their members. If you use Hub for an organization, you confirm that you are authorized to act for it and to process the data sent through its workflows.

Acceptable use

You must not use the services to:

  • Break applicable law or infringe another person's rights
  • Attack systems, distribute malware, or evade access controls
  • Gain unauthorized access to another account, daemon, or service
  • Interfere with the service or bypass reasonable usage limits
  • Resell the official services without our written permission

Trials, subscriptions, and payment

Current prices, taxes, billing periods, and seat calculations are shown before purchase. Trial terms are shown when you start a trial. A no-card trial ends unless you add a valid payment method before it expires.

Paid subscriptions renew automatically for the billing period shown at checkout until canceled. You can manage payment methods, invoices, and cancellation through the billing portal. Cancellation normally takes effect at the end of the current paid period. Payments are non-refundable except where the law requires otherwise.

Stripe processes payments. Paseo does not store complete payment-card details. Nothing in these Terms removes cancellation, refund, withdrawal, or other rights given to you by applicable consumer law.

Third-party services

Paseo can connect to services such as GitHub, Slack, Discord, Linear, Anthropic, and OpenAI. Those services have their own terms and privacy policies. Paseo is not responsible for their availability, output, or handling of data.

Availability and changes

We work to keep the official relay and Hub available, but do not promise uninterrupted service or a service level unless we agree one in writing. We may change features, introduce reasonable limits, or suspend access when needed for security, abuse prevention, legal compliance, or operation of the service.

Where practical, we will give reasonable notice before a change that materially reduces a paid service.

Suspension and termination

You may stop using the services or cancel your subscription at any time. We may suspend access for non-payment, serious abuse, security threats, or a material breach of these Terms. Where practical, we will explain the reason and allow you to correct it.

Warranty and liability

Software and automated agents can make mistakes. Review important actions and maintain appropriate backups.

To the extent permitted by law, the official services are provided as available and without implied warranties. Paseo is not liable for indirect or consequential losses caused by agent output, third-party services, or your workflow configuration. Our total liability relating to a paid service will not exceed the amount you paid for it during the preceding 12 months.

Nothing here limits liability or statutory rights that cannot legally be limited.

Governing law

These Terms are governed by Spanish law. If you are a consumer, you keep the mandatory protections and court rights provided by the law where you live.

Changes and contact

We may update these Terms as the services change. We will announce material changes through the service or by email where appropriate. Questions can be sent to hello@moboudra.com.