VPN 服务商 AI 客服系统
Some statements in this policy describe processes that ReplyTower performs manually today. Section 9 says which ones.
| Field | Value |
|---|---|
| Document | ReplyTower Privacy Policy |
| Version | 1.0 |
| Effective date | 2026-08-14 |
| Operator | ReplyTower, operating from Japan |
| Postal address | Not yet published — request it in writing at info@replytower.com |
| Contact | info@replytower.com |
| Related documents | ReplyTower Sub-processor List (Appendix A below) · ReplyTower Data Processing Addendum |
1.1 ReplyTower is a multi-tenant AI customer-support platform. ReplyTower operates it from Japan. In this policy, "we", "us", and "ReplyTower" mean that operator. The operating entity's registered name and registered address are not yet published here; we will publish them in the table above when they are settled, and you may request them in writing at info@replytower.com in the meantime.
1.2 ReplyTower sells to businesses. A business customer is a Vendor. Most Vendors run an Xboard, V2board, or WHMCS panel, and most sell VPN services or proxy services. A person who uses a Vendor's own service, and who exchanges messages with the AI assistant, is an End User.
1.3 This policy has two parts, because ReplyTower has two different roles:
| Part | Audience | Our role |
|---|---|---|
| Part A — Section 3 | Vendors and their portal team members | We are the controller |
| Part B — Sections 4 to 6 | End Users of a Vendor | We are the processor. The Vendor is the controller. |
1.4 If you are an End User, read Part B first. Your first point of contact for any privacy request is the Vendor whose service you use, not ReplyTower. Section 9 explains why, and explains what we do when a Vendor asks us to act.
1.5 We do not sell personal data. We do not share personal data for advertising.
| Term | Meaning |
|---|---|
| Vendor | The business customer that holds a ReplyTower account. |
| End User | A person who uses the Vendor's service and exchanges messages with the AI assistant. |
| Panel | The Vendor's own billing or subscription system, such as Xboard, V2board, or WHMCS. |
| BYOK | Bring Your Own Key. The Vendor supplies its own model-provider API key. |
| Sub-processor | A third party that we engage to process personal data for a Vendor. See the ReplyTower Sub-processor List. |
| Controller | The party that decides why and how personal data is processed. |
| Processor | The party that processes personal data on the documented instructions of a controller. |
| Category | Examples |
|---|---|
| Account data | Vendor account email address, password hash, display name, role, panel type, panel URL |
| Team-member data | Email address of each invited portal team member, role, invitation status |
| Configuration data | AI prompts, knowledge-base documents, tool settings, blacklist entries, Telegram bot configuration |
| Billing data | Prepaid credit balance, usage records, top-up records |
| Payment data | Card payment records held by Stripe; USDT-TRC20 wallet addresses and on-chain transaction references |
| Support data | Messages you send to info@replytower.com |
| Purpose | Lawful basis under the GDPR |
|---|---|
| Create and run your account, and provide the service | Art. 6(1)(b) — performance of a contract |
| Charge you, and track prepaid usage | Art. 6(1)(b) — performance of a contract |
| Keep accounting records and on-chain payment records | Art. 6(1)(c) — legal obligation under Japanese tax law |
| Keep the platform secure, prevent abuse, and apply rate limits | Art. 6(1)(f) — legitimate interests in platform security |
| Answer your support messages | Art. 6(1)(b) and Art. 6(1)(f) |
| Send service notices, such as sub-processor changes | Art. 6(1)(b) and Art. 6(1)(c) |
We store portal passwords as bcrypt hashes. We never store a password in readable form.
You may ask us to give you access to your account data, to correct it, to delete it, to restrict its processing, to port it, or to object to processing that rests on our legitimate interests. Send the request to info@replytower.com. Section 9 states how we handle the request and how long we take.
4.1 When you chat with a Vendor's AI assistant, the Vendor decides why your messages are processed and how. The Vendor is the controller. We only process your messages on the Vendor's documented instructions. We are the processor.
4.2 Contact the Vendor first. The Vendor holds the relationship with you, the Vendor knows who you are in its own system, and the Vendor must answer your privacy request. The Vendor's own privacy policy names its contact point.
4.3 If you contact us directly, we will not act on your request by ourselves. We will tell you to contact the Vendor, and, where we can identify the Vendor, we will tell the Vendor that you contacted us.
4.4 The Vendor's own agreement with you, not this policy, sets the lawful basis for processing your messages.
| Table | Personal data it holds |
|---|---|
conversations | Your user ID in the Vendor's panel, the channel (Telegram, web, widget, or ticket), your Telegram chat ID, language, conversation status, the related ticket ID in the panel, your satisfaction rating, and an AI-generated rolling summary of the conversation |
conversation_messages | The raw content of each message, attachment URLs, an AI summary of each attachment, the knowledge-base context that the AI retrieved for the answer, and the AI confidence score |
media_objects and message_attachments | Screenshots that you upload, AI-annotated copies of those screenshots, content type, byte size, image dimensions, a SHA-256 hash of the content, and the storage path on our own disk |
| Vision metadata | Descriptions and bounding boxes that the vision model produces for your screenshots |
| Telegram records | Your Telegram user ID, held for ephemeral menu state, and mappings between Telegram message IDs and our own message records |
We receive your IP address when you use the chat widget, and we use it live for rate limiting and for widget admission control. We hold it in short-lived Redis keys, and we do not store it on your conversation records. No conversation or message table in ReplyTower has an IP-address column.
5.2.1 One exception, stated plainly: a Vendor may add an IP address to its own blacklist. A blacklist entry is stored, and it stays stored until that Vendor removes it. The Vendor decides to create such an entry; we do not create one automatically from your traffic.
5.3.1 End-User email addresses are not a stored field. ReplyTower has no database field for an End User's email address. An email address can still reach us if you type it into a chat message; in that case it sits inside the message content, under the retention rule for message content.
5.3.2 We never collect End-User voice or audio. ReplyTower produces text-to-speech audio only for a Vendor-facing briefing that summarises support trends. That audio contains no End-User recording, and we delete it after 30 days.
6.1 To answer you, we send your message, the recent conversation context, and the retrieved knowledge-base context to a model provider. If you upload a screenshot, we also send the screenshot to a vision model.
6.2 The model provider is OpenAI by default. A Vendor may instead supply its own key for OpenAI or for Anthropic under BYOK. In that case the Vendor's own agreement with that provider governs the processing on the provider's side.
6.3 We do not train on your data, and neither does a provider we engage. We do not train any model on Vendor data or End-User data ourselves. Where a call runs under a ReplyTower platform key, we contract on terms under which that provider does not train on the submitted data.
6.3.1 BYOK carve-out. Section 6.3 does not extend to a model provider that the Vendor engages under BYOK. That provider's terms govern its own use of submitted data, including any training use, and we make no representation about them. Clause 12.6 of the Terms of Service states the same carve-out. If you are an End User and you need to know which applies to you, ask the Vendor whose service you use: the Vendor chooses the provider.
6.4 A human is not guaranteed. Each Vendor decides whether to enable human escalation. A Vendor can switch it off. If the Vendor switches it off, no ReplyTower feature will transfer your conversation to a person.
6.5 The Vendor must tell you that you are talking to an AI assistant. That duty sits with the Vendor, because the Vendor deploys the assistant.
There are three distinct paths, and they do not all use the same provider account. The table states who holds the key on each path.
| Path | What it serves | Whose provider account serves the call |
|---|---|---|
| (a) Platform key | Chat completions, vision, and embeddings, for a Vendor who has set no key of its own | ReplyTower's own model-provider account |
| (b) Vendor BYOK or OAuth relay | Chat completions and vision | The Vendor's own provider account |
| (c) Embeddings | Embeddings of knowledge-base content and of retrieved conversation context | The Vendor's embedding override, where the Vendor has configured one. Otherwise ReplyTower's own platform provider account. |
6.6.1 CAUTION — read path (c) with care. A Vendor sets a chat relay by
configuring openai_base_url. That setting moves chat completions to the
Vendor's provider account. It does not move embeddings. If the Vendor does
not also configure an embedding override, ReplyTower serves every embedding call
through its own platform account against the official OpenAI API, even though
the Vendor uses its own key for chat.
6.6.2 Embeddings are computed over knowledge-base content and over retrieved
conversation context, so path (c) is a real flow of Vendor data and End-User
data, not a technical detail. A Vendor that wants full isolation from
ReplyTower's platform account must configure an embedding override as well as a
chat relay. The override consists of the embedding_base_url setting and the
embedding_api_key setting.
6.6.3 Where the Vendor does configure that override, ReplyTower does not use the platform key for embeddings, and it refuses to send its own platform key to a Vendor-controlled endpoint. If a Vendor has no embedding override and ReplyTower has no platform key configured, the call fails with an error rather than falling back to the Vendor's relay.
7.1 The ReplyTower Sub-processor List names every third party that processes personal data for us. It is reproduced in full as Appendix A at the end of this policy, and it is part of this policy.
7.2 We give Vendors at least 30 days notice before we add or replace a sub-processor.
7.2.1 A Vendor's use of BYOK does not remove OpenAI as a sub-processor. Section 6.6 explains why: unless the Vendor configures an embedding override, OpenAI still receives embedding requests under ReplyTower's own platform account.
7.3 Qdrant, our vector database, is not a sub-processor. We self-host it on our own infrastructure with a local storage volume. The stored vectors never leave ReplyTower infrastructure. Note that the text used to compute a vector is sent to a model provider first, under the path that Section 6.6 describes; it is the storage of the vector, not its computation, that stays with us.
7.4 We use no third-party behavioural analytics service and no third-party tracking service anywhere in the product. There is no Google Analytics, no Mixpanel, no Segment, no Amplitude and no PostHog in the portal, in the chat widget or in the backend, and we set no analytics cookie. ReplyTower does compute its own usage and conversation statistics inside the product, for the Vendor's own dashboard; that processing stays on our infrastructure and goes to no third party.
7.5 Email. We use no third-party service to SEND bulk or transactional email. Inbound email to our contact address is a different path and does involve third parties: it is routed by Cloudflare Email Routing and delivered to a Google mailbox. Because that address is the one this policy gives you for a data-subject request, both are listed as sub-processors in Appendix A.
| Data | Retention | Automatic? |
|---|---|---|
| Conversation records and message content | Kept for as long as the Vendor account stays active, on the Vendor's instruction as controller. Deleted on the Vendor's request. | No — manual. See 8.2 |
| Media objects that carry an expiry time | Deleted at the expiry time | Yes |
| Media objects with no expiry time | Kept for as long as the Vendor account stays active, by design | No — manual |
| Processed Telegram updates | 48 hours | Yes |
| Telegram message mappings | 24 hours | Yes |
| Tool idempotency keys | 24 hours | Yes |
| Widget idempotency records | 7 days | Yes |
| Completed background-job records | 7 days | Yes |
| Vendor briefing audio | 30 days | Yes |
| Analysis billing metadata | 540 days | Yes |
| All Vendor data and End-User data after account termination | Deleted within 30 days | No — manual. See 8.2 |
| Billing records and on-chain payment records | 7 years, under Japanese tax law | No |
8.2.1 ReplyTower has no automatic job that deletes conversation rows or message rows. Our cleanup worker never deletes them.
8.2.2 The 30-day deletion after termination in the table above is a commitment that we perform by hand, directly against the database. We have not built software that performs it. We state this because it is true, and we will not imply an automation that does not exist.
8.2.3 A media object whose expiry field is empty stays in storage until someone deletes it by hand.
Under the GDPR you may ask for access (Art. 15), correction (Art. 16), erasure (Art. 17), restriction (Art. 18), portability (Art. 20), and you may object (Art. 21). Under Japan's APPI you have comparable rights of disclosure, correction, and suspension of use.
| You are | Send the request to |
|---|---|
| A Vendor, about your own account data | info@replytower.com |
| An End User | The Vendor whose service you use. See 4.2. |
| A Vendor, acting for one of your End Users | info@replytower.com |
9.3.1 ReplyTower has no self-service deletion endpoint for End-User data, and no self-service export endpoint for Vendor data. No such function exists in the product today.
9.3.2 A Vendor therefore sends the request to info@replytower.com. The operator then performs the operation directly against the database, and confirms the result to the Vendor by email.
9.3.3 Response window: 30 days from the day we receive a complete request. If a request is complex, we may extend the window by a further 60 days, and we will tell you before the first 30 days end.
9.3.4 We may ask the Vendor to confirm the identity of the End User, because we do not hold End-User identity data of our own beyond the panel user ID.
If you believe we have handled your data unlawfully, you may complain to a supervisory authority. In the EU, complain to the authority in your country of residence. In Japan, complain to the Personal Information Protection Commission.
10.1 We host production in Tokyo, Japan.
10.2 The European Commission has issued an adequacy decision for Japan. That decision is the transfer mechanism for personal data that moves from the EEA to our Japanese infrastructure. No further safeguard is needed for that leg.
10.3 Onward transfers to sub-processors in the United States, and to international sub-processors, rest on the safeguards in each sub-processor's own terms.
10.4 We will sign the EU Standard Contractual Clauses with a Vendor on request. Send the request to info@replytower.com.
11.1.1 The controls below are ones we operate today. The table is illustrative, not a complete inventory of every control or of every system, and the entries mean exactly what they say — each names the specific thing it protects, and none of them should be read as a general assurance about anything not named.
| Control | What it protects |
|---|---|
| Fernet symmetric encryption at rest | Vendor BYOK model API keys |
| HMAC-SHA256 with constant-time comparison and timestamp validation | Requests between a Vendor panel and ReplyTower |
| JWT HS256 sessions | Portal sign-in sessions |
| bcrypt password hashing through passlib, with a dummy-hash timing mitigation | Portal passwords |
| SSRF guards, using an allowlist and disabled redirects | Vendor-supplied BYOK endpoints |
| Rate limits, hourly and daily per IP address | The public chat widget and the authentication endpoints |
| Vendor-configurable blacklist by email, IP address, user ID, or Telegram ID | The Vendor's own conversation surface |
11.2.1 MySQL and Redis are shared instances. We isolate tenants by scoping
every row to a vendor_id, with cascade deletion. We do not run a physically
separate database per Vendor, and we do not claim that we do.
11.2.2 Qdrant uses a separate collection per Vendor. That is stronger isolation than row scoping.
11.3.1 Logs. We do not assert that message content never appears in application logs. We have not audited every log statement, so we will not make an absolute claim.
11.3.2 No control removes all risk. We cannot guarantee absolute security.
12.1 The portal is a signed-in administration application. It sets no advertising cookie and no analytics cookie. It stores two different kinds of thing, and they are worth separating:
12.1.1 A session cookie. Your portal sign-in session is held in an HttpOnly cookie set by our backend. Being HttpOnly means page scripts cannot read it.
12.1.2 Browser local storage, used for interface state rather than for identifying you. It currently holds your light/dark theme preference, a one-time flag recording that an old sign-in format was cleared from your browser, a session identifier for the support widget on our own marketing pages, and a short cooldown timestamp for the prompt-evaluation button. This list is what the portal stores today; if we add another entry we will update this section.
12.2 The chat widget uses a backend-issued widget session token so that a browser conversation can continue. It sets no advertising cookie and no analytics cookie.
ReplyTower is a business product. It is not directed at children. We do not knowingly process the data of a child. An End User's age is a matter between the End User and the Vendor.
14.1 We will publish any change here and raise the version number.
14.2 If a change materially affects Vendors, we will email the Vendor account address at least 30 days before the change takes effect.
Send any privacy question, request, or complaint to info@replytower.com.
Operator: ReplyTower, operating from Japan. Postal address: not yet published. Request it in writing at info@replytower.com.
Japanese law governs this policy. The Tokyo District Court has exclusive jurisdiction of the first instance for any dispute about it. This clause does not remove a consumer's right to complain to a supervisory authority in the consumer's own country.
| Version | Date | Change |
|---|---|---|
| 1.0 | 2026-08-14 | First published policy. |
This appendix reproduces the ReplyTower Sub-processor List in full. It is part of this policy, and the ReplyTower Data Processing Addendum incorporates it by reference.
| Field | Value |
|---|---|
| Document | ReplyTower Sub-processor List |
| Version | 1.0 |
| Effective date | 2026-08-14 |
| Last updated | 2026-08-14 |
| Operator | ReplyTower, operating from Japan |
| Contact | info@replytower.com |
| Related documents | ReplyTower Privacy Policy · ReplyTower Data Processing Addendum |
1.1 This list names every third party that ReplyTower engages to process personal data on behalf of a Vendor. The ReplyTower Data Processing Addendum ("DPA") incorporates this list by reference.
1.2 In this list, "Vendor" means the business customer of ReplyTower. "End User" means a person who uses the Vendor's own service and who exchanges messages with the ReplyTower AI assistant.
1.3 A Vendor who accepts the DPA gives a general written authorisation for ReplyTower to use the sub-processors in Section 2.
| # | Sub-processor | Purpose | Personal data it receives | Processing location |
|---|---|---|---|---|
| 1 | OpenAI | Chat completions, embeddings, vision analysis of End-User screenshots, text-to-speech. Receives embedding requests under ReplyTower's platform account unless the Vendor configures an embedding override, including for Vendors who use their own key or OAuth account for chat. See 2.2. | Conversation content, retrieved knowledge-base context, End-User screenshots | United States |
| 2 | Anthropic | Model provider, available only when the Vendor selects it under Bring Your Own Key (BYOK) | The same categories as row 1, only when the Vendor selects this provider | United States |
| 3 | Telegram (Bot API) | Per-Vendor support bots and administrator notifications | Message content mirrored to the Vendor's administrator chats | International |
| 4 | Vultr | Production hosting | All data at rest | Tokyo, Japan |
| 5 | Stripe | Card top-ups of Vendor account credit | Vendor billing data and payment data. No End-User data. | United States / Ireland |
| 6 | TRONSCAN | Watching USDT-TRC20 deposits | Wallet addresses and amounts only. No personal data. | International |
| 7 | Sentry | Error monitoring. Optional and off by default. | Error data and stack-trace data, only if the operator enables it | United States |
| 8 | Cloudflare (Email Routing) | Routing of inbound email addressed to ReplyTower contact addresses. Not in the path of the Service itself, and not in front of the website. See 2.3. | Whatever the sender includes in an email to us, including a data-subject request and its contents | International |
| 9 | Google (Gmail) | Mailbox hosting for those inbound addresses, which Cloudflare Email Routing forwards to. Not in the path of the Service itself. See 2.3. | The same categories as row 8 | International |
2.1.1 ReplyTower ships with Sentry disabled. The sentry_dsn setting is empty
and the trace sample rate is 0.0.
2.1.2 CAUTION: ReplyTower has no configuration that scrubs personal data out of error reports. If the operator enables Sentry, an error report can contain personal data that appears in a stack trace. ReplyTower will update this list before it enables Sentry in production.
2.2.1 A Vendor may supply its own provider key or OAuth account under Bring Your Own Key (BYOK). That setting moves chat completions and vision to the Vendor's own provider account.
2.2.2 CAUTION: it does not move embeddings. Unless the Vendor also
configures an embedding override — the embedding_base_url setting and the
embedding_api_key setting — ReplyTower serves every embedding call through its
own platform account against the official OpenAI API.
2.2.3 Embeddings are computed over knowledge-base content and over retrieved conversation context. BYOK therefore does not, by itself, remove OpenAI from this list for that Vendor.
2.2.4 Where the Vendor does configure the embedding override, ReplyTower does not use the platform key for embeddings, and it refuses to send its own platform key to a Vendor-controlled endpoint.
2.3.1 ReplyTower publishes info@replytower.com as the address for support, for a Data Processing Addendum request, and — under Section 9 of the Privacy Policy — for a data-subject access, erasure or export request.
2.3.2 That makes the mail path privacy-relevant even though it sits outside the Service. A data-subject request naturally contains the personal data of the person making it. Mail to that address is routed by Cloudflare Email Routing and delivered to a Google mailbox, so both process that content. They are listed for that reason.
2.3.3 Scope limit, stated precisely. Neither company is in the path of the Service. Cloudflare does not front the ReplyTower website: the domain resolves directly to our own host, and TLS terminates at our own web server. Neither receives conversation content, knowledge-base content, End-User messages or vector data. Their access is limited to email that somebody sends us.
3.1 Qdrant is not a sub-processor. ReplyTower self-hosts Qdrant as a Docker Compose service on its own host, with a local storage volume. The stored vectors for Vendor knowledge bases and conversation content never leave ReplyTower infrastructure. Section 2.2 states separately which provider account computes those vectors.
3.2 No third-party behavioural analytics or tracking service. There is no Google Analytics, no Mixpanel, no Segment, no Amplitude, and no PostHog in the portal, in the chat widget, or in the backend. ReplyTower does compute its own usage and conversation statistics inside the product, for the Vendor's own dashboard; that processing stays on ReplyTower infrastructure and is disclosed to no third party, so it engages no sub-processor.
3.3 No third-party email-SENDING service. ReplyTower uses no third-party service to send bulk or transactional email. There is no SMTP provider, no SendGrid, and no Mailgun in the codebase. Inbound email is a separate path and is NOT covered by this statement — rows 8 and 9 of Section 2 list the sub-processors that handle it.
4.1 ReplyTower will give each Vendor at least 30 days notice before it adds a new sub-processor or replaces an existing one. ReplyTower gives the notice by email to the Vendor's account email address, and it updates this document.
4.2 A Vendor may object to a new sub-processor within the 30-day notice period, on reasonable data-protection grounds. The Vendor sends the objection to info@replytower.com.
4.3 If the Vendor objects, ReplyTower will try to offer a change that avoids the processing. If ReplyTower cannot offer such a change, the Vendor may terminate the affected part of the service. Clause 9 of the DPA governs the effect of termination.
4.4 To receive these notices by email, a Vendor sends a subscription request to info@replytower.com.
| Version | Date | Change |
|---|---|---|
| 1.0 | 2026-08-14 | First published list. |