Caputchin
Entendendo a Caputchin

Nossa filosofia

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:

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.
  • 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.
  • 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 e Personalizar o idioma de um jogo.
  • 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.

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.
  • 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.

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, com o shell do widget, nosso degrau mais alto, coberto em 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.

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.

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, e a mesma regra de nenhum-dado-de-visitante atravessa a verificação hospedada.

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

Nesta página