---
type: explanation
title: Nossa filosofia
summary: A postura da Caputchin em todo o produto. Somos permissivos com a capacidade, abertos com nosso código e mínimos com os dados. Limitamos a experiência gerenciada e o quão longe uma mudança viaja, nunca a coisa bruta que você pode fazer.
---

A Caputchin é construída sobre uma só postura, vista de três lados: somos **permissivos** com o que você pode fazer, **abertos** com como fazemos, e **mínimos** com o que guardamos. Limitamos a experiência gerenciada e o quão longe uma mudança viaja, nunca a capacidade bruta, e não guardamos nada sobre seus visitantes porque não há nada de que precisemos.

Esta página expõe essa postura. A personalização é onde você a sente mais diretamente, então ela vem na frente, mas a mesma crença atravessa como precificamos, o que abrimos como código aberto, e o que nos recusamos a coletar.

## O princípio

> Limitamos a experiência do painel e o quão longe uma mudança viaja. Não limitamos a capacidade bruta.

Duas perguntas decidem de que lado da linha qualquer personalização cai:

```mermaid
flowchart TD
    Q{Onde você a cria}
    Q -->|Na sua própria página, com CSS ou um atributo de widget| FREE[Grátis em todo plano, inclusive o Solo]
    Q -->|No painel da Caputchin, servida a cada embed| TIER[Por nível de plano]
    FREE --> FREEX[Recolorir, reestilizar ou ocultar a marca, passar um skin e locale de jogo inline, escolher o idioma e o tema]
    TIER --> TIERX[Autoria gerenciada com escopo de equipe e por site, servida em todo lugar inclusive a página de embed hospedada, mais as coisas que uma página não alcança, como texto, links e uma troca limpa de logo]
```

Se você a cria na sua própria página, ela é sua de graça. Se você pede para a Caputchin criá-la por você e servi-la a cada embed, essa é a experiência paga.

## O que todo plano pode fazer na sua própria página

Estes estão abertos a todos os planos, inclusive o Solo, porque vivem na sua página, não no nosso painel. Nada aqui checa seu nível.

- **Recolorir o widget inteiro.** O shell expõe suas cores como propriedades CSS personalizadas que você pode sobrescrever a partir da sua própria folha de estilo. Veja [Estilize o widget com CSS](/docs/widget-customization/css-parts).
- **Reestilizar, reposicionar ou ocultar qualquer part, inclusive nossa marca.** O widget renderiza em uma shadow root aberta e expõe suas peças estruturais como CSS parts, então você pode mirá-las e reestilizá-las, ou ocultar o bloco de marca por completo. Também coberto em [Estilize o widget com CSS](/docs/widget-customization/css-parts).
- **Criar à mão um skin e locale de jogo personalizados por embed.** No elemento `<caputchin-game>` você pode passar um objeto skin ou locale inline para substituir cores, ativos e strings naquele único embed. É uma propriedade do seu próprio markup, então funciona em qualquer plano. Veja [Aplicar skin a um jogo](/docs/game-customization/skin) e [Personalizar o idioma de um jogo](/docs/game-customization/locale).
- **Escolher o idioma e o tema.** Os atributos `locale` e `skin` selecionam qualquer idioma empacotado ou tema claro e escuro. Veja [Como o widget resolve seu idioma e skin](/docs/widget-customization/resolution).

A shadow root aberta é uma escolha deliberada, não um descuido. Ela existe para que esta superfície CSS funcione. Não vamos fechá-la para proteger um paywall, porque isso quebraria um recurso documentado para os desenvolvedores que estamos tentando servir.

## O que os níveis pagos somam

O caminho do painel é a mesma capacidade, feita gerenciada e com alcance. É isto que um nível compra:

- **Crie uma vez no painel, sirva a cada embed.** Uma mudança que você faz no painel propaga para cada montagem de widget em cada página e chave de site, sem CSS por página para copiar e manter em sincronia. O caminho gratuito é por página e manual por natureza.
- **Escopo de equipe e por site.** A personalização do painel resolve com uma base de equipe e substituições por chave de site, então um time pode definir uma marca uma vez e substituir exceções por chave. Uma folha de estilo não tem noção desse escopo.
- **Alcança superfícies que seu CSS não consegue.** A página de embed hospedada que apps nativos carregam em um WebView é servida pela Caputchin, então você não é dono de nenhum CSS ou JavaScript nela. Um preset criado no painel é a única forma de marcar essa superfície. Veja [Integração com apps móveis](/docs/integration-guides/mobile-apps).
- **Faça o que uma página genuinamente não consegue.** Reescrever o texto do shell, reapontar os links da sua faixa de marca e trocar seu logo de forma limpa não são alcançáveis de uma folha de estilo de jeito nenhum. Estes são os exclusivos genuínos do [white-label do widget](/docs/widget-customization/white-label).

Qual eixo fica em qual nível (configuração de jogo, idioma e skin de jogo, e o shell do widget) está resumido na [tabela de níveis da personalização de jogo](/docs/game-customization/overview#what-applies-and-on-which-plan), com o shell do widget, nosso degrau mais alto, coberto em [white-label](/docs/widget-customization/white-label).

## Por que traçamos a linha aqui

A divisão mantém dois públicos felizes ao mesmo tempo sem comprometer nenhum.

Um desenvolvedor avançado nunca é bloqueado. Tudo o que ele consegue expressar em CSS ou no seu próprio markup é dele imediatamente, no plano gratuito, então o produto não atrapalha quem sabe o que quer. Um time comprando um nível pago está pagando pela parte que é de fato difícil de fazer bem à mão: criar em um só lugar, governar isso em muitos sites, mantê-lo em sincronia, e alcançar superfícies que ele não controla. Esse é um valor real e contínuo, e é honesto cobrar por ele.

Também significa que nunca temos de brigar com nossos próprios clientes. Não precisamos de anti-adulteração, de uma shadow root fechada, ou de uma política que proíba usar a superfície de estilização que documentamos, porque não estamos fingindo que uma capacidade gratuita é paga. A capacidade é grátis. A conveniência e o alcance são o produto.

## O white-label é o topo da escada, não um muro

O white-label é muitas vezes lido como o recurso que finalmente deixa você remover nossa marca. Não é. Você já podia ocultar nossa marca de graça com uma regra de CSS. O white-label é o degrau mais alto da mesma escada em que toda outra personalização fica: a versão criada no painel, servida em todo lugar, mais as poucas coisas que uma página não consegue fazer sozinha, a saber reescrever o texto, reapontar links, trocar o logo de forma limpa, e cobrir a página de embed hospedada que apps nativos carregam em um WebView. É mais alcance e menos trabalho, não um portão em torno de algo que de outra forma lhe era negado.

## Aberto por padrão, até o fim

A permissividade nesta página não é uma postura de marketing. É estrutural: o widget e o SDK que você embute são de código aberto, licenciados sob Apache-2.0, e desenvolvidos abertamente no GitHub. Você pode ler cada linha do código que roda nas páginas dos seus visitantes, fazer fork, auditá-lo, e abrir uma issue ou um pull request contra ele. Nossos jogos próprios são de código aberto também.

Fazemos isso por dois motivos. Primeiro, não temos nada a esconder. Um widget de verificação que pede a confiança dos seus visitantes deveria ser inspecionável, não uma caixa-preta. Segundo, os desenvolvedores que levam a superfície de personalização ao limite são exatamente as pessoas com quem aprendemos. Esticar a superfície CSS, criar um skin de jogo à mão, ou construir contra o contrato do SDK: quando isso revela uma aresta áspera ou um gancho faltando, a correção pode voltar direto para nós como uma contribuição. Recompensamos usuários avançados com flexibilidade máxima, e os acolhemos como contribuidores do próprio código.

- Os pacotes do widget e do SDK: [github.com/Caputchin/caputchin-sdk](https://github.com/Caputchin/caputchin-sdk).
- Jogos próprios, o Caputchin Core Pack: [github.com/Caputchin/games](https://github.com/Caputchin/games).

## Mínimo por padrão

O mesmo instinto que nos faz abertos nos faz mínimos: guardamos o que precisamos e nada mais. Não coletamos nenhum dado sobre as pessoas que resolvem seus desafios. Nenhum IP, nenhum User-Agent, nenhuma impressão digital, nenhuma telemetria comportamental. Isto é arquitetural, não uma promessa de política, porque o protocolo do widget não tem onde pôr um identificador de visitante, então não há nenhum para vazar, intimar ou vender. O jogo chega ao mesmo fim sem traçar o perfil de ninguém: ele rederiva se uma rodada foi de fato resolvida em vez de adivinhar a partir de trajetos de mouse e timing de toque, que é a postura do [anti-trapaça de jogo](/docs/understanding-caputchin/gaming-anti-cheat).

Para você, o cliente, guardamos o mínimo que uma conta precisa: seu e-mail, a configuração da sua chave de site, e um registro de auditoria das suas próprias ações. A exclusão é definitiva, sem soft-delete mantendo uma cópia silenciosa. A postura completa está na nossa [Política de Privacidade](/legal/privacy), e a mesma regra de nenhum-dado-de-visitante atravessa a [verificação hospedada](/docs/hosted-verification/overview).

Permissivo, aberto e mínimo são uma só crença de três ângulos: damos o máximo de controle que podemos, mostramos exatamente como funciona, e pedimos o mínimo que podemos em troca.

## Veja também

- [Estilize o widget com CSS](/docs/widget-customization/css-parts): a superfície de estilização gratuita, parts e variáveis de cor.
- [White-label do widget](/docs/widget-customization/white-label): a versão criada no painel, servida em todo lugar, e as coisas que só ela consegue fazer.
- [Personalize os jogos que seus visitantes jogam](/docs/game-customization/overview): a personalização por eixo e o nível de plano em que cada uma cai.
- [Política de Privacidade](/legal/privacy): a postura de nenhum-dado-de-visitante por completo.
