---
type: explanation
title: 我们的理念
summary: Caputchin 贯穿整个产品的姿态。我们对能力宽松、对代码开放、对数据极简。我们为托管体验和一个改动能传多远设关卡，绝不为你能做的那件原始的事设关卡。
---

Caputchin 建立在一种姿态之上，从三个侧面看：我们对你能做什么 **宽松**、对我们怎么做 **开放**、对我们留下什么 **极简**。我们为托管体验和一个改动能传多远设关卡，绝不为原始能力设关卡，而且我们不持有关于你访客的任何东西，因为没有什么是我们需要的。

这一页摆出那种姿态。自定义是你最直接感受到它的地方，所以它领头，但同样的信念贯穿于我们如何定价、我们开源什么、以及我们拒绝采集什么。

## 这个原则

> 我们为仪表盘体验和一个改动能传多远设关卡。我们不为原始能力设关卡。

两个问题决定任何一项自定义落在这条线的哪一侧：

```mermaid
flowchart TD
    Q{你在哪里撰写它}
    Q -->|在你自己的页面上，用 CSS 或一个组件属性| FREE[每个套餐都免费，包括 Solo]
    Q -->|在 Caputchin 仪表盘里，提供给每一次嵌入| TIER[按套餐分档]
    FREE --> FREEX[重新上色、重新设样式或隐藏品牌，传一个内联游戏皮肤和 locale，挑语言和主题]
    TIER --> TIERX[带团队和按站点范围的托管撰写，处处提供包括托管嵌入页，外加一个页面够不到的那些东西，比如措辞、链接和一次干净的徽标替换]
```

如果你在你自己的页面上撰写它，它免费归你。如果你请 Caputchin 替你撰写它并提供给每一次嵌入，那就是那个付费体验。

## 每个套餐在它自己页面上能做什么

这些对所有套餐开放，包括 Solo，因为它们住在你的页面上，不在我们的仪表盘里。这里没有什么会检查你的档位。

- **给整个组件重新上色。** 外壳把它的颜色作为 CSS 自定义属性暴露，你可以从你自己的样式表覆盖它们。见 [用 CSS 给组件设样式](/docs/widget-customization/css-parts)。
- **重新设样式、重新布局或隐藏任何 part，包括我们的品牌。** 组件在一个开放的 shadow root 里渲染，并把它的结构件作为 CSS part 暴露，所以你可以瞄准并重新给它们设样式，或者完全隐藏品牌块。同样在 [用 CSS 给组件设样式](/docs/widget-customization/css-parts) 里讲到。
- **逐嵌入地手写一个自定义游戏皮肤和 locale。** 在 `<caputchin-game>` 元素上你可以传一个内联的皮肤或 locale 对象，为那一次嵌入覆盖颜色、资源和字符串。它是你自己标记的一个属性，所以它在任何套餐上都能用。见 [给一个游戏设皮肤](/docs/game-customization/skin) 和 [自定义一个游戏的语言](/docs/game-customization/locale)。
- **挑语言和主题。** `locale` 和 `skin` 属性选择任何捆绑的语言或亮和暗主题。见 [组件如何解析它的语言和皮肤](/docs/widget-customization/resolution)。

那个开放的 shadow root 是一个有意的选择，不是一个疏忽。它的存在就是为了让这个 CSS 面能用。我们不会为了守住一道付费墙而关上它，因为那会为我们正努力服务的开发者破坏一个有文档的功能。

## 付费档位增加什么

仪表盘那条路是同样的能力，做成托管的并被赋予触及范围。这就是一个档位买到的：

- **在仪表盘里撰写一次，提供给每一次嵌入。** 你在仪表盘里做的一个改动会传播到跨每个页面和站点密钥的每一次组件挂载，没有按页面要复制并保持同步的 CSS。免费那条路天生是按页面的、手动的。
- **团队和按站点范围。** 仪表盘自定义以一个团队基线和按站点密钥覆盖来解析，于是一支团队可以设一次品牌、并逐密钥覆盖例外。一份样式表没有那种范围的概念。
- **触及你的 CSS 够不到的面。** 原生应用在一个 WebView 里加载的那个托管嵌入页由 Caputchin 提供，所以你在它上面没有任何 CSS 或 JavaScript。一个仪表盘撰写的预设是给那个面打品牌的唯一办法。见 [移动应用集成](/docs/integration-guides/mobile-apps)。
- **做一个页面真正做不到的事。** 重写外壳的措辞、把它品牌条的链接重新指向、以及干净地替换它的徽标，从一份样式表根本够不到。这些是 [给组件做白标](/docs/widget-customization/white-label) 真正的专属。

哪个维度坐落在哪个档位（游戏配置、游戏语言和皮肤、以及组件外壳），在 [游戏自定义档位表](/docs/game-customization/overview#what-applies-and-on-which-plan) 里有总结，而组件外壳，我们最高的一档，在 [白标](/docs/widget-customization/white-label) 里讲到。

## 我们为什么把线画在这里

这个划分一次性让两批受众都满意，而不向任何一方妥协。

一个高级开发者从不被挡。他们能在 CSS 或他们自己的标记里表达的一切，立刻就归他们，在免费套餐上，于是这个产品不会挡一个知道自己想要什么的人的路。一支购买一个付费档位的团队，付的是那部分手工真正难以做好的事：在一个地方撰写、跨许多站点治理它、让它保持同步、并触及他们不控制的面。那是真实的、持续的价值，为它收费是诚实的。

它还意味着我们从不必和我们自己的客户作对。我们不需要防篡改、一个封闭的 shadow root、或一条禁止使用我们记录在文档里的那个设样式面的政策，因为我们不是在把一个免费能力假装成一个付费能力。这个能力是免费的。便利和触及范围才是那个产品。

## 白标是这把梯子的顶端，不是一堵墙

白标常被读作那个终于让你移除我们品牌的功能。它不是。你本来就已经能用一条 CSS 规则免费隐藏我们的品牌。白标是其他每一项自定义所坐落的同一把梯子的顶档：仪表盘撰写、处处提供的版本，外加一个页面靠自己做不到的那少数几件事，即重写措辞、重新指向链接、干净地替换徽标、以及覆盖原生应用在一个 WebView 里加载的那个托管嵌入页。它是更多触及范围和更少工作量，而不是一道围着你本来被拒之物的关卡。

## 默认开放，一路到底

这一页上的宽松不是一种营销姿态。它是结构性的：你嵌入的组件和 SDK 是开源的、采用 Apache-2.0、并在 GitHub 上公开开发。你可以读跑在你访客页面上的代码的每一行、fork 它、审计它、并对着它开一个 issue 或一个 pull request。我们的第一方游戏也是开源的。

我们这样做有两个原因。第一，我们没有什么可藏的。一个要求你访客信任的验证组件应该是可检视的，而不是一个黑盒。第二，那些把自定义面推到极限的开发者，恰恰是我们向之学习的人。拉伸 CSS 面、手写一个游戏皮肤、或对着 SDK 契约构建：当那暴露出一个粗糙的边角或一个缺失的钩子时，那个修复可以作为一份贡献直接回到我们这里。我们用最大的灵活性回报高级用户，并欢迎他们成为代码本身的贡献者。

- 组件和 SDK 包：[github.com/Caputchin/caputchin-sdk](https://github.com/Caputchin/caputchin-sdk)。
- 第一方游戏，Caputchin Core Pack：[github.com/Caputchin/games](https://github.com/Caputchin/games)。

## 默认极简

那个让我们开放的本能，同样让我们极简：我们留下我们需要的，别无其他。我们不采集关于解你挑战的那些人的任何数据。无 IP、无 User-Agent、无指纹、无行为遥测。这是架构性的，而非一个政策承诺，因为这个组件协议无处安放一个访客标识符，所以没有可泄露、可传唤或可出售的。游戏不画任何人的像就达到同一个目的：它重新推导一个回合是否真的被通过了，而不是从鼠标轨迹和点击时机里猜，这就是那个 [游戏反作弊](/docs/understanding-caputchin/gaming-anti-cheat) 的姿态。

对你，这个客户，我们持有一个账户所需的最少：你的邮箱、你的站点密钥配置、以及一份你自己行动的审计日志。删除是彻底的，没有软删除留着一份悄悄的副本。完整的姿态在我们的 [隐私政策](/legal/privacy) 里，而那条无访客数据规则贯穿 [托管验证](/docs/hosted-verification/overview)。

宽松、开放、极简是一种信念的三个角度：我们给你我们所能给的最多控制权，我们原原本本告诉你它如何运作，而我们所求的回报最少。

## 另见

- [用 CSS 给组件设样式](/docs/widget-customization/css-parts)：那个免费的设样式面、part 和颜色变量。
- [给组件做白标](/docs/widget-customization/white-label)：仪表盘撰写、处处提供的版本，以及只有它能做的那些事。
- [自定义你访客所玩的游戏](/docs/game-customization/overview)：逐维度的自定义，以及每一项落在的套餐档位。
- [隐私政策](/legal/privacy)：完整的无访客数据姿态。
