Postura de segurança
Pronta para o Artigo 28 do GDPR · Prestadora de Serviços do CCPA · SOC 2 Type I em andamento
A Ataski opera um único banco de dados Postgres multi-tenant com Row Level Security aplicada na camada do banco; um log de auditoria somente acréscimo em cada ação; e salvaguardas de custo por tenant para conter danos de qualquer comprometimento de credencial individual. Esta página é o resumo pronto para procurement — para a superfície contratualmente vinculante, consulte o Acordo de Tratamento de Dados.
Multi-tenancy
Cada tabela de dados do cliente carrega uma coluna tenant_id e uma política de Row Level Security do Postgres que filtra cada leitura e escrita pela variável de sessão do tenant vinculado. A aplicação define a variável a partir do principal autenticado no início de cada requisição; o banco de dados rejeita qualquer consulta que tente ler ou escrever fora do tenant vinculado, independentemente da correção da camada de aplicação.
Defesa em profundidade para superfícies fora do Postgres: o cache do LiteLLM segmenta cada prompt por um salt por tenant, de modo que os acertos de cache não possam cruzar tenants; os payloads de fluxos de trabalho duráveis são criptografados com chaves por tenant no limite do fluxo; e o armazenamento de objetos R2 segmenta cada chave sob tenants/<uuid>/…, de modo que uma URL vazada não possa enumerar outros tenants.
Log de auditoria
Cada chamada de LLM, chamada de API externa e modificação de dados é gravada em uma única tabela audit_log somente acréscimo, indexada por (tenant_id, correlation_id). A tabela é bloqueada na camada do banco de dados (REVOKE UPDATE, DELETE no papel da aplicação) — o único caminho para alterar o histórico de auditoria é o acesso administrativo direto da equipe de operações da Ataski, que por sua vez produz linhas de auditoria sob um marcador distinto actor_type="ops".
Criptografia
- Em repouso. Cada credencial do cliente (token de atualização OAuth, chave de API, segredo de webhook) é envolvida com Fernet (AES-128 em modo CBC com autenticação HMAC-SHA-256) antes de ser persistida como BYTEA. Chaves de criptografia de dados por tenant estão no roadmap; a criptografia da camada de armazenamento (AES-256) é fornecida hoje pela Neon para o Postgres e pela Cloudflare R2 para o armazenamento de objetos.
- Em trânsito. O TLS 1.3 é o mínimo em cada endpoint público e em cada chamada de saída a subprocessadores.
Controles de acesso
A autenticação é delegada ao WorkOS (SSO, SAML, sem senha). A autorização é restrita por papel na camada de rota: ações de alto risco (aprovação de board pack, envio de atualização mensal a investidores, lançamento de campanha de saída) exigem um papel nomeado (founder ou finance_lead) no workspace.
Escopos de conectores
Cada sistema conectável pelo operador opera sob um conjunto documentado de escopos do lado do provedor. A lista abaixo é renderizada a partir do nosso manifesto interno de escopos — o que você vê é o que o cliente OAuth (ou credencial equivalente) de fato solicita.
- Anthropic (Bring Your Own Key). Routes every Anthropic worker + supervisor LLM call through your own Anthropic API key (sk-ant-*). Ataski stores the key Fernet-encrypted at rest and reads it only through the LiteLLM gateway proxy at call time; no copy lives anywhere else. Anthropic invoices you directly; Ataski's invoice excludes LLM cost for any traffic routed through this key. Rotate or deactivate from /app/llm-keys at any time.
- HubSpot. Reads deals, contacts, and companies. Cannot create or modify any HubSpot record.
- NetSuite. Reads GL transactions, AR aging, AP aging, accrual snapshots, and subsidiary roster via NetSuite Token-Based Authentication (TBA) — an OAuth 1.0a-flavoured credential the customer generates inside their NetSuite UI (Setup → Users/Roles → Access Tokens). NetSuite does not offer OAuth 2.0 for SuiteTalk REST; the customer creates the Integration record + Access Token bound to a read-only NetSuite role of their choice, and Ataski only issues read queries against it. Cannot post journal entries, modify records, or close accounting periods.
- OpenAI (Bring Your Own Key). Routes every OpenAI supervisor + embedding call through your own OpenAI API key (sk-*). Ataski stores the key Fernet-encrypted at rest and reads it only through the LiteLLM gateway proxy at call time; no copy lives anywhere else. OpenAI invoices you directly; Ataski's invoice excludes LLM cost for any traffic routed through this key. Rotate or deactivate from /app/llm-keys at any time.
- QuickBooks Online. Reads chart of accounts, P&L, balance sheet, cash flow, invoices, customers, and vendors. Cannot write or modify any QuickBooks data.
- Recall.ai. Creates bots that join scheduled meetings and reads back their transcripts and engagement metadata. Write surface is limited to dispatching the bot; cannot mutate any calendar, video-conference, or meeting-host data.
- Sage Intacct. Reads GL accounts, journal entries, AR/AP, and trial balance via a customer-provisioned read-only Web Services user. Sage Intacct does not offer OAuth; the customer creates the WS user inside their Sage Intacct admin and supplies its credentials. Cannot post journal entries or modify any Sage Intacct data.
- Stripe. Reads subscriptions, invoices, customers, refunds, and payment intents via a customer-provided Restricted API key. Cannot create, modify, or refund charges.
- Xero. Reads the P&L, reports, invoices, and organisation settings via OAuth. Cannot create or modify any Xero data.
Tratamento de PII
A Ataski opera como Prestadora de Serviços do CCPA (Cal. Civ. Code §1798.140(ag)), não como corretora de dados. Os registros de contato permanecem no escopo RLS por tenant e nunca são agregados entre tenants; dados firmográficos não-PII (nome da empresa, setor, registros públicos de negócios) podem ser armazenados em cache entre tenants por desempenho. Não dependemos de fornecedores corretores de dados de busca de e-mails (Hunter, Apollo, Findymail, ZoomInfo, Coresignal); a descoberta de contatos usa padrões de composição de fontes públicas. Exclusão por destinatário em até 45 dias da solicitação via /privacy/optout.
Subprocessadores
A lista canônica de subprocessadores é publicada em /legal/subprocessors e atualmente compreende 18 fornecedores. As alterações de subprocessadores são publicadas com 30 dias de aviso prévio por banner no aplicativo e por e-mail ao administrador do workspace; o Cliente pode se opor por motivos razoáveis durante essa janela.
Acordo de Tratamento de Dados
O DPA mestre cobre as obrigações do Artigo 28 do GDPR, do UK GDPR e de Prestadora de Serviços do CCPA: leia-o em /legal/dpa. A versão autenticada em /app/legal/dpa preenche os campos de Controlador a partir do workspace e suporta assinatura eletrônica pelo fundador ou pelo líder financeiro do workspace.
Resposta a incidentes
Erros e exceções são capturados no Bugsink (substituto hospedado do Sentry); o plantão revisa a severidade do incidente em até uma hora do primeiro sinal. O status dos endpoints operacionais é publicado na página pública de status. Para qualquer incidente envolvendo Dados do Cliente, notificamos o Controlador afetado sem atraso indevido e em até 72 horas, conforme o Artigo 33 do GDPR.
Postura de conformidade
- Pronta para o Artigo 28 do GDPR. DPA mestre disponível para download e assinatura eletrônica; lista de subprocessadores publicada e com impressão digital.
- Prestadora de Serviços do CCPA. Postura do Cal. Civ. Code §1798.140(ag) — nenhuma atividade de corretagem de dados, escopo por tenant em todos os dados de contato, endpoint de exclusão publicado.
- SOC 2 Type I em andamento. Escopo da auditoria concluído; o período de observação começa no 3º trimestre de 2026. O relatório estará disponível sob NDA assim que for emitido.