title |
sidebar_label |
sidebar_position |
6. Tools |
6. Tools |
6 |
Chapter 6: Ferramentas (Tools)
6.1 Introdução
Este capítulo apresenta o conjunto de ferramentas oficialmente aprovadas e homologadas pela Pragmatismo para uso em seus processos de desenvolvimento, operação e gestão. A padronização das ferramentas é um requisito essencial para garantir a conformidade com normas como ISO 27001, HIPAA e LGPD, além de promover a eficiência operacional e reduzir riscos de segurança.
As ferramentas aqui listadas foram avaliadas quanto a critérios de segurança, compatibilidade, desempenho e conformidade regulatória. O uso de ferramentas não listadas neste documento deve ser submetido ao processo de avaliação e homologação pela equipe de segurança e compliance antes de sua adoção.
6.2 Políticas de Uso de Ferramentas
6.2.1 Requisitos Gerais
- Todas as ferramentas utilizadas nos ambientes de desenvolvimento, teste e produção devem estar listadas neste documento
- Ferramentas devem ser utilizadas apenas nas versões especificadas ou mais recentes, desde que aprovadas
- Atualizações de segurança devem ser aplicadas em até 30 dias de sua liberação
- É proibido o uso de ferramentas pirateadas ou com licenças irregulares
- Ferramentas com acesso a dados sensíveis devem utilizar autenticação forte e comunicação criptografada
6.2.2 Processo de Homologação
Novas ferramentas devem passar pelo seguinte processo antes de serem aprovadas para uso:
- Solicitação formal indicando necessidade e casos de uso
- Avaliação de segurança e privacidade pela equipe de compliance
- Análise de compatibilidade com infraestrutura existente
- Período de testes em ambiente controlado
- Documentação e inclusão na lista de ferramentas homologadas
- Treinamento para os usuários finais
6.3 Ambiente de Desenvolvimento
6.3.1 Sistema Operacional e Virtualização
Ferramenta |
Versão |
Propósito |
Notas de Compliance |
Ubuntu Desktop |
22.04 LTS, 24.04 LTS |
Sistema operacional para estações de trabalho |
Deve implementar criptografia de disco e manter atualizações de segurança |
Ubuntu Server |
22.04 LTS, 24.04 LTS |
Sistema operacional para servidores Linux |
Deve implementar SELinux ou AppArmor |
Debian |
12+ |
Sistema operacional alternativo |
Apenas versões estáveis |
Podman |
Latest |
Containerização sem daemon |
Alternativa ao Docker com permissões não-root |
Docker |
Latest |
Containerização |
Imagens devem ser escaneadas antes do uso |
KVM/QEMU |
Latest |
Virtualização nativa |
Preferido para ambientes de produção |
6.3.2 IDEs e Editores de Código
Ferramenta |
Versão |
Propósito |
Notas de Compliance |
Visual Studio Code |
Latest |
Editor de código principal |
Deve usar extensões aprovadas |
Neovim |
Latest |
Editor de texto avançado |
Configuração padronizada obrigatória |
Helix |
Latest |
Editor de texto modal |
Alternativa moderna ao Vim |
DBeaver |
Latest |
Gerenciamento universal de bancos de dados |
Conexões criptografadas obrigatórias |
6.3.2.1 Extensões Aprovadas para VSCode
Nome |
Propósito |
ID |
TGit Commands |
Integração com TortoiseGit |
mbinic.tgit-cmds |
Markdown Table Format |
Formatação de tabelas Markdown |
tomashubelbauer.vscode-markdown-table-format |
Prettier |
Formatação de código |
esbenp.prettier-vscode |
.env |
Suporte a arquivos .env |
mikestead.dotenv |
Codewall |
Bloqueio de sites distrativos |
abhinavk99.codewall |
npm Intellisense |
Autocompletar módulos npm |
christian-kohler.npm-intellisense |
Excel to Markdown Table |
Conversão de Excel para Markdown |
csholmq.excel-to-markdown-table |
Markdownlint |
Validação de Markdown |
davidanson.vscode-markdownlint |
TS Lint |
Linting de TypeScript |
eg2.ts-tslint |
npm Script |
Execução de scripts npm |
eg2.vscode-npm-script |
Auto Rename Tag |
Renomeação automática de tags |
formulahendry.auto-rename-tag |
Align Mode |
Alinhamento de texto em colunas |
gruntfuggly.align-mode |
Space Block Jumper |
Navegação entre blocos de código |
jmfirth.vsc-space-block-jumper |
Indentation Level Movement |
Movimentação de linhas respeitando indentação |
kaiwood.indentation-level-movement |
Rainbow CSV |
Destaque de cores para CSV/TSV |
mechatroner.rainbow-csv |
Indenticator |
Destaque do nível de indentação atual |
sirtori.indenticator |
Color Basic |
Esquemas de cores |
tandy.color-basic |
6.3.3 Controle de Versão e ALM
Ferramenta |
Versão |
Propósito |
Notas de Compliance |
Git |
2.40.0+ |
Sistema de controle de versão |
Exige credenciais seguras |
GitUI |
Latest |
Interface TUI para Git |
Alternativa moderna em terminal |
Forgejo |
Latest |
Hospedagem de repositórios e CI/CD |
Solução ALM auto-hospedada |
Drone CI |
Latest |
Integração contínua |
Pipelines como código |
Woodpecker CI |
Latest |
Integração contínua alternativa |
Compatível com Forgejo |
6.3.4 Linguagens e Frameworks
Ferramenta |
Versão |
Propósito |
Notas de Compliance |
Node.js |
20.17.0+, 22.x |
Ambiente JavaScript |
Sem vulnerabilidades críticas |
Python |
3.8+, 9.0+ |
Processamento de dados e IA |
Ambientes virtuais obrigatórios |
Rust |
1.70+ |
Desenvolvimento de alto desempenho e segurança |
Análise estática integrada |
TypeScript |
5.0+ |
Tipagem para JavaScript |
Obrigatório para frontend |
React |
18+ |
Biblioteca principal de UI |
Deve usar análise estática |
Next.js |
14+ |
Framework React com SSR/SSG |
Configuração segura de rotas API |
Tailwind CSS |
3+ |
Framework CSS utilitário |
Configuração com purge CSS obrigatória |
ShadcN UI |
Latest |
Componentes React reutilizáveis |
Baseados em Radix UI e Tailwind |
6.3.5 Bancos de Dados e Armazenamento
Ferramenta |
Versão |
Propósito |
Notas de Compliance |
PostgreSQL |
14+ |
Banco de dados relacional principal |
Encriptação em repouso obrigatória |
TimescaleDB |
Latest |
Extensão PostgreSQL para séries temporais |
Retenção de dados configurada |
MariaDB |
10.6+ |
Banco de dados relacional alternativo |
Autenticação forte obrigatória |
MongoDB |
6+ |
Banco de dados NoSQL |
Autenticação e autorização configuradas |
Redis |
7+ |
Cache e mensageria |
Sem acesso direto da internet |
MinIO |
Latest |
Armazenamento compatível com S3 |
Criptografia em repouso e em trânsito |
6.3.6 Ferramentas de Linha de Comando
Ferramenta |
Versão |
Propósito |
Notas de Compliance |
npm-check-updates |
Latest |
Verificação de atualizações NPM |
Uso regular obrigatório |
cost-of-modules |
Latest |
Análise de tamanho de dependências |
Para otimização de pacotes |
cpulimit |
Latest |
Limitação de uso de CPU |
Para ambientes compartilhados |
expect |
Latest |
Automação de scripts interativos |
Evitar senhas em texto claro |
6.4 Ferramentas de Produtividade e Colaboração
6.4.1 Editores e Conversores
6.4.2 Otimização e SEO
6.4.3 Desenvolvimento Web
6.4.4 Produtividade e Comunicação
6.4.5 Ferramentas de Design e Visualização
6.5 Ferramentas para Desenvolvimento JavaScript/TypeScript
6.5.1 Bibliotecas e Frameworks
6.5.2 Recursos e Referências JavaScript
6.6 Ferramentas de Segurança, Compliance e Infraestrutura
6.6.1 Análise de Segurança
6.6.2 Infraestrutura e DevOps
Ferramenta |
Versão |
Propósito |
Notas de Compliance |
Zitadel |
Latest |
Gerenciamento de identidade e acesso (IAM) |
OIDC/OAuth2 compatível |
Stalwart |
Latest |
Servidor de email seguro |
Anti-phishing e criptografia obrigatórios |
Caddy |
Latest |
Servidor web e proxy reverso |
TLS automático |
Traefik |
Latest |
Proxy reverso alternativo |
Descoberta automática de serviços |
Vault |
Latest |
Gerenciamento de segredos |
Rotação automática de credenciais |
Teleport |
Latest |
Acesso seguro a infraestrutura |
SSO para servidores e bancos |
6.6.3 Colaboração e Comunicação
Ferramenta |
Versão |
Propósito |
Notas de Compliance |
LiveKit Meeting |
Latest |
Videoconferências e colaboração |
Auto-hospedado para maior privacidade |
Element/Matrix |
Latest |
Comunicação criptografada |
E2EE para mensagens sensíveis |
Mattermost |
Latest |
Chat em equipe |
Auto-hospedado para controle total |
6.7 Scripts de Instalação Padrão
6.7.1 Linux (Script de Ambiente de Desenvolvimento)
#!/bin/bash
# Script de instalação do ambiente de desenvolvimento Pragmatismo
# Atualizar sistema
sudo apt update && sudo apt upgrade -y
# Instalar dependências básicas
sudo apt install -y build-essential curl wget git unzip fontconfig
# Instalar Node.js 22.x
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
node -v
# Instalar Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source "$HOME/.cargo/env"
rustup default stable
# Instalar VS Code
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
rm -f packages.microsoft.gpg
sudo apt update
sudo apt install -y code
# Instalar ferramentas de desenvolvimento adicionais
sudo apt install -y neovim dbeaver-ce
# Instalar pacotes NPM globais
sudo npm install -g npm-check-updates cost-of-modules typescript ts-node next
# Configurar Git
git config --global user.name "Seu Nome"
git config --global user.email "email@pragmatismo.com.br"
git config --global init.defaultBranch main
# Clonar repositório General Bots
git clone https://github.com/GeneralBots/BotServer.git
cd BotServer
# Instalar dependências do projeto
npm install
# Abrir no VS Code
code .
6.7.2 Linux (Ubuntu)
Visual Studio Code
apt update
apt install software-properties-common apt-transport-https wget
wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | apt-key add -
add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
apt update
apt install code
Node.js 22.x
curl -fsSL https://deb.nodesource.com/setup_22.x -o nodesource_setup.sh && sudo -E bash nodesource_setup.sh && sudo apt-get install -y nodejs && node -v
Additional Infrastructure
apt-get update
apt-get install build-essential cmake git pkg-config libjpeg-dev libtiff-dev libpng-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libatlas-base-dev gfortran python3-dev
export OPENCV4NODEJS_DISABLE_AUTOBUILD=1
export OPENCV_LIB_DIR=/usr/lib/x86_64-linux-gnu
apt-get install cpulimit
apt-get install expect
apt-get install libxtst-dev
apt-get install libpng-dev
# Fix Key Bindings in VSCode on Ubuntu
echo 'export GTK_IM_MODULE="xim"' >> ~/.profile
Git Configuration
git config --global user.name "Your Name"
git config --global user.email "someone@domain.com"
6.8 Restrições e Proibições
As seguintes categorias de ferramentas são expressamente proibidas nos ambientes da Pragmatismo:
- Ferramentas sem licença válida ou pirateadas
- Software com vulnerabilidades conhecidas e sem correção disponível
- Aplicações que exigem privilégios administrativos desnecessários
- Ferramentas que transmitem dados para servidores externos não aprovados
- Software de compartilhamento P2P não autorizado
- Extensões de navegador não aprovadas pela equipe de segurança
- Ferramentas que contornam políticas de segurança corporativas
6.9 Processo de Atualização deste Catálogo
Este catálogo de ferramentas deve ser revisado trimestralmente pelo Comitê de Segurança da Informação, seguindo os seguintes passos:
- Levantamento de novas ferramentas em uso ou solicitadas
- Verificação de atualizações de segurança para ferramentas existentes
- Avaliação de conformidade com requisitos regulatórios atualizados
- Documentação e comunicação das alterações
- Atualização deste documento no repositório de compliance
A última atualização deste documento foi realizada em: Maio/2025.
6.10 Contato para Dúvidas e Solicitações
Para solicitações de inclusão de novas ferramentas ou esclarecimentos sobre as ferramentas homologadas, entre em contato com a equipe de Compliance através do e-mail: compliance@pragmatismo.com.br ou abra um ticket no sistema interno de suporte.