Procon Campinas confirmou em segunda instância a multa ao Sicredi por conta de minha reclamação de que, após eu procurar o Sicredi, explicar que eu queria serviços bancários online sem instalar programas que não um navegador aderente aos padrões internacionais num sistema operacional qualquer, recebi sinalização positiva e abri a conta, mas ao chegar em casa me foi exigida a instalação no computador de um programa de (in)segurança. Fui contactado por representante legal da cooperativa, que me pediu para explicar direitinho o que é que eu queria. Esta é a resposta que lhe enviei:

Assim como a maior parte das pessoas hoje em dia, sou um ciborgue eletivo. Ao contrário da maioria, sou ciente e meticuloso quanto a esse fato. Não é que eu carregue implantes no corpo, mas nem por isso os computadores que escolho usar para aumentar minhas capacidades deixam de ser extensões de meu corpo, muito mais que um lar digital. Como meus braços e pernas, servem estritamente à minha vontade, graças à cuidadosa seleção de seus componentes e ao uso estrito de Software Livre.

Quando falo de Software Livre, refiro-me a programas de computador que respeitam a autonomia, a dignidade e a vontade do usuário. Isso exige acesso, pelo usuário, às especificações legíveis do programa ("código-fonte"), permitindo-lhe estudar seu comportamento e modificar sua cópia para servir ao seu interesse, até o limite da lei e de sua consciência. O usuário pode exercer essas liberdades em caráter individual, com ajuda de terceiros à sua escolha, ou em comunidades.

Contrasto com seu oposto, o Software Privativo, privativo de liberdade. É oferecido sem possibilidade de investigação nem modificação, sujeitando seus usuários a comportamento secreto que serve a interesses alheios, a despeito de qualquer serviço observável que lhes preste. Viola a autonomia, a dignidade, a vontade e a propriedade do usuário, sujeitando seu prolongamento eletrônico a cumprir instruções secretas, das quais não se permite ao usuário tomar conhecimento. Qualquer suposto consentimento haveria de se presumir inválido, por negação de informação essencial. Viola a intimidade, a segurança, o corpo e o lar do ciborgue que não logre impedir tal invasão.


Estou envolvido com o movimento social e político do Software Livre há mais de 30 anos. Tenho dedicado a vida a essa causa, desde que a conheci na Unicamp, onde me tornei usuário, desenvolvedor e ativista. Trabalho com desenvolvimento de Software Livre há mais de 20 anos. Co-fundei, na América Latina, a organização irmã da Fundação para o Software Livre, fui premiado pela fundação original, sediada nos EUA, da qual cheguei depois a ocupar a presidência.

A dissidência mais popular do movimento Software Livre, desde 1998 denominada "código aberto", considera o Software Privativo como fechado, inferior, ineficiente, inseguro e indesejável. O movimento Software Livre vai além, considerando também antiético e intolerável o desrespeito à liberdade do usuário de controlar sua própria computação.


Software---ou programa de computador---é um conjunto de instruções para desempenhar uma computação, cumpridas à risca pelo computador. Quanto o usuário tem acesso às instruções em forma legível e pode estudá-las e adaptá-las, tem controle individual sobre a computação que desempenha. Quando não tem, sua computação está sujeita ao controle de quem tem.

O jurista e pesquisador estadunidense Lawrence Lessig, em seu livro "Código e outras leis do ciberespaço", em tradução livre, compara os efeitos regulatórios de códigos jurídicos e tecnológicos, cunhando a frase "código é lei." Ressalto, porém, que leis e demais códigos de natureza jurídica, em regimes democráticos, são necessariamente públicas e transparentes para todas as partes envolvidas, enquanto o código de Software Privativo é frequentemente secreto e assim exerce controle tirânico sobre seus súditos. Outra diferença importante é que leis injustas podem (e, para diversos pensadores, devem) ser descumpridas, ainda que sujeitem o infrator às consequências do descumprimento; já Software Privativo de liberdade é impositivo de forma inescapável, no sentido de ser inviável modificá-lo para fugir de seu subjugo. Remeto, como exemplo, à comum e irritante frase "o sistema não permite, não há essa opção", sinal de que impõe unilateralmente normas inescapáveis, mesmo não codificadas em lei. Software Livre, devolvendo ao usuário o controle sobre sua computação, não se presta a tais abusos. Ainda que não traga ao usuário direitos que não possui, respeita sua liberdade de agir com autonomia e informação, de resistir a abusos e de superar limites arbitrários.


É desse contexto que parte minha primeira razão para rejeitar os programas ora exigidos pelo Sicredi para movimentar conta corrente e acessar outros serviços. Outros bancos têm permitido acesso com nada mais que navegadores que respeitam padrões internacionais, utilizando medidas de segurança diversas, que não exigem do cliente a instalação e utilização de programas secretos e privativos de liberdade. Minha associaão ao Sicredi foi justamente causada por um movimento de um dos bancos dos quais sou cliente, no sentido de impor tal exigência, para mim proibitiva. Tramita na justiça processo em que exijo do banco restabelecer os serviços que contratei, sem tal exigência abusiva.


Minha segunda objeção tem caráter prático. Enquanto desenvolvedor de software básico (compiladores, sistemas operacionais), frequentemente utilizo computadores com processadores e sistemas operacionais diferentes, às vezes ainda nem disponíveis ao público. Nos últimos 30 anos, raramente utilizei PCs comuns. Utilizei estações de trabalho com processadores Sun (hoje Oracle) SPARC, Motorola 68k, DEC Alpha. No início de minha vida profissional, participei dos esforços para fazer o sistema operacional GNU/Linux funcionar em processadores ARM, Matsushita MN10300, Hitachi/Renesas SH e H8, Fujitsu FR-V, diversos MIPS e até o hoje dominante x86_64, então conhecido apenas pelo codinome SledgeHammer. Hoje, além de trabalhar com versões de desenvolvimento de processadores ARM e AArch64, cujos irmãos mais velhos dominam o mercado de celulares, utilizo processadores RISC-V de 32 e 64 bits, e participo de um projeto de desenvolvimento de uma variante de PowerPC chamado Libre-SOC.

Nenhum desses computadores executa os sistemas operacionais mais populares para PCs, tais como MS-Windows e macOS. Seus fornecedores não disponibilizam versões desses sistemas compatíveis com seus processadores. Usamos Software Livre neles, afinal, esses sistemas podem ser e de fato são adaptados para funcionar nesses (às vezes ainda protótipos de) computadores. Mesmo que houvesse opção, minha preferência ainda seria o sistema operacional livre GNU/Linux.

Os programas exigidos pelo Sicredi se restringem a uma gama excessivamente limitada de sistemas operacionais para computadores de mesa e uma única linha de processadores. Não funcionaria nesses computadores, mesmo que eu aceitasse sujeitar minha computação ao controle por esses programas.

Até os computadores originalmente PC/x86* que uso têm sua programação básica, a chamada BIOS, substituída por LibreBoot, para remover ou desabilitar componentes invasivos e daninhos presentes em todo PC/x86 fabricado nos últimos 15 anos. Talvez os programas exigidos pelo Sicredi funcionassem sobre o GNU/Linux instalado neles, mas eu não desejo reforçar esse oligopólio nem me prender a essa plataforma hostil e legada, que só pode ter os componentes daninhos removidos ou desabilitados em modelos de 2007/2008 como os que ainda uso.

Não critico a limitada variedade de sistemas e processadores ofertada pelo Sicredi. Não seria razoável exigir da cooperativa a preparação de versões dos programas compatíveis com as versões de desenvolvimento dos processadores e sistemas operacionais que utilizo no dia-a-dia.

Seria perfeitamente razoável, porém, esperar que o Sicredi, e de fato qualquer banco ou prestador de serviço via WWW, não restringisse as escolhas de computador e sistema operacional de seus clientes, aderindo aos padrões internacionais do Consórcio WWW, que permitem interação através de navegadores aderentes aos padrões, propiciando independência de modelo de computador e de sistema operacional.

Houvesse insistência no uso de programas específicos da cooperativa bancária, seria necessário que fosse disponibilizado seu código-fonte, para que pudesse ser adaptado para funcionar no sistema e processador à escolha do usuário, ou ao menos sua especificação detalhada, para que interessados pudessem implementá-la e utilizá-la para receber os serviços.


Minha terceira objeção diz respeito à segurança. Os que tentam dar um ar de normalidade à exigência de que eu instale seus programas secretos rejeitam a ideia simétrica---de eu lhes exigir a instalação, em seus computadores, de um programa fornecido por mim, para realmente aumentar a minha segurança, a mesma que alegam querer proteger.

Meu comportamento, como usuário consciente e cioso da segurança tecnológica, é semelhante à negativa de todos os prestadores de serviço aos quais estendi tal sugestão, inclusive nos motivos: meus computadores contêm informações que não lhes dizem respeito; tenho obrigações para com outrem de zelar por sua confidencialidade; não seria correto eu correr o risco de que programas secretos pudessem vulnerar o alto grau de segurança que devo manter, para informações próprias e alheias sob minha guarda.

Assim, rejeito terminantemente programas que eu não possa ao menos auditar, preferindo aqueles que possam ser auditados de maneira individual e coletiva, adaptados para funcionar nos computadores e sistemas operacionais de minha preferência e melhorados para desempenhar minha computação conforme minha conveniência.

Comparo a exigência de instalação de programas, à escolha do prestador, em meu próprio computador, a uma hipotética exigência de que eu aceitasse, em minha própria vida, inclusive ambientes de trabalho, de transporte e de convivência familiar, o acompanhamento permanente de um profissional de segurança apontado e contratado pelo prestador. Mesmo nada sabendo de sua vida, eu teria de autorizar-lhe penetrar as barreiras de segurança do condomínio onde vivo, bem como quaisquer outras medidas de segurança que eu pudesse adotar. Entenda-se o "pudesse" como denotando que esse segurança as poderia unilateralmente vetar, alegando incompatibilidade com suas preferências, ou simplesmente recusando-se a comparecer, o que inviabilizaria a continuidade do serviço condicionado à sua presença invasiva e abusiva.

O segurança me acompanharia em minhas chamadas telefônicas; minhas conversas familiares; minhas idas ao banheiro; minhas visitas a clientes e fornecedores, inclusive outros bancos. Exigiria acesso não supervisionado a todos os cômodos de minha residência e poderia registrar (em áudio e vídeo) qualquer momento de minha vida e compartilhá-lo com terceiros. Não responderia a mim, mas ao seu fornecedor, que poderia inclusive substituí-lo a qualquer momento. Talvez se eu lhe pedisse gentilmente, ele se acomodasse onde não pudesse ver nem registrar a tela e o teclado de meu computador, nas incontáveis horas em que o utilizo para finalidades que não lhe dizem respeito. Um ser humano poderia me conceder tal gentileza.

Mas como fazer tal pedido a um programa de computador, instalado necessariamente em modo privilegiado com pleno acesso, sem possibilidade de eu me certificar de antemão de sua origem, seu propósito e suas credenciais; que não me informa nem me permite investigar quais comunicações intercepta; que pode ativar câmera e microfone sem me alertar; pode registrar e transmitir ao seu controlador mestre quaisquer dados apresentados na tela do computador ou introduzidos através do teclado ou da rede, ou ainda quaisquer dados armazenados previamente no computador?

Vagas alegações de que seria por minha própria segurança não me convencem. O prestador não assume responsabilidade alguma por eventuais danos que o programa possa causar. Sequer informa sobre limites da segurança supostamente fornecida, o que pode induzir a comportamentos de risco, contando com uma hipotética proteção que o programa nem sequer tente oferecer.

Não há informação disponível quanto aos reais benefícios e medidas de segurança que o programa exigido pretende oferecer, nem quanto aos riscos de seu uso. Pergunto-me se o redistribuidor sequer tem esse conhecimento. A informação para o consumidor seria essencial, já que a falsa sensação de segurança pode induzir a comportamentos mais arriscados que os adotados sob a ciência da ausência de medidas de segurança.

Por exemplo, ataques comuns envolvem o acesso acidental a sítios que se fazem passar por sítios associados ao prestador, buscando coletar dados pessoais ou informações de acesso. Não tenho ideia se o sistema tenta oferecer qualquer proteção contra esse tipo de ataque, mas entendo que, para oferecê-la, teria de monitorar todo acesso do meu computador a qualquer sítio da Internet, uma invasão para mim inaceitável.

Caso se propusesse a defender meu computador de invasões externas, haveria de monitorar todas as portas de entrada e bloquear operações que considerasse suspeitas (outra invasão inaceitável), mesmo que fossem atividades normais e intencionais para alguém como eu.

Com acesso privilegiado ao meu computador, poderia coletar minhas credenciais e transacionar em meu nome, inclusive noutros bancos que eu acessasse do mesmo computador; ou ainda dificultar o acesso aos outros bancos, intencionalmente ou não.

Não tenho evidência de que o programa exigido ofereça qualquer segurança além das medidas que já tomo para me assegurar de que meu computador siga comandos por mim autorizados. Pelo contrário, sistemas desse tipo tipicamente exigem desabilitar medidas de segurança tais como o uso do protetor de privacidade Tor, o bloqueio de conexões a endereços sem autorização prévia e o bloqueio de execução de scripts fornecidos por terceiros para execução no navegador.

Consta que o programa exigido, durante sua instalação, adiciona às configurações do sistema um certificado que lhe permitiria interceptar e forjar comunicações supostamente seguras---e que navegador e outros programas entenderiam e sinalizariam como seguras---mas que, em razão desse certificado, seriam observáveis por terceiros agindo em parceria com o fornecedor do programa exigido pelo prestador.

Ante o crescimento de práticas de capitalismo de vigilância, incluindo coleta de dados, monitoramento e predição comportamentais, não vejo com bons olhos a instalação de programas que poderiam propiciar, ao prestador ou a seus fornecedores e parceiros, acesso a tamanha gama de dados pessoais e profissionais, meus e de meus clientes e demais fornecedores.

Ante o conhecimento de algumas das exigências de redução de medidas pessoais de segurança, bem como de limitações da suposta segurança que o programa poderia me fornecer, resulta-me nítida a impressão de que, ao invés de me proteger de eventuais invasões, como alega, o programa garante que meu computador esteja invadido e controlado remotamente, acrescentando-me todas as preocupações quanto a vazamentos de dados e invasão de privacidade inerentes a uma situação de invasão, sem me trazer qualquer benefício perceptível.

Aponto ainda que auditar o comportamento de uma versão atual do programa não me traria muita tranquilidade: funcionando em modo privilegiado e com acesso à rede, nada impediria que, após a auditoria, o programa buscasse da rede e instalasse uma nova versão ou complemento que lhe conferisse funcionalidades indesejáveis análogas às de um programa invasor qualquer.


Resta aí minha terceira razão para rejeitar a exigência de programas secretos. Fosse o programa auditável e adaptável, minha opinião técnica a respeito poderia mudar. Secreto, porém, o programa viola princípios básicos da segurança. Tecnicamente, um sistema de segurança é tido como robusto e portanto seguro não quando é obscuro, mas quando resiste a tentativas de comprometimento mesmo sendo público. Os que dependem da obscuridade dos processos para sua segurança não são seguros, são vulneráveis. Profissionais da área consideram seguros sistemas que resistem a atacantes que conheçam o sistema. Informações que fazem sentido manter em segredo são chaves e senhas, mas essas não se divulgam, nem se presumem secretas quando embutidas em programas distribuídos a terceiros, pois podem ser extraídas. Portanto, alegação de necessidade de obscuridade dos processos é manifesta admissão de incompetência na arte e técnica da segurança. Eu jamais apostaria minha segurança num programa cujo fornecedor considere razoável argumentar que sua segurança exige obscuridade.


Dadas minhas objeções de cunho filosófico, prático e técnico, como proceder para prestação segura de serviços através da WWW, via Internet?

O serviço que contratei, após cuidadosa seleção por conta de minhas preferências e necessidades, me permitiria transacionar utilizando um navegador qualquer num sistema operacional qualquer, sem firulas desnecessárias que só fazem impor uma seleção cada vez mais limitada de navegadores e sistemas. Tampouco exigiria aplicativos que trazem consigo imposições de uso de uma seleção limitadíssima de sistemas operacionais e uma única linha de processadores, hoje profundamente prejudicada em termos de violação da privacidade e da autonomia de seus usuários.

Não pretendo exigir que o fornecedor faça seus aplicativos funcionarem em sistemas à minha escolha, assim como não aceito que o fornecedor me exija usar sistemas à sua escolha. Tampouco pretendo exigir que o fornecedor instale em seus próprios computadores programas de segurança que eu lhe disponibilize, assim como não aceito que exija que eu instale seus programas em meus computadores, muito menos sem me permitir auditá-los.

Eu aceitaria receber o código-fonte dos aplicativos para auditá-los e adaptá-los aos sistemas e processadores que utilizo, mas preferiria que o serviço pleno fosse prestado através tão somente de um navegador aderente aos padrões internacionais, sem extensões secretas nem scripts desnecessários, com autenticação por meio seguro, tais como token-chaveiro ou programa auditável em dispositivo desconectado, certificados ou senhas bem mais longas, jamais por chave/segredo armazenado permanentemente em dispositivo com conectividade.

Visto que a exigência de aplicativo "de segurança" se dá somente após a autenticação, seria perfeitamente possível e razoável dispensar seletivamente clientes específicos, uma vez autenticados, do uso do programa. Seria aceitável exigir autenticação mais forte, por meio de certificado digital além de token, como condição para tal dispensa.


Permito-me sugerir ainda outra possibilidade, que muito me interessaria. Tenho notícia de que a Alemanha estabeleceu um protocolo padrão de transacionamento interbancário via Internet, que permite implementações independentes de programas para iniciar consultas e transações, comunicando-se com os diversos bancos através desse mesmo protocolo seguro. Um dos programas que implementa esse protocolo é o GnuCash, que é Software Livre e parte integrante do sistema operacional GNU/Linux.

Caso o fornecedor não mais desejasse oferecer as funcionalidades de transacionamento via Internet através de um sítio WWW, eu aceitaria documentação sobre o protocolo de transacionamento seguro que o banco já mantém e disponibiliza para uso através do sítio WWW e dos aplicativos para tornozeleiras de bolso (é como me refiro aos telefones celulares), para implementar as funcionalidades de consultas e transacionamento no GnuCash.

Seria algo análogo à documentação pública dos sistemas de Open Banking e Pix, que oferecem protocolos (APIs) seguras para consultas e transacionamento, mas implementadas livremente por cada sistema cliente, sem que a publicidade dos protocolos comprometa a segurança dos sistemas; pelo contrário, cada sistema pode se resguardar, sem precisar trazer para dentro de seu ambiente computacional código alheio secreto e não-auditável.

Essa opção haveria de envolver um compromisso de manter as funcionalidades disponíveis por ao menos alguns anos, e de comunicação prévia de eventuais modificações planejadas, para que se possa manter compatível o sistema cliente.


Recomendo ainda registro e utilização de chaves OpenPGP para assinatura e criptografia de correio eletrônico, permitindo verificação confiável de solicitações emitidas por esse meio, assim como a comunicação segura de dados sensíveis.


Até blogo,