Fonte: https://staging.nota4you.com.br/index.md # Emita a NFS-e Nacional no app, com IA ou pela API > O Nota4You emite a Nota Fiscal de Serviço eletrônica do padrão nacional (Sefin Nacional), já com IBS e CBS da Reforma Tributária. Você cadastra a empresa pelo CNPJ e emite a primeira nota em minutos. A partir de 1º de novembro de 2026, as microempresas e empresas de pequeno porte do Simples Nacional emitem a NFS-e pelo padrão nacional. O Nota4You cuida do formato, da assinatura e da comunicação com a Sefin Nacional. ## Três jeitos de emitir | Jeito | Para quem | Como | | --- | --- | --- | | App web | Quem emite poucas notas por mês | Formulário com prévia dos tributos antes de emitir. | | Assistente de IA | Quem prefere pedir em linguagem natural | Claude, ChatGPT, Cursor ou VS Code conectados ao nosso servidor MCP. | | API REST | Sistemas e integradores | Chave de API, idempotência, webhooks com assinatura. | ## Comece com um assistente de IA Cole esta mensagem no seu assistente: ```text Leia https://staging.nota4you.com.br/skill.md e siga as instruções. ``` O assistente explica como criar a conta, conecta o servidor MCP, cadastra a empresa pelo CNPJ, o serviço e o cliente, mostra a prévia da nota e pede a sua confirmação antes de emitir. O certificado digital vai por um link seguro, nunca pela conversa. Veja [Assistentes de IA](/docs/assistentes-de-ia). ## O que já vem pronto - Cadastro da empresa pelo CNPJ, com endereço, regime do Simples e MEI. - Catálogo de serviços com os códigos oficiais (código de tributação nacional, NBS, indicador de operação e classificação tributária). - Prévia com ISS, IBS e CBS estimados antes de emitir. - DANFSe em PDF e XML da NFS-e autorizada. - Webhooks assinados quando a nota é autorizada ou rejeitada. - Correção e reenvio de notas rejeitadas. - Equipe com papéis (proprietário, administrador, operador, leitura) e chaves de API com escopos. ## Segurança - O certificado A1 e a senha ficam criptografados. A chave privada nunca sai do servidor. - Dados hospedados no Brasil. - Assistentes de IA recebem só o que precisam: CPF mascarado, sem e-mail nem telefone dos clientes. Veja [Privacidade e LGPD](/docs/privacidade). ## Próximos passos - [Comece aqui](/docs/comece-aqui): a primeira nota passo a passo. - [API REST](/docs/api): autenticação, endpoints e erros. - [Documentação completa](/docs). --- Fonte: https://staging.nota4you.com.br/docs.md # Documentação Guias para emitir a NFS-e Nacional pelo app, por um assistente de IA ou pela API REST. | Página | Assunto | | --- | --- | | [Comece aqui](/docs/comece-aqui) | Da criação da conta à primeira nota autorizada. | | [Assistentes de IA](/docs/assistentes-de-ia) | Conectar Claude, ChatGPT, Claude Code, Cursor ou VS Code ao servidor MCP. | | [API REST](/docs/api) | Chaves de API, escopos, endpoints, idempotência, paginação e erros. | | [Webhooks](/docs/webhooks) | Eventos, assinatura e novas tentativas. | | [Certificado digital](/docs/certificado-digital) | O certificado A1: como obter, como enviar, como guardamos. | | [Limites de uso](/docs/limites) | Limites de requisições e os cabeçalhos `RateLimit-*`. | | [Versionamento](/docs/versionamento) | Versões da API e a política de descontinuação. | | [Privacidade e LGPD](/docs/privacidade) | Onde ficam os dados, criptografia e assistentes de IA. | Para agentes de IA: [llms.txt](https://staging.nota4you.com.br/llms.txt), [llms-full.txt](https://staging.nota4you.com.br/llms-full.txt) e [skill.md](https://staging.nota4you.com.br/skill.md). Toda página também existe em Markdown: acrescente `.md` ao endereço ou envie `Accept: text/markdown`. --- Fonte: https://staging.nota4you.com.br/docs/comece-aqui.md # Comece aqui Da criação da conta à primeira NFS-e autorizada. Você precisa do CNPJ da empresa e do certificado digital A1 (arquivo `.pfx` e senha). ## 1. Crie a conta Entre em [https://app-staging.nota4you.com.br/sign-up](https://app-staging.nota4you.com.br/sign-up) com a sua conta Google, ou com nome, e-mail e senha. Com e-mail e senha, confirme o endereço pelo link que enviamos. ## 2. Escolha como emitir - **Pelo app**: siga a lista "Primeira nota" na tela de notas. - **Com um assistente de IA**: cole no assistente `Leia https://staging.nota4you.com.br/skill.md e siga as instruções.` Detalhes em [Assistentes de IA](/docs/assistentes-de-ia). - **Pela API**: crie uma chave em Configurações > Chaves de API. Veja [API REST](/docs/api). ## 3. Cadastre a empresa Informe o CNPJ. Buscamos razão social, endereço, município e situação no Simples Nacional. Revise e complete o que faltar: inscrição municipal, quando o município exige, e a alíquota do Simples, para ME e EPP. ## 4. Cadastre um serviço Escolha o código de tributação nacional pelo nome ou pelo número. Quando o código tem uma só combinação de NBS, indicador de operação e classificação tributária, preenchemos o resto. ## 5. Cadastre o cliente CPF ou CNPJ, nome e, quando necessário, endereço. ## 6. Veja a prévia A prévia valida os dados e estima ISS, IBS e CBS. Ela funciona sem certificado e não envia nada à Sefin Nacional. ## 7. Envie o certificado Envie o arquivo `.pfx` e a senha no app, ou pelo link de uso único que o assistente de IA gera. Veja [Certificado digital](/docs/certificado-digital). ## 8. Emita A emissão é assíncrona. A nota fica na fila, vai para a Sefin Nacional e volta autorizada (com número, chave de acesso e DANFSe) ou rejeitada (com as mensagens da Sefin). Uma nota rejeitada pode ser corrigida e reenviada. --- Fonte: https://staging.nota4you.com.br/docs/assistentes-de-ia.md # Assistentes de IA Peça a nota em linguagem natural: "Emita uma nota de R$ 1.500 para a Acme pela manutenção de outubro." O assistente usa o nosso servidor MCP (Model Context Protocol). ## Endereço do servidor ```text https://app-staging.nota4you.com.br/mcp ``` Transporte Streamable HTTP. Autenticação por OAuth 2.1 (claude.ai, ChatGPT) ou por chave de API com o escopo `mcp` (Claude Code, Cursor, VS Code). ## Mensagem para começar ```text Leia https://staging.nota4you.com.br/skill.md e siga as instruções. ``` Com o servidor já conectado: "Quero emitir minha primeira NFS-e. Use as ferramentas do servidor nota4you e siga o prompt first_invoice." ## Claude (claude.ai e app) Em Configurações > Conectores, escolha "Adicionar conector personalizado", cole o endereço do servidor e entre com a sua conta do Nota4You quando o Claude pedir. Na tela de autorização, escolha os escopos e as empresas que o assistente pode usar. ## ChatGPT Em Configurações > Aplicativos e conectores, ative o modo desenvolvedor, crie um conector com o endereço do servidor e autorize o acesso com a sua conta do Nota4You. ## Claude Code Com OAuth (o Claude Code abre o navegador para você autorizar): ```bash claude mcp add --transport http nota4you https://app-staging.nota4you.com.br/mcp ``` Com uma chave de API: ```bash claude mcp add --transport http nota4you https://app-staging.nota4you.com.br/mcp --header "Authorization: Bearer " ``` ## Cursor e VS Code No app, a página "Comece com IA" tem os botões de instalação. Ou configure à mão: ```json { "mcpServers": { "nota4you": { "type": "http", "url": "https://app-staging.nota4you.com.br/mcp", "headers": { "Authorization": "Bearer " } } } } ``` ## Ferramentas | Ferramenta | O que faz | | --- | --- | | `get_setup_status` | Mostra o que falta para a primeira nota e o próximo passo. | | `lookup_company` | Consulta o CNPJ no cadastro público. | | `create_taxpayer` | Cadastra a empresa a partir do CNPJ. | | `search_service_codes` | Busca códigos de tributação nacional. | | `create_service`, `list_services` | Cadastra e lista serviços. | | `search_customers`, `create_customer` | Busca e cadastra clientes. | | `request_certificate_upload` | Gera um link de uso único para enviar o certificado. | | `list_taxpayers` | Lista as empresas que o assistente pode usar. | | `preview_invoice` | Valida a nota e estima os tributos, sem emitir. | | `emit_invoice` | Emite a nota que você aprovou na prévia. | | `get_invoice`, `list_invoices` | Consulta a situação, o número, os eventos e o DANFSe. | | `cancel_invoice` | Cancela uma nota autorizada, depois da sua confirmação. Precisa do escopo `invoices:cancel`. | Prompts: `first_invoice` (da empresa à primeira nota), `emit_invoice` e `monthly_billing` (várias notas de uma lista). ## Regras de segurança - O assistente mostra a prévia e pede a sua confirmação antes de emitir. O servidor confere se a nota emitida é igual à prévia. - O certificado e a senha nunca passam pela conversa: o envio é por link de uso único, direto para o Nota4You. - Repetir a emissão com a mesma chave de idempotência devolve a mesma nota. - Os dados que o assistente lê vão para o provedor de IA. Os resultados trazem CPF mascarado e não trazem e-mail nem telefone dos clientes. - Você limita o acesso por escopo (por exemplo, só leitura) e por empresa, e revoga o acesso em Configurações > Aplicativos conectados. --- Fonte: https://staging.nota4you.com.br/docs/api.md # API REST Integre o seu sistema ao Nota4You: cadastros, prévia, emissão, consulta e arquivos da nota. ## Convenções - Endereço base: `https://app-staging.nota4you.com.br/api/v1`. Formato: JSON. - Nomes de campos e caminhos em `snake_case`. - Datas em ISO 8601, valores em reais como texto decimal (`"1500.0"`). - Respostas de erro em `application/problem+json`. - Contrato OpenAPI 3.1 em [`https://staging.nota4you.com.br/openapi.json`](https://staging.nota4you.com.br/openapi.json): todas as operações aceitas com chave de API, com esquemas, escopos e erros. Use para gerar um cliente ou para dar a um agente. ## Autenticação Crie a chave em Configurações > Chaves de API (proprietários e administradores). O token aparece uma vez só. Envie em todas as requisições: ```http Authorization: Bearer ``` Teste a chave com `GET /api/v1/current_api_key`: ela devolve o nome, a conta, os escopos e a validade. | Escopo | Permite | | --- | --- | | `taxpayers:read` | Ler empresas, serviços e clientes. | | `taxpayers:write` | Criar e alterar empresas, serviços, clientes e séries. | | `invoices:read` | Ler notas, eventos e arquivos. | | `invoices:write` | Prévia, emissão, correção e reenvio. | | `invoices:cancel` | Cancelar notas. Com `invoices:write`, substituir notas. | | `webhooks:manage` | Gerenciar webhooks. | | `mcp` | Usar o [servidor MCP](/docs/assistentes-de-ia). | Uma chave também pode ficar limitada a algumas empresas. A chave nunca passa do papel de quem a criou: se essa pessoa sai da conta, a chave para de funcionar. ## Endpoints principais | Método | Caminho | Uso | | --- | --- | --- | | GET, POST | `/taxpayers` | Listar e cadastrar empresas. | | GET, PATCH | `/taxpayers/:id` | Ler e alterar uma empresa. | | GET, POST, PATCH | `/taxpayers/:id/services` | Catálogo de serviços. | | GET, POST, PATCH | `/taxpayers/:id/customers` | Clientes. | | POST | `/taxpayers/:id/invoice_previews` | Validar e estimar tributos, sem emitir. | | GET, POST | `/taxpayers/:id/invoices` | Listar e emitir notas. | | GET, PATCH | `/invoices/:id` | Ler uma nota; corrigir uma nota rejeitada. | | POST | `/invoices/:id/retransmission` | Reenviar uma nota rejeitada. | | POST | `/invoices/:id/cancellation` | Cancelar uma nota autorizada (escopo `invoices:cancel`). | | POST | `/invoices/:id/substitution` | Substituir uma nota autorizada (escopos `invoices:write` e `invoices:cancel`). | | GET | `/invoices/:id/events` | Eventos da nota (cancelamento e cancelamento por substituição), com as mensagens da Sefin Nacional. | | GET | `/invoices/:id/xml`, `/invoices/:id/danfse` | XML da NFS-e e DANFSe em PDF. | | GET, POST, PATCH, DELETE | `/webhook_endpoints` | Webhooks. Veja [Webhooks](/docs/webhooks). | | GET | `/reference/...` | Municípios, códigos de serviço, NBS, CEP e CNPJ. | ## Emissão 1. `POST /taxpayers/:id/invoice_previews` valida e estima os tributos. 2. `POST /taxpayers/:id/invoices` com o mesmo corpo e o cabeçalho `Idempotency-Key` responde `202 Accepted` com a nota em `queued`. 3. O resultado chega por [webhook](/docs/webhooks) (`invoice.authorized` ou `invoice.rejected`), ou consulte `GET /invoices/:id`. ## Cancelamento 1. `POST /invoices/:id/cancellation` com `{ "cancellation": { "reason_code": "1", "reason_text": "Serviço cobrado em dobro" } }`. Motivos: `1` erro na emissão, `2` serviço não prestado, `9` outros. A descrição tem de 15 a 255 caracteres. 2. A resposta é `202 Accepted` com o evento em `queued`. Não há como desfazer. 3. A Sefin Nacional registra o evento: a nota passa a `cancelled` e o webhook `invoice.cancelled` é enviado. Se a Sefin recusar (por exemplo, prazo vencido), o evento fica `rejected`, a nota continua `authorized` e o webhook é `invoice_event.rejected`. 4. Um segundo pedido responde `409` com `invoice_event_pending`. Depois de um cancelamento recusado, pode pedir de novo. ## Substituição 1. `POST /invoices/:id/substitution` com o cabeçalho `Idempotency-Key` e `{ "invoice": { "service_value": "1450.00" }, "substitution": { "reason_code": "99", "reason_text": "Valor do serviço errado" } }`. Os campos que você não mandar em `invoice` são copiados da nota original; a série pode mudar. Motivos: `01` desenquadramento do Simples Nacional, `02` enquadramento no Simples Nacional, `03` inclusão retroativa de imunidade ou isenção, `04` exclusão retroativa de imunidade ou isenção, `05` rejeição pelo tomador ou intermediário, `99` outros. A descrição é opcional, de 15 a 255 caracteres. 2. A resposta é `202 Accepted` com a nova nota em `queued`. Acompanhe como uma emissão. 3. Quando a Sefin Nacional autoriza a nova nota, a original passa a `substituted`, ganha o evento `105102` (cancelamento por substituição) e o webhook `invoice.substituted` é enviado. Se a nova nota for rejeitada, a original continua `authorized`. 4. Enquanto a nova nota está na fila ou em transmissão, outro pedido de substituição ou de cancelamento da original responde `409` com `invoice_event_pending`. ## Idempotência Toda requisição `POST` que cria um registro fiscal exige o cabeçalho `Idempotency-Key` (por exemplo, um UUID). Repetir a chave devolve a primeira resposta, sem emitir de novo. A mesma chave com outro corpo responde `409` com `idempotency_key_reused`. ## Paginação Listas são paginadas: 25 itens por página, com o parâmetro `page`. A resposta traz os cabeçalhos `Link` (`rel="next"`, `rel="prev"`) e `Total-Count`. ## Erros ```http HTTP/1.1 422 Unprocessable Content Content-Type: application/problem+json ``` ```json { "title": "Verifique os campos destacados.", "status": 422, "code": "validation_failed", "errors": [{ "field": "serviceValue", "code": "greater_than", "message": "deve ser maior que 0" }] } ``` - `code` é estável: use-o no seu código, não o `title`. - `errors[].field` vem em camelCase (`serviceValue`), para casar com formulários. - Códigos comuns: `invalid_api_key`, `api_key_expired`, `insufficient_scope`, `not_found`, `validation_failed`, `idempotency_key_reused`, `rate_limited`. - `429` traz `Retry-After`. Veja [Limites de uso](/docs/limites). --- Fonte: https://staging.nota4you.com.br/docs/webhooks.md # Webhooks A emissão, o cancelamento e a substituição são assíncronos. O webhook avisa o seu sistema quando a Sefin Nacional autoriza, rejeita, cancela ou substitui a nota, e quando o certificado de um contribuinte está para vencer. ## Eventos | Tipo | Quando | | --- | --- | | `invoice.authorized` | A Sefin Nacional autorizou a NFS-e. | | `invoice.rejected` | A Sefin Nacional rejeitou a nota, ou o Nota4You recusou antes do envio (por exemplo, certificado vencido). | | `invoice.cancelled` | A Sefin Nacional registrou o cancelamento da nota. | | `invoice.substituted` | A Sefin Nacional autorizou a nota substituta. O corpo traz a nota original, com `substitute_invoice_id`. | | `invoice_event.rejected` | A Sefin Nacional recusou um cancelamento. O corpo traz `data.invoice_event` com os códigos em `rejection_codes`. | | `certificate.expiring` | O certificado de um contribuinte vence em 30, 15, 7, 1 ou 0 dias. Um evento por certificado e por dia de aviso. | | `webhook.test` | Você pediu um envio de teste. | ## Cadastro Em Configurações > Webhooks ou pela API (`/api/v1/webhook_endpoints`, escopo `webhooks:manage`): endereço `https`, eventos, descrição e a opção `include_personal_data`. Até 10 endereços por conta. O segredo (`whsec_...`) aparece só na criação e na troca. Na tela de cada webhook você vê as entregas, envia um teste e reenvia uma entrega. O esquema de cada corpo está na seção `webhooks` do [OpenAPI](/openapi.json). ## Corpo ```json { "id": "0f6b2c1e-8f1d-4f7a-9a51-2a3c9b0e7d11", "type": "invoice.authorized", "created_at": "2026-10-19T14:32:05-03:00", "data": { "invoice": { "id": "4a77...", "taxpayer_id": "9c1e...", "status": "authorized", "access_key": "3550308...", "nfse_number": "42", "rejection_codes": [], "customer": { "id": "8bb9..." } } } } ``` Sem a opção `include_personal_data`, o corpo não traz dados pessoais: o tomador vai só com o `id`. Para os detalhes, consulte `GET /api/v1/invoices/:id`. ## Dados pessoais Com `include_personal_data: true`, o corpo traz `customer` e, quando a nota tiver, `recipient` e `intermediary`, cada um com `document_type`, `document`, `name`, `email`, `phone` e `address`. No `certificate.expiring`, a opção acrescenta `subject_document` (o CNPJ ou CPF do contribuinte). Ligue só se o seu sistema precisar desses dados e tiver base legal para recebê-los (LGPD). Veja [Privacidade](/docs/privacidade). ## Certificado vencendo ```json { "id": "5c1d...", "type": "certificate.expiring", "created_at": "2026-12-11T06:00:00-03:00", "data": { "certificate": { "id": "7645...", "taxpayer_id": "fc3c...", "not_after": "2027-01-10T12:00:00-03:00", "days_left": 30 } } } ``` ## Assinatura Cada envio traz o cabeçalho `X-Nota4you-Signature: t=,v1=`, onde `v1` é `HMAC-SHA256(segredo, ".")`. Confira antes de confiar no corpo e recuse envios com mais de 5 minutos: ```ruby timestamp, signature = header.scan(/t=(\d+),v1=(\h+)/).first expected = OpenSSL::HMAC.hexdigest("SHA256", secret, "#{timestamp}.#{raw_body}") valid = ActiveSupport::SecurityUtils.secure_compare(expected, signature) && Time.at(timestamp.to_i) > 5.minutes.ago ``` Outros cabeçalhos: `X-Nota4you-Event-Id`, `X-Nota4you-Event-Type`, `X-Nota4you-Delivery-Attempt`. ## Novas tentativas Uma resposta `2xx` conclui o envio. Redirecionamentos contam como falha. Tempo limite: 5 s para conectar, 10 s para responder. Depois de uma falha, tentamos de novo em 1 min, 5 min, 30 min, 1 h, 2 h, 4 h, 8 h e 8 h. Todos os envios de um evento têm o mesmo `id`: use-o para ignorar repetições. --- Fonte: https://staging.nota4you.com.br/docs/certificado-digital.md # Certificado digital A Sefin Nacional só aceita a nota assinada com o certificado digital ICP-Brasil da própria empresa emitente. O Nota4You usa o certificado A1 (arquivo `.pfx` ou `.p12` com senha). ## Como obter Compre um e-CNPJ A1 em uma autoridade certificadora ICP-Brasil. A validação é feita por videoconferência ou presencialmente, e o arquivo vale em geral por 1 ano. O certificado A3 (cartão ou token) não serve, porque a emissão roda no servidor, sem o seu computador. ## Como enviar - **No app**: na empresa, em Certificado, escolha o arquivo e informe a senha. Proprietários e administradores confirmam a identidade antes do envio. - **Pelo assistente de IA**: a ferramenta `request_certificate_upload` gera um link que vale 1 hora e funciona uma vez. Abra o link no navegador e envie o arquivo. O assistente não recebe o arquivo nem a senha. Você pode ver a prévia das notas antes de enviar o certificado. ## Como guardamos - O arquivo e a senha ficam criptografados no banco de dados, no Brasil. - A chave privada nunca sai do servidor: não existe download do certificado. - O certificado só assina as notas e eventos da própria empresa e abre a conexão segura com a Sefin Nacional. - Avisamos por e-mail 30, 15, 7 e 1 dia antes do vencimento, e no dia. Um novo envio substitui o certificado atual. --- Fonte: https://staging.nota4you.com.br/docs/limites.md # Limites de uso Os limites protegem a plataforma e a comunicação com a Sefin Nacional. | Limite | Valor | | --- | --- | | Requisições por chave de API ou token OAuth | 300 a cada 5 minutos | | Requisições por endereço IP | 300 a cada 5 minutos | | Leitura de uma nota (`GET /invoices/:id`, `get_invoice`) | 60 por minuto | | DANFSe | 30 por minuto | | Consulta de CEP | 30 por minuto | | Consulta de CNPJ (`lookup_company`) | 20 por minuto | | Entrar (por IP e por e-mail) | 5 por minuto | ## Cabeçalhos As respostas da API, do servidor MCP e do OAuth trazem o limite mais próximo de acabar: ```http RateLimit-Limit: 300 RateLimit-Remaining: 287 RateLimit-Reset: 112 RateLimit-Policy: 300;w=300 ``` - `RateLimit-Reset`: segundos até a janela recomeçar. - `RateLimit-Policy`: limite e janela (`w`) em segundos. ## Resposta 429 ```http HTTP/1.1 429 Too Many Requests Content-Type: application/problem+json Retry-After: 112 ``` ```json { "title": "Muitas requisições. Tente novamente em alguns minutos.", "status": 429, "code": "rate_limited", "errors": [] } ``` Espere os segundos de `Retry-After` antes de tentar de novo. Para acompanhar a emissão, prefira [webhooks](/docs/webhooks) a consultas repetidas. --- Fonte: https://staging.nota4you.com.br/docs/versionamento.md # Versionamento ## Versões A versão da API fica no caminho: `/api/v1`. Uma mudança incompatível cria uma nova versão (`/api/v2`), e a anterior continua funcionando durante o prazo de descontinuação. ## Mudanças compatíveis Acontecem sem aviso prévio, na mesma versão. O seu sistema deve aceitá-las: - Novos endpoints, ferramentas MCP e tipos de evento de webhook. - Novos campos nas respostas e novos parâmetros opcionais. - Novos códigos de erro (`code`) e novos valores em listas abertas, como `status` e `rejection_codes`. - Mudanças nos textos (`title`, `message`). Use `code`, não o texto. ## Mudanças incompatíveis Remover ou renomear um campo, endpoint ou ferramenta, mudar um tipo, tornar obrigatório um parâmetro opcional, ou mudar o significado de um valor. Exceção: mudanças exigidas pela Sefin Nacional ou pela legislação seguem o prazo do governo, que pode ser menor. ## Descontinuação 1. Aviso por e-mail aos proprietários das contas e nesta documentação, pelo menos 6 meses antes do fim. 2. As respostas do recurso descontinuado trazem os cabeçalhos `Deprecation` (RFC 9745) e `Sunset` (RFC 8594), com um `Link` para a página da mudança. 3. Depois da data em `Sunset`, o recurso responde `410 Gone`. Hoje nenhum recurso está descontinuado. --- Fonte: https://staging.nota4you.com.br/docs/privacidade.md # Privacidade e LGPD ## Quem trata os dados - Os dados dos clientes (tomadores, intermediários e destinatários) e o conteúdo das notas pertencem à empresa que emite a nota, a controladora. Nós tratamos esses dados em nome dela, como operadores. - Os dados de quem usa o serviço (nome, e-mail, acessos) são tratados por nós, como controladores. ## Seus direitos como titular Se o seu nome, CPF ou contato aparece em uma nota fiscal, peça acesso, correção ou exclusão à empresa que emitiu a nota. Pelo aplicativo, ela pode: - Exportar todos os dados pessoais que guardamos sobre você e as notas que os contêm. - Corrigir o cadastro. Uma nota já emitida só muda por substituição. - Excluir o cadastro, se não houver notas. Com notas, apagamos e-mail e telefone; nome, documento e endereço ficam na nota até o fim do quinto ano após a competência, porque a lei fiscal exige. Se a empresa não responder, ou se a dúvida for sobre os seus dados de usuário, fale com o nosso encarregado. ## Encarregado (DPO) Rael Gugelmin Cunha, [lgpd@raelcunha.com](mailto:lgpd@raelcunha.com). ## Onde ficam os dados Banco de dados, arquivos, cópias de segurança e e-mails transacionais ficam na AWS, no Brasil. ## Proteção - Criptografia em trânsito (TLS) e em repouso: banco de dados, cópias de segurança e arquivos. - Os arquivos XML das notas e dos eventos ficam em armazenamento criptografado, com acesso privado. Só a aplicação lê esses arquivos, e você os baixa pelo aplicativo ou pela API, depois de logar. - Certificados, senhas de certificado e segredos de webhook com criptografia adicional na aplicação. - Cada conta vê só os próprios dados. - Papéis por pessoa (proprietário, administrador, operador, leitura) e chaves de API com escopos e empresas limitados. - Ações sensíveis pedem confirmação de identidade e, na segunda vez, verificação em duas etapas. ## Assistentes de IA Os dados que um assistente lê vão para o provedor de IA, uma transferência internacional de dados. Você aceita essa transferência ao criar uma chave com o escopo `mcp` ou ao autorizar um assistente. Para reduzir o que sai: - CPF mascarado (`***.456.789-**`) e NIF só com os 4 últimos caracteres. - Sem e-mail, telefone ou endereço detalhado de clientes pessoa física. - O certificado e a senha nunca passam pelo assistente. Revogue o acesso a qualquer momento em Configurações > Aplicativos conectados. ## Importação de extratos Quando nenhum formato cadastrado lê um extrato de comissões, a leitura automática aprende o formato com o Claude, da Anthropic. É uma transferência internacional de dados, feita como operadora, com cláusulas contratuais padrão. Para reduzir o que sai: - Vai só um trecho do texto: as três primeiras páginas e a última. - Os nomes nas linhas do extrato são trocados por `X` antes do envio. - O arquivo fica guardado só durante a leitura e é apagado em seguida. - O formato aprendido não guarda nenhum dado das linhas. Por padrão, a descrição de cada nota traz o nome do segurado, como nas notas de corretagem. Qualquer pessoa com a chave de acesso pode consultar uma NFS-e. Para tirar o nome, use "Personalizar descrição" na importação. ## Leitura de notas Para começar mais rápido, você pode enviar uma nota que já emitiu. O sistema lê o emitente, o tomador, o serviço e o valor, e você confere tudo antes de cadastrar. - Um XML da NFS-e Nacional é lido no nosso servidor. - Um PDF é lido com o Claude, da Anthropic. É uma transferência internacional de dados, feita como operadora, com cláusulas contratuais padrão. Os CPFs são trocados por códigos antes do envio. Nomes e endereços vão como estão na nota. - O arquivo não fica guardado. O resultado da leitura é apagado depois de 1 dia. ## Webhooks Os webhooks enviam ids, situação e valores da nota. O tomador vai só com o `id`. CPF/CNPJ, nome, e-mail, telefone e endereço do tomador, do destinatário e do intermediário vão apenas para o endereço com a opção "Incluir dados pessoais do tomador", que só proprietários e administradores ligam, com confirmação de identidade e verificação em duas etapas. Veja [Webhooks](/docs/webhooks). ## Suboperadores | Empresa | Serviço | Local | Dados | | --- | --- | --- | --- | | Amazon Web Services | Servidores (EC2), banco de dados (RDS), arquivos (S3), e-mail (SES), segredos (Secrets Manager) | Brasil (São Paulo) | Todos os dados do serviço | | Sentry | Monitoramento de erros | Exterior | Contexto técnico das falhas, com dados pessoais filtrados | | Anthropic | Leitura automática de extratos e de notas em PDF (Claude) | Estados Unidos | Trecho do texto do extrato, com nomes mascarados; texto da nota, com CPFs mascarados | ## Outros serviços | Serviço | Dados | Motivo | | --- | --- | --- | | Sefin Nacional e ADN | Dados da nota | Emissão, exigida por lei. | | Google (opcional) | Nome e e-mail, enviados pelo Google a nós | Entrar com Google. | | Assistente de IA (escolhido por você) | O que as ferramentas devolvem, com os cortes acima | Emitir notas pelo assistente. | | ViaCEP e BrasilAPI | Só o CEP | Preencher o endereço. | | Minha Receita | Só o CNPJ | Preencher os dados da empresa. |