Documentação Técnica
Referência completa da plataforma DocSystem — arquitetura, segurança, API, controle de acesso e conformidade regulatória.
Visão Geral
O DocSystem é uma plataforma web de gestão documental construída para escritórios de contabilidade, advocacia, engenharia e empresas que precisam gerenciar documentos sensíveis com segurança e conformidade regulatória.
Módulos Principais
- check Gestão de Documentos
- check Assinatura Digital (Art. 10 MP 2.200-2/2001)
- check Workflows Kanban
- check Suporte com Chat em Tempo Real
- check Financeiro & Faturamento
- check Auditoria & Relatórios
- check Portal do Cliente
- check Backup & Restore
Métricas de Segurança
- check 0 vulnerabilidades XSS
- check 0 SQL injection
- check 100% endpoints protegidos por CSRF
- check Rate limiting no login
- check Session fixation prevenido
- check Path traversal bloqueado
- check Cookie HttpOnly + Secure
- check Prepared statements em 100% das queries
Arquitetura do Sistema
Aplicação PHP monolítica com separação clara entre camadas, padrão MVC simplificado e API JSON centralizada.
Frontend
Tailwind CSS (CDN), Material Symbols, M3 Design Tokens, JavaScript vanilla com SPA-like interactions.
Backend
PHP 8+ com strict types. PDO com prepared statements. Session-based auth. CSRF token dinâmico.
Banco de Dados
MySQL 8 (InnoDB). 13 tabelas com foreign keys. Índices otimizados para queries de auditoria e busca.
Segurança Detalhada
Implementação completa de defesas contra os vetores de ataque do OWASP Top 10.
CSRF Protection
Token CSRF gerado por sessão e inserido como meta tag em todas as páginas. Validado em todos os endpoints POST.
Rate Limiting
Proteção contra brute force no login. Session-based com bloqueio progressivo.
Sessão & Cookies
- check
session_regenerate_id(true)no login — previne session fixation - check Cookie com
httponly— JavaScript não acessa o cookie - check Cookie com
secureem HTTPS — não trafega em HTTP - check SameSite=Lax — proteção contra CSRF via cookies
Injeção de Código
- check SQL Injection: 100% das queries usam
prepare()+execute()com bind de parâmetros - check XSS Reflected/Stored: Saídas escapadas com
sanitize()em PHP + escape em JS para template literals - check Path Traversal: Validação com
realpath()+ prefixo de diretório - check Backup SQL: Whitelist de tabelas permitidas, dump via
$db->quote()
Controle de Acesso
Sistema de 4 papéis com validação server-side em cada endpoint. Clientes não acessam dados de outros clientes.
| Ação | Admin | Gerente | Operador | Cliente |
|---|---|---|---|---|
| Criar/editar clientes | check | check | close | close |
| Criar faturas | check | check | close | close |
| Excluir documentos | check | check | close | close |
| Criar en assinatura | check | check | check | close |
| Gerenciar workflows | check | check | check | close |
| Criar tickets de suporte | check | check | check | check |
| Atualizar status do ticket | check | check | check | close |
| Enviar msg no ticket | check | check | check | check |
| Criar/gerenciar usuários | check | check | close | close |
| Backup / Restore | check | check | close | close |
| Acessar logs de auditoria | check | check | close | close |
info Gerente: só vê e edita clientes atribuídos a ele. Cliente: só vê seus próprios tickets e documentos.
Funcionalidades Detalhadas
folder_copy Gestão de Documentos
- Upload drag-and-drop com barra de progresso em tempo real (até 50MB)
- 13 tipos de arquivo: PDF, PNG, JPG, GIF, SVG, WebP, DOC, DOCX, XLS, XLSX, CSV, TXT, PPTX
- Visualizador inline com fallback para tipos não-visualizáveis
- Vault de documentos por cliente com busca e paginação
- Exclusão soft (status = deleted) com confirmação em modal
- Trilha de auditoria em cada operação
draw Assinatura Digital
- Duas formas: desenho na tela ou digitação do nome
- Assinatura armazenada como imagem base64 com validação de formato
- Links externos com token único (sem necessidade de login)
- Tokens com data de expiração configurável
- IP e timestamp registrados na assinatura
- Cálculo automático de completion rate do envelope
- Conforme Art. 10 da MP 2.200-2/2001 (validade jurídica)
account_tree Workflows Kanban
- 4 colunas: A Fazer, Em Andamento, Em Revisão, Concluído
- Drag-and-drop com reordenação persistente
- 3 níveis de prioridade: Urgente, Alta, Normal, Baixa
- Barra de progresso individual por card
- Data de vencimento com indicador visual de atraso
- Métrica de eficiência da equipe
confirmation_number Suporte Integrado
- Sistema de tickets com chat em tempo real
- Categorias: Suporte Técnico, Financeiro, Comercial, Outro
- 4 status: Aberto, Em Andamento, Resolvido, Fechado
- Pontuação CSAT e tempo de resposta
- Separação visual de mensagens (equipe vs cliente)
- Contador de mensagens não lidas
computer Portal do Cliente
- Dashboard dedicado com visão geral de atividades
- Vault de documentos com upload seguro
- Timeline de atividades em tempo real
- Criação de tickets de suporte
- Acesso isolado — só vê seus próprios dados
- Layout responsivo e otimizado para mobile
API Endpoints
Todas as requisições usam JSON. POST com body JSON, Headers: Content-Type: application/json + X-CSRF-Token.
Dispatcher central. Body: { "action": "..." }
Upload multipart/form-data. Validação de tipo, tamanho (50MB) e CSRF.
API de assinatura. GET para obter envelope por token. POST para submeter assinatura.
Gerenciamento de backups. Somente admin e gerente. Actions: list, create-backup, delete-backup, restore-backup, download-backup.
Assinatura Digital
Implementação conforme Art. 10 da Medida Provisória 2.200-2/2001. Assinatura eletrônica com validade jurídica.
Fluxo de Assinatura
Gerente/operador cria envelope vinculando documento, cliente e signatários.
Sistema gera link único com token para cada signatário (com ou sem login).
Signatário acessa o link, visualiza o documento e assina desenhando ou digitando.
Sistema registra: imagem da assinatura, IP, timestamp, email. Token expira após uso.
Quando todos assinam, envelope muda para "signed" e completion_rate = 100%.
Backup & Restore
Sistema completo de backup com dump SQL, compressão ZIP e restauração seletiva.
Backup Completo
- Dump de todas as tabelas (whitelist validado)
- Schema + dados em SQL formatado
- Compactação automática em ZIP
- Data e hora no nome do arquivo
- Download via API com autenticação
Restore
- Upload de arquivo SQL ou ZIP
- Validação de tabelas permitidas
- Truncamento seguro antes da restauração
- Path traversal bloqueado com realpath()
- Operação restrita a admin e gerente
Compliance & Regulatório
gavel MP 2.200-2/2001 — Assinatura Eletrônica
O DocSystem atende ao Art. 10 da Medida Provisória, que equipara a assinatura eletrônica à autógrafa quando utilizados meios idôneos. Cada assinatura é vinculada a: identificação do signatário (email), imagem da assinatura, endereço IP, e data/hora do ato.
shield LGPD — Lei Geral de Proteção de Dados
Isolamento de dados por cliente (um cliente não vê dados de outro). Controle de acesso granular por role. Logs de auditoria com IP para rastreabilidade. Exclusão lógica de dados (soft delete) preservando integridade referencial.
history Trilha de Auditoria
Logs append-only (imutáveis — não podem ser editados ou excluídos). Registro de: ação, tipo de recurso, ID do recurso, user_id, IP, timestamp e detalhes em JSON. Alertas automáticos para ações de falha.
Stack Tecnológica
Requisitos de Deploy
Mínimo
- check PHP 8.1+
- check MySQL 5.7+ ou MariaDB 10.3+
- check Apache com mod_rewrite
- check ext-pdo, ext-pdo_mysql
- check 512MB RAM
Recomendado
- check PHP 8.2+
- check MySQL 8.0+
- check HTTPS (Let's Encrypt)
- check OPcache habilitado
- check 2GB+ RAM
Pronto para conhecer o DocSystem?
Crie sua conta gratuita ou entre em contato para uma demonstração personalizada.