Discriminação filosófica
A exigência de uso de software que não respeita as liberdades de seus usuários consiste em discriminação filosófica e política.
O movimento pelo Software Livre é um movimento político, filosófico e técnico que prega o respeito às liberdades de usuários e desenvolvedores de software, conforme estabelecido da Definição de Software Livre [DSL].
O projeto GNU foi criado com o intuito de criar um sistema operacional constituído exclusivamente de Software Livre, de modo que usuários pudessem utilizar computadores sem abrir mão dessas liberdades.
Com o surgimento do Linux, uma peça de software que preenchia uma lacuna ainda existente no projeto GNU, pôde-se combinar GNU+Linux e tornar o intuito uma realidade.
A licença GNU GPL (General Public License, ou Licença Pública Geral), utilizada pela imensa maioria dos Softwares Livres, inclusive o Linux, foi criada de modo a garantir que o respeito às liberdades seja inseparável do software que ela acompanha, através do mecanismo de "copyleft" por ela introduzido.
Participantes desse movimento procuram rejeitar, por questões morais e éticas, software licenciado sob termos que não respeitem essas liberdades.
O respeito a essa opção política e filosófica é exigido pela Constituição Federal, em seu artigo 5º, combinando-se o já citado inciso II com o seguinte:
VIII - ninguém será privado de direitos por motivo de crença religiosa ou de convicção filosófica ou política, salvo se as invocar para eximir-se de obrigação legal a todos imposta e recusar-se a cumprir prestação alternativa, fixada em lei;
A Receita Federal, no momento em que exige de um contribuinte, sem respaldo de lei, o preenchimento e entrega de sua declaração em programa de computador não Livre, sem oferecer-lhe as alternativas de preenchimento em papel ou da criação de Software Livre para esse fim, impõe ao contribuinte a escolha entre trair suas convicções políticas e filosóficas, utilizando o Software não Livre, ou deixar de cumprir com suas obrigações fiscais, com as penalidades e privações de direitos que isso possa acarretar.
Nenhuma das alternativas é adequada e a Receita Federal não tem a prerrogativa de impor essa restrição ao contribuinte.
Vale mencionar que a ressalva no inciso VIII se aplica quando a obrigação legal é imposta a todos, mas a receita exige o uso do software apenas de alguns contribuintes, portanto a ressalva não se aplica a este caso.
Também cabe argumentar contra a discriminação dos que elegem entregar a declaração em formato não eletrônico, seja por alinhamento político ou filosófico, seja por mera falta de confiança em função da fragilidade e insegurança jurídica do processo eletrônico.
Não deveria haver atraso no pagamento de restituição de acordo com o formato escolhido para a entrega da declaração.
A constituição federal exige o respeito às convicções políticas e filosóficas que não conflitem com a lei e, de fato, proíbe a discriminação a tais convicções, também em seu artigo 5º:
XLI - a lei punirá qualquer discriminação atentatória dos direitos e liberdades fundamentais;
Resumo
A fim de garantir o respeito da Receita Federal aos Princípios Constitucionais da Legalidade, Impessoalidade, Publicidade e Eficiência e a segurança jurídica dos contribuintes, assim como para evitar discriminação e oferecer maior conveniência aos contribuintes, sugerimos aos contribuintes que solicitem ou, quando couber, exijam:
- que o código fonte de todos os programas necessários à preparação e ao envio de declarações de imposto de renda, e quaisquer outras obrigações fiscais, sejam disponibilizados a todos;
- que a licença de uso dessas aplicações permita a execução, o estudo, a modificação e a distribuição do software, com ou sem modificações, sem porém permitir que terceiros efetuem modificações e as distribuam sem conceder as mesmas permissões a outros usuários;
- que os formatos de arquivos e protocolos de comunicação dessas aplicações com os servidores da Receita Federal, inclusive os mecanismos de criptografia e assinatura digital, sejam documentados de forma pública, de modo a permitir implementações alternativas;
- que a Receita Federal publique os procedimentos internos de validação de consistência de declarações e de recibos, incluindo uma chave pública ou certificado utilizado para comprovar a autenticidade dos recibos, a fim de possibilitar validação independente de declarações;
- que a Receita Federal estabeleça mecanismos para notificação de contribuintes a respeito de submissões de declarações em seu nome, mesmo na existência de mecanismos que dificultem essa prática, a fim de possibilitar recurso de repúdio ou confirmação em tempo hábil.
Essas práticas favoreceriam o cumprimento da Constituição Federal:
Art. 3º Constituem objetivos fundamentais da República Federativa do Brasil:
I - construir uma sociedade livre, justa e solidária;
II - garantir o desenvolvimento nacional;
III - erradicar a pobreza e a marginalização e reduzir as desigualdades sociais e regionais;
IV - promover o bem de todos, sem preconceitos de origem, raça, sexo, cor, idade e quaisquer outras formas de discriminação.
Por todas razões apontadas, cabe oposição à distribuição desses programas na forma como vem sendo feita, possivelmente através de mandado de segurança, conforme artigo 5º da Constituição Federal:
LXIX - conceder-se-á mandado de segurança para proteger direito líquido e certo, não amparado por "habeas-corpus" ou "habeas-data", quando o responsável pela ilegalidade ou abuso de poder for autoridade pública ou agente de pessoa jurídica no exercício de atribuições do Poder Público;
Esperamos que este artigo forneça à Receita Federal orientações sobre como melhor cumprir com suas obrigações; aos contribuintes, mais argumentos para recuperar seus direitos violados e, aos órgãos internos de fiscalização do governo, tais como o Ministério Público e a Procuradoria Geral da República, elementos para buscar a defesa dos direitos de todos os contribuintes através da correção imediata dos problemas apontados, cumprindo seu papel de garantir a segurança dos cidadão em face de arbitrariedades cometidas pelo poder público.
Apêndice: Detalhes técnicos
Uma forma relativamente simples de prejudicar um contribuinte seria impedir que ele entregasse a declaração. O programa de transmissão, ReceitaNet, pode estar configurado para reconhecer o CPF do contribuinte e simular uma falha na transmissão. Se o programa afirmar não ser capaz, naquele momento, de estabelecer contato com o computador da Receita Federal responsável pela recepção da declaração, o usuário provavelmente apenas tentará novamente a transmissão mais tarde.
À medida em que o prazo final para entrega se aproxime, o programa pode passar a afirmar que o servidor está congestionado, o que o contribuinte considerará crível. Acabará não conseguindo entregar a declaração via Internet no prazo, não poderá mais efetuar a entrega através de disquete pois o prazo também já se terá encerrado e, não tendo qualquer suspeita sobre o mau funcionamento do programa, entregará a declaração com atraso, arcando com a multa correspondente. Somente o acesso ao código fonte do programa ReceitaNet permitiria a comprovação de seu comportamento discriminatório nesse cenário fictício, mas perfeitamente plausível.
Falha semelhante poderia ser introduzida no programa que recebe as transmissões, e de forma ainda mais preocupante por ser possível, a qualquer momento, a alteração do programa de modo a remover quaisquer traços do comportamento discriminatório.
A fim de evitar tal situação, um recibo de transmissão precisaria ser emitido antes de o programa conhecer a identidade do contribuinte.
Não há como saber se a Receita Federal tomou essas precauções, pois nem o código fonte do ReceitaNet nem o protocolo de comunicação entre ele e o servidor da Receita Federal que recebe as declarações são de conhecimento público.
Segue uma descrição detalhada de uma forma de implementar a transmissão segura da declaração e do recibo correspondente, usando técnicas criptográficas conhecidas:
- O contribuinte envia a declaração em duas partes criptografada com chaves distintas geradas pelo programa do contribuinte, portanto não conhecida pela Receita Federal. A primeira parte contém apenas informação que deva constar do recibo e uma assinatura digital sobre a segunda parte, gerada com a chave da primeira; a segunda contém o restante da declaração e a chave para decodificar a primeira.
- O computador da Receita Federal gera um recibo contendo assinaturas digitais das duas partes, e outras informações de confirmação do recebimento, criptografa o recibo com uma chave gerada nesse momento e o assina com sua chave privada.
- O contribuinte pode nesse momento verificar a autenticidade do recibo através da chave pública da Receita Federal.
- Após a troca de declaração por recibo criptografados, e portanto incompreensíveis para os receptores, dá-se início a um procedimento seguro de revelação mútua de segredos, de modo que a Receita Federal tenha acesso à chave usada para a segunda parte da declaração no momento em que o contribuinte tenha acesso à chave usada para o recibo.
- Neste momento, o contribuinte já possui um recibo que comprova a entrega de sua declaração. O protocolo pode ainda prever uma fase seguinte em que o computador da Receita Federal verifica e atesta a integridade da declaração recebida, para possível anexação ao recibo.
- O contribuinte pode então apresentar como prova de entrega da declaração o recibo criptografado e assinado pela Receita Federal, a primeira parte da declaração e as chaves para decodificação do recibo e da primeira parte da declaração.
O mecanismo descrito acima coíbe outras formas de prejudicar um contribuinte específico:
- a adulteração de informação da declaração em trânsito ou
- nos bancos de dados da Receita Federal.
O programa de transmissão de declarações, o programa de recepção na Receita Federal e quaisquer sistemas que tenham possibilidade de modificação do banco de dados de declarações, dentro da Receita Federal, podem ser programados para adulterar o conteúdo de uma declaração específica, de forma a que a declaração seja considerada inconsistente, incompleta ou mesmo falsa.
Isso por óbvio poderá ocasionar ao contribuinte desde atraso no recebimento de restituição até processos por sonegação ou falsidade, em que o contribuinte se verá incapaz de sustentar qualquer argumento contrário às alegações da Receita Federal, por não poder inspecionar os programas que utilizou e por não ser capaz de comprovar ter enviado as informações que espera ter enviado, uma vez que não tem acesso à especificação do formato do arquivo da declaração nem do recibo.
O mecanismo descrito acima, em que as duas partes criptografadas da declaração tenham sido assinadas digitalmente pela Receita Federal, no recibo emitido antes de ela conhecer a identidade do contribuinte, permite ao contribuinte comprovar eventuais modificações posteriores ao envio.
Porém, para comprovar ou evitar modificações introduzidas pelo próprio programa de envio, ele necessitaria acesso ao código fonte desse programa, ou que os arquivos gravados para transmissão da declaração já estivessem em formato criptografado, acompanhado das chaves necessárias para acessar a informação na declaração, mas não para gerar a assinatura digital da segunda parte, presente na primeira.
Para sua segurança jurídica, o contribuinte deve ainda poder verificar de maneira independente que o recibo emitido diz respeito aos arquivos que preparou para transmissão, e não a uma versão adulterada deles.
Resta ainda outro ponto para introdução de adulterações: o programa de preenchimento da declaração. Ele pode estar programado para gerar os arquivos para transmissão de modo a prejudicar o contribuinte alvo.
Para evitar esse risco, é necessário que a descrição do formato do arquivo de envio seja pública, de modo que seja possível verificar que a informação contida no arquivo é efetivamente aquela que o contribuinte pretende enviar.
Ainda assim, o programa de preenchimento de declaração pode guardar surpresas.
Pode, por exemplo, ser programado para rejeitar um determinado CPF como inválido; para apresentar defeitos diversos tais como falhas na gravação, recuperação ou apresentação de informações da declaração; simulação de erros de programação que resultem em término do programa sem gravar informações preenchidas; geração de assinaturas inválidas ou mesmo o uso de chaves conhecidas a fim de possibilitar adulteração da declaração ou do recibo, ou rejeição da entrega.
Todos esses mecanismos podem estar presentes no programa, mas desativados, exceto para o contribuinte alvo, identificado pelo CPF fornecido ao programa no início do preenchimento. Mesmo para o contribuinte alvo, o desvio do comportamento esperado pode ser imperceptível. Somente com acesso ao código fonte do programa de preenchimento se pode garantir que ele não contenha tais medidas.
Todavia, há outra maneira de garantir ao contribuinte a possibilidade de preparar sua declaração corretamente para entrega. Basta que haja documentação pública sobre o formato do arquivo de transmissão, ainda que nesse caso possa ser necessário ao contribuinte desenvolver seu próprio programa de preparação da declaração.
Outra forma de causar prejuízo a um contribuinte específico seria a recusa em emitir-lhe um recibo de entrega.
Por isso, no mecanismo descrito acima, o computador da Receita Federal emite um recibo antes de conhecer a identidade do contribuinte, inviabilizando a recusa discriminatória.
A assinatura digital sobre o recibo criptografado impede o repúdio do recibo, atrelado à declaração através das assinaturas digitais incluídas no recibo, e coíbe a emissão impune de recibos inconsistentes, incorretos ou falsos, já que a assinatura digital comprova a origem do recibo.
Como a assinatura do recibo é emitida e enviada antes de se conhecer a identidade do contribuinte, impede-se ainda a emissão de recibos com assinaturas inválidas para contribuintes específicos.
Resta, porém, o risco de envio de múltiplas declarações do mesmo contribuinte.
Como qualquer um pode gerar e enviar declarações em nome de qualquer contribuinte, não cabe à Receita Federal se recusar a emitir um recibo em função de envio de declaração anterior, do contrário seria possível causar prejuízo a um contribuinte enviando, ou fazendo parecer que foi enviada, uma declaração falsa antes que ele tivesse oportunidade de fazê-lo, ou enviando, ou fazendo parecer que foi enviada, uma retificação após o envio legítimo.
De fato, para possibilitar a recusa de emissão de recibo nesses casos, seria necessário revelar a identidade do contribuinte mais cedo, expondo-o à possibilidade das formas de discriminação descritas anteriormente.
Uma forma de oferecer segurança ao contribuinte contra esse tipo de ameaça seria o uso de certificados digitais para incluir, no conteúdo não criptografado da primeira parte da declaração, uma assinatura digital gerada através do certificado digital do contribuinte.
Para contribuintes que não possuam ou prefiram não usar seus certificados digitais nesse caso, pode-se utilizar assinatura gerada com uma chave utilizada no envio anterior, da mesma forma que hoje se solicita o número do recibo do envio anterior.
É importante que essa medida seja utilizada para a segurança do contribuinte, e não contra ele. A entrega de declaração em papel acompanha assinatura de próprio punho do contribuinte e portanto pode colocar o ônus da prova no contribuinte caso ele tente repudiar uma declaração em seu nome.
Porém, dada a vulnerabilidade dos sistemas computacionais, a assinatura digital não deve receber o mesmo peso jurídico que uma assinatura de próprio punho, não podendo servir de prova definitiva de que uma declaração tenha sido enviada em nome do contribuinte a que corresponde a assinatura eletrônica, ao menos enquanto perdurar tal vulnerabilidade.
De fato, sem acesso ao código fonte das aplicações oferecidas pela Receita Federal, não há razão para o contribuinte confiar que elas mesmas não provoquem o vazamento de chaves ou certificados.
Mesmo que implementadas essas formas de assinatura digital, em caráter opcional, devem-se ainda estabelecer mecanismos de notificação de contribuintes a respeito de submissões múltiplas em seu nome, a fim de possibilitar correções e eventuais investigações criminais em tempo hábil, o que pode até mesmo coibir o envio indevido de declarações.
Cabe ainda argumentar em favor da publicação dos procedimentos de verificação de consistência aplicados a uma declaração enviada.
Ainda que a Receita Federal possa oferecer um serviço que apresente o resultado de sua validação, dada a identificação de uma declaração enviada anteriormente ou mesmo uma declaração ainda não enviada, convém que se possa verificar um declaração numa implementação independente, de forma manual ou automática, antes ou mesmo depois de seu envio.
Caso contrário, o cidadão novamente se vê à mercê de atos arbitrários emanados pela Receita Federal, através de alegações infundadas mas incontestáveis de que sua declaração seja inválida.
Reiteramos que todos os riscos ao contribuinte expostos acima só existem graças à obscuridade do processo, que se traduz em violação do princípio da transparência, oriundo do princípio constitucional da publicidade.