BIX Tech
Workshop · SOC 2 na práticaWorkshop · SOC 2 in practice

SOC 2 não é uma auditoria no fim.
É como o projeto nasce.
SOC 2 isn't an audit at the end.
It's how the project is born.

Como aplicar os princípios de SOC 2 em todo projeto da BIX e começar do zero já pronto para auditar.How to apply SOC 2 principles to every BIX project and start from scratch already audit-ready.

Lucas Menegazzo · BIX TechLucas Menegazzo · BIX Tech

AgendaAgenda

O que vamos ver hojeWhat we'll cover today

01 · O que é SOC 201 · What SOC 2 is

Relatório, critérios, Type I e Type II, prazos.Report, criteria, Type I and Type II, timelines.

02 · Dia 002 · Day 0

O que configurar antes do primeiro sprint.What to set up before the first sprint.

03 · Acesso e mudança03 · Access and change

Quem entra, como o código chega em produção.Who gets in, how code reaches production.

04 · Infra e operação04 · Infra and operations

Nuvem, incidentes, fornecedores e pessoas.Cloud, incidents, vendors and people.

05 · Evidência e caso real05 · Evidence and a real case

Automação, responsáveis e o que aprendemos.Automation, owners and what we learned.

06 · Quiz e checklist06 · Quiz and checklist

Passa ou não passa? E o kickoff em 8 itens.Pass or fail? And the kickoff in 8 items.

01 · O que é SOC 201 · What SOC 2 is

SOC 2 em 30 segundos.SOC 2 in 30 seconds.

É um relatório, não um seloA report, not a badge

Um auditor CPA independente avalia os controles e emite um relatório. Não existe "certificado SOC 2".An independent CPA auditor assesses the controls and issues a report. There is no "SOC 2 certificate".

5 categorias, 1 obrigatória5 categories, 1 required

Segurança é obrigatória. Disponibilidade, integridade de processamento, confidencialidade e privacidade são opcionais.Security is required. Availability, processing integrity, confidentiality and privacy are optional.

Você define os controlesYou define the controls

O SOC 2 diz o que proteger, não como. Cada empresa escolhe seus controles e prova que funcionam.SOC 2 says what to protect, not how. Each company picks its controls and proves they work.

Na BIX, quem é auditado é o cliente. Mas os controles moram no projeto que a gente constrói.At BIX, the client is the one audited. But the controls live in the project we build.

AICPA, Trust Services CriteriaAICPA, Trust Services Criteria

01 · Type I e Type II01 · Type I and Type II

Type I é uma foto. Type II é um filme.Type I is a photo. Type II is a movie.

1

PreparaçãoPreparation

1 a 3 meses: escopo, políticas, controles e plataforma de compliance.1 to 3 months: scope, policies, controls and a compliance platform.

2

Type I (opcional)Type I (optional)

Foto de um dia: os controles estão bem desenhados?A one-day snapshot: are the controls well designed?

3

ObservaçãoObservation

3 a 12 meses: os controles funcionaram todo dia? Para o primeiro, a Drata sugere 3 meses.3 to 12 months: did the controls work every day? For the first one, Drata suggests 3 months.

4

Type IIType II

O auditor testa amostras do período e emite o relatório. É o que clientes grandes pedem.The auditor samples the period and issues the report. It's what big customers ask for.

O Type II olha para o passado. O que não ficou registrado durante o período, para o auditor, não aconteceu.Type II looks at the past. Whatever wasn't recorded during the period, to the auditor, didn't happen.

Drata, guias de SOC 2 (Type 1 vs Type 2, prazos e custos)Drata, SOC 2 guides (Type 1 vs Type 2, timelines and costs)

01 · Por que importa01 · Why it matters

SOC 2 custa tempo e dinheiro. Retrofit custa mais.SOC 2 costs time and money. Retrofitting costs more.

73

controles no programa de SOC 2 de um cliente da BIX, escolhidos entre mais de 200 possíveis.controls in a BIX client's SOC 2 program, picked from more than 200 possible ones.

6–15

meses, do zero até o primeiro relatório Type II.months, from zero to the first Type II report.

12–100

mil dólares por uma auditoria Type II, fora a plataforma de compliance.thousand US dollars for a Type II audit, platform not included.

3

meses de observação recomendados para o primeiro Type II.months of observation recommended for a first Type II.

Drata, guias de SOC 2 · programa de SOC 2 de um cliente da BIX (2026)Drata, SOC 2 guides · a BIX client's SOC 2 program (2026)

01 · Critérios comuns01 · Common criteria

CC1 a CC9, em linguagem de dev.CC1 to CC9, in dev terms.

CC1 · Ambiente de controleCC1 · Control environment

Donos claros, conduta, contratação e treinamento.Clear owners, conduct, hiring and training.

CC2 · ComunicaçãoCC2 · Communication

Políticas publicadas e canal para reportar.Published policies and a channel to report.

CC3 · Avaliação de riscoCC3 · Risk assessment

Mapa de riscos revisado todo ano.A risk map reviewed every year.

CC4 · MonitoramentoCC4 · Monitoring

Alguém confere se os controles seguem funcionando.Someone checks the controls keep working.

CC5 · Atividades de controleCC5 · Control activities

Política vira processo e ferramenta, não só PDF.Policy becomes process and tooling, not just a PDF.

CC6 · AcessoCC6 · Access

SSO, MFA, menor privilégio, revisão e remoção.SSO, MFA, least privilege, review and removal.

CC7 · OperaçãoCC7 · Operations

Monitorar, detectar, responder a incidentes.Monitor, detect and respond to incidents.

CC8 · MudançasCC8 · Change management

Toda mudança autorizada, testada e registrada.Every change authorized, tested and recorded.

CC9 · Mitigação de riscoCC9 · Risk mitigation

Continuidade, backup e fornecedores.Continuity, backups and vendors.

AICPA, Trust Services Criteria (Common Criteria CC1 a CC9)AICPA, Trust Services Criteria (Common Criteria CC1 to CC9)

01 · A regra de ouro01 · The golden rule

Para o auditor, se não tem evidência,
não aconteceu.
To an auditor, if there's no evidence,
it didn't happen.

PR aprovado, log guardado, ticket fechado, revisão de acesso registrada. Projeto auditável é o que deixa rastro sozinho.Approved PR, kept log, closed ticket, recorded access review. An auditable project is one that leaves a trail on its own.

02 · Dia 002 · Day 0

Projeto limpo, desde o primeiro commit.A clean project, from the first commit.

O que é configurado no dia 0 custa minutos. Depois, custa semanas.What's set up on day 0 takes minutes. Later, it takes weeks.

02 · Dia 002 · Day 0

Seis coisas antes do primeiro sprint.Six things before the first sprint.

Repo na organizaçãoRepo in the org

Nunca em conta pessoal. SSO e MFA na organização, times por papel.Never in a personal account. SSO and MFA on the org, role-based teams.

main protegidaProtected main

PR obrigatório, revisão e checks de CI. Ninguém faz push direto, nem admin.Required PR, review and CI checks. Nobody pushes directly, not even admins.

Infra como códigoInfra as code

Terraform desde o primeiro recurso. Nada criado na mão pelo console.Terraform from the first resource. Nothing clicked together in the console.

Ambientes separadosSeparate environments

Contas diferentes para dev, staging e produção.Separate accounts for dev, staging and production.

Segredos no cofreSecrets in a vault

Secret manager desde o início. Nenhuma senha no código ou no Slack.A secret manager from the start. No passwords in code or Slack.

Logs desde jáLogs from day one

Audit log da nuvem ligado, imutável e com retenção definida.Cloud audit log on, immutable, with a defined retention.

No caso real, trocar a chave de criptografia do banco depois não deu para fazer no lugar: exigiu snapshot, cópia e restore.In the real case, swapping the database encryption key later couldn't be done in place: it took a snapshot, copy and restore.
03 · Acesso (CC6)03 · Access (CC6)

Quem acessa o quê, e como provar.Who accesses what, and how to prove it.

SSO e MFA em tudoSSO and MFA everywhere

Nuvem, GitHub, ferramentas. Login individual, nunca conta compartilhada.Cloud, GitHub, tools. Individual logins, never shared accounts.

Grupos, não pessoasGroups, not people

Permissão vai para o papel. A pessoa entra e sai do grupo.Permissions go to the role. People join and leave the group.

Sem chave longa no CINo long-lived CI keys

GitHub Actions com OIDC, com a confiança restrita ao repo e ao ambiente.GitHub Actions with OIDC, trust restricted to the repo and environment.

Produção é exceçãoProd is the exception

Lista curta de quem faz deploy e acessa produção. Leitura por padrão.A short list of who deploys and reaches prod. Read-only by default.

Revisão periódicaPeriodic review

Padrão BIX: a cada trimestre, quem tem o quê ainda precisa? Revisão registrada.BIX standard: every quarter, does everyone still need their access? Recorded.

Saída no prazoTimely offboarding

Saiu: acessos removidos no prazo da política (padrão BIX: mesmo dia), com registro.Someone left: access removed within the policy deadline (BIX standard: same day), recorded.

03 · Gestão de mudança (CC8)03 · Change management (CC8)

A main protegida, em um arquivo.Protected main, in one file.

ruleset-main.json · GitHub (resumido)ruleset-main.json · GitHub (trimmed)
{
  "name": "protect-main",
  "target": "branch",
  "enforcement": "active",
  "conditions": { "ref_name": { "include": ["~DEFAULT_BRANCH"] } },
  "rules": [
    { "type": "pull_request", "parameters": {
        "required_approving_review_count": 1,
        "require_code_owner_review": true,
        "dismiss_stale_reviews_on_push": true,
        "require_last_push_approval": true } },
    { "type": "required_status_checks", "parameters": {
        "required_status_checks": [
          { "context": "ci/tests" },
          { "context": "security/scan" } ] } },
    { "type": "non_fast_forward" },
    { "type": "deletion" }
  ]
}
  1. PR obrigatórioRequired PR
    Ninguém faz push direto na main. Toda mudança passa por PR com aprovação.Nobody pushes to main. Every change goes through an approved PR.
  2. Dono do código revisaCode owners review
    Com CODEOWNERS, quem conhece aquela parte precisa aprovar.With CODEOWNERS, whoever owns that area must approve.
  3. Aprovação venceApprovals go stale
    Mudou depois de aprovado? A aprovação cai, e o último push precisa de aprovação de outra pessoa.Changed after approval? The approval drops, and the last push needs someone else's approval.
  4. Checks verdesGreen checks
    Testes e scan de segurança passam antes do merge.Tests and security scan pass before merge.
  5. Histórico intocávelUntouchable history
    Sem force push e sem apagar a branch: o rastro fica.No force push and no branch deletion: the trail stays.

GitHub Docs: repository rulesets e CODEOWNERS (exemplo resumido)GitHub Docs: repository rulesets and CODEOWNERS (trimmed example)

03 · Gestão de mudança (CC8)03 · Change management (CC8)

O caminho até produção é a evidência.The path to production is the evidence.

1

Pull request ligado a um ticketA pull request tied to a ticket

Toda mudança nasce num PR com o ticket do motivo. Nada de push direto.Every change starts as a PR with the ticket for why. No direct pushes.

2

Checks automáticosAutomated checks

Testes, análise estática, dependências, segredos vazados e scan de IaC e containers.Tests, static analysis, dependencies, leaked secrets, IaC and container scans.

3

Revisão humanaHuman review

Ao menos 1 aprovação de quem conhece o código. Quem escreve não aprova o próprio PR.At least 1 approval from someone who knows the code. Authors don't approve their own PRs.

4

Deploy só pelo pipelineDeploy only through the pipeline

O CI publica, com OIDC e aprovação para produção. Ninguém sobe da própria máquina.CI ships it, with OIDC and an approval for production. Nobody deploys from a laptop.

5

Emergência com rastroEmergencies leave a trail

Hotfix pode ser rápido, mas tem PR, aprovação e registro, mesmo que logo depois.A hotfix can be fast, but it gets a PR, an approval and a record, even right after.

04 · Infra04 · Infra

A nuvem configurada para ser auditada.A cloud configured to be audited.

CriptografiaEncryption

Em repouso e TLS 1.2+ em trânsito. Decida a chave (própria ou gerenciada) na criação: trocar depois exige restore.At rest, and TLS 1.2+ in transit. Pick the key (own or managed) at creation: swapping later needs a restore.

Backup testadoTested backups

Backup automático, retenção definida e restauração testada de verdade.Automatic backups, defined retention and restores actually tested.

Audit log imutávelImmutable audit log

Centralizado, com bloqueio de exclusão, alarme se desligarem e retenção que cubra o período auditado.Centralized, delete-locked, alarmed if turned off, with retention covering the audited period.

Borda protegidaProtected edge

WAF, limite de requisições e só o necessário exposto à internet.WAF, rate limiting and only what's needed exposed to the internet.

Produção isoladaIsolated production

Dado real só em produção. Staging usa dado sintético ou anonimizado.Real data only in production. Staging uses synthetic or anonymized data.

Scan contínuoContinuous scanning

Scan semanal da conta contra as regras de SOC 2 (ex.: Prowler) e de vulnerabilidades.Weekly account scan against SOC 2 rules (e.g. Prowler) and for vulnerabilities.

04 · Operação (CC7)04 · Operations (CC7)

Incidentes: o processo é o que se audita.Incidents: the process is audited.

1

DetectarDetect

Alertas para login de root, mudança em logs, picos de erro e achados críticos de segurança.Alerts for root logins, log changes, error spikes and critical security findings.

2

ResponderRespond

Plantão definido, severidades e runbook: quem é acionado e em quanto tempo.A defined on-call, severities and a runbook: who gets paged and how fast.

3

ComunicarCommunicate

Cliente e afetados avisados no prazo combinado em contrato.The client and affected parties notified within the contractual deadline.

4

AprenderLearn

Postmortem sem culpa, com ações e donos, registrado.A blameless postmortem, with actions and owners, recorded.

5

TreinarPractice

Simulado de incidente ao menos uma vez por ano.An incident drill at least once a year.

04 · Fornecedores, dados e pessoas04 · Vendors, data and people

A parte que não é código.The part that isn't code.

Inventário de fornecedoresVendor inventory

Toda ferramenta que toca dado do cliente listada, com dono e nível de risco.Every tool touching client data listed, with an owner and risk level.

Contrato e DPAContract and DPA

DPA arquivado e o SOC 2 do fornecedor lido, com os controles que cabem a vocês (CUECs) feitos.DPA on file and the vendor's SOC 2 read, with the controls left to you (CUECs) in place.

Dados classificadosClassified data

Público, interno, confidencial, pessoal. Cada tipo com sua regra.Public, internal, confidential, personal. Each type has its rule.

Política que reflete a realidadePolicies that match reality

O auditor compara a política com a prática. Template copiado sem adaptar vira exceção.The auditor compares policy to practice. An unadapted template becomes an exception.

Aceite e treinamentoAcceptance and training

Cada pessoa aceita as políticas e faz o treinamento de segurança anual.Everyone accepts the policies and takes the yearly security training.

Entrada e saídaJoiners and leavers

Checagem na contratação e checklist de saída com acessos removidos.Background checks at hiring and an exit checklist that removes access.

05 · Evidência05 · Evidence

Evidência automática: menos print, mais prova.Automated evidence: fewer screenshots, more proof.

GitHubGitHubPRs e proteçãoPRs & rules
AWSAWSlogs, IAM, chaveslogs, IAM, keys
IdentidadeIdentitySSO e MFASSO & MFA
RHHRentradas e saídasjoiners & leavers
MDMMDMdisco e teladisk & screen
Jira e SlackJira & Slacktickets e incidentestickets & incidents
GRCGRCVanta, Drata…Vanta, Drata…
Testes contínuosContinuous tests

A plataforma confere os controles o tempo todo e avisa quando algo sai do padrão.The platform checks controls all the time and flags drift.

Pense num alarme, não numa foto do dia da auditoria.Think of an alarm, not a snapshot on audit day.
Evidência sem printEvidence without screenshots

Configurações, logs e aprovações viram evidência direto das integrações.Settings, logs and approvals become evidence straight from integrations.

Menos "me manda o print" na véspera.Less "send me a screenshot" the night before.
Pessoas e políticasPeople and policies

Aceite de políticas, treinamento e checagens registrados por pessoa.Policy acceptance, training and checks recorded per person.

RH e TI no mesmo painel.HR and IT on the same dashboard.
05 · Responsáveis05 · Owners

Cada controle tem um dono no projeto.Every control has a project owner.

Revisão de acessosAccess review
Aprovar PRApprove PRs
Deploy em produçãoProd deploys
Resposta a incidenteIncident response
Fornecedores e evidênciasVendors & evidence
Delivery ManagerDelivery Managercoordena e cobracoordinates and follows up
A
·
C
A
R
Tech leadTech leaddono técnicotechnical owner
R
A
R
R
C
DevsDeveloperstime de produtoproduct team
·
R
·
C
·
DevOps / SREDevOps / SREplataformaplatform
R
C
R
R
C
QAQAqualidadequality
·
C
C
·
·
Rresponsável por fazerdoes itAaprovaapprovesCconsultadoconsulted
05 · Caso real · cliente fintech nos EUA, 202605 · Real case · US fintech client, 2026

Preparar SOC 2 com o projeto já rodando.Getting SOC 2-ready with the project already live.

1

Plataforma e escopoPlatform and scope

Drata conectada à nuvem e ao GitHub; 73 controles escolhidos entre mais de 200.Drata connected to the cloud and GitHub; 73 controls picked from 200+.

2

22 políticas22 policies

Divididas entre cliente, consultoria e BIX. A BIX escreveu as técnicas: acesso, mudança, SDLC, logs, rede e DR.Split across client, consultancy and BIX. BIX wrote the technical ones: access, change, SDLC, logging, network and DR.

3

Controles técnicosTechnical controls

Prowler semanal, Trivy no CI, OIDC sem chave fixa, Terraform, log imutável, WAF e alarmes.Weekly Prowler, Trivy in CI, keyless OIDC, Terraform, immutable logs, WAF and alarms.

4

AuditoriaAudit

Type I primeiro, depois 3 meses de observação para o Type II.Type I first, then 3 months of observation for Type II.

Veredito do time: na maior parte, configuração e justificativa escrita, não reescrita de código. Porque a base já era boa.The team's verdict: mostly configuration and written justifications, not code rewrites. Because the foundation was already good.

Programa de SOC 2 de um cliente da BIX, 2026 (anonimizado)A BIX client's SOC 2 program, 2026 (anonymized)

05 · Lições do caso real05 · Lessons from the real case

O que doeu, para você não repetir.What hurt, so you don't repeat it.

FaçaDo

  • Chave de criptografia própria desde a criação do bancoYour own encryption key from database creation
  • Bucket de logs com bloqueio de exclusão já na criaçãoLog bucket delete-locked at creation
  • Isolamento de dados por cliente desde o primeiro schemaPer-client data isolation from the first schema
  • CODEOWNERS, Dependabot e SECURITY.md no primeiro commitCODEOWNERS, Dependabot and SECURITY.md in the first commit

EviteAvoid

  • Trocar a chave do banco depois: exige snapshot, cópia e restoreSwapping the database key later: needs a snapshot, copy and restore
  • Ligar isolamento de dados tarde: quebra queries existentesTurning on data isolation late: breaks existing queries
  • Documentar meses de DevOps só quando o auditor pedeDocumenting months of DevOps only when the auditor asks
  • Deixar o escopo da auditoria indefinido até perto do fimLeaving the audit scope undefined until near the end
06 · Quiz06 · Quiz

Passa na auditoria?Would it pass the audit?

5 situações reais de projeto. Levante a mão: ✅ passa ou ❌ não passa?5 real project situations. Raise your hand: ✅ pass or ❌ fail?

Quiz · 1 de 5Quiz · 1 of 5

Passa na auditoria?Would it pass the audit?

Slack do projeto · fim do expedienteProject Slack · end of the day
# deploys248 membros248 members
RF
Rafa · Tech leadRafa · Tech lead18:52

Cliente reclamando, vou subir o hotfix direto na main e depois a gente abre o PR, beleza? 🔥Client is complaining, I'll push the hotfix straight to main and we open the PR later, ok? 🔥

👍 12✅ 4
E aí, passa?So, does it pass?
❌ Não passa❌ Fails✅ Passa✅ Passes
❌ NÃO PASSA❌ FAILSMudança sem PR, sem revisão e sem rastro. Emergência existe, mas tem processo: PR curto, aprovação rápida e registro.A change with no PR, no review and no trail. Emergencies exist, but they have a process: a short PR, a quick approval and a record.🔀 Mudança (CC8)🔀 Change (CC8)🧾 Evidência🧾 Evidence
Quiz · 2 de 5Quiz · 2 of 5

Passa na auditoria?Would it pass the audit?

Pipeline de deploy de um projetoA project's deploy pipeline
ci.yml · deployci.yml · deploy
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET }}
# chave criada em 2024, nunca rotacionada# key created in 2024, never rotated
E aí, passa?So, does it pass?
❌ Não passa❌ Fails✅ Passa✅ Passes
❌ NÃO PASSA❌ FAILSCredencial longa é risco e achado de auditoria. Use OIDC: credencial temporária, por ambiente, sem segredo guardado.A long-lived credential is a risk and an audit finding. Use OIDC: temporary credentials, per environment, no stored secret.🔑 Acesso (CC6)🔑 Access (CC6)
Quiz · 3 de 5Quiz · 3 of 5

Passa na auditoria?Would it pass the audit?

Slack do projetoProject Slack
# qa248 membros248 members
BQ
Bia · QABia · QA10:14

Pra reproduzir o bug, sobe o dump de produção no staging? Os dados reais ajudam muito nos testes.To reproduce the bug, can you load the production dump into staging? Real data really helps testing.

👍 12✅ 4
E aí, passa?So, does it pass?
❌ Não passa❌ Fails✅ Passa✅ Passes
❌ NÃO PASSA❌ FAILSDado real de cliente fora de produção quebra a confidencialidade. Em staging, use dado sintético ou anonimizado.Real client data outside production breaks confidentiality. In staging, use synthetic or anonymized data.🔒 Confidencialidade🔒 Confidentiality
Quiz · 4 de 5Quiz · 4 of 5

Passa na auditoria?Would it pass the audit?

Um PR pronto para mergeA PR ready to merge
PR #482 · checksPR #482 · checks
✓ ci/tests: passou✓ ci/tests: passed
✓ security/scan: sem achados críticos✓ security/scan: no critical findings
✓ aprovado pelo dono do código (CODEOWNERS)✓ approved by the code owner (CODEOWNERS)
→ merge na main · deploy pelo pipeline com aprovação→ merged to main · deployed by the pipeline with approval
E aí, passa?So, does it pass?
❌ Não passa❌ Fails✅ Passa✅ Passes
✅ PASSA✅ PASSESPR revisado pelo dono do código, checks verdes e deploy pelo pipeline: a cadeia de evidência completa.Reviewed by the code owner, green checks and a pipeline deploy: the full evidence chain.🔀 Mudança (CC8)🔀 Change (CC8)🧾 Evidência🧾 Evidence
Quiz · 5 de 5Quiz · 5 of 5

Passa na auditoria?Would it pass the audit?

E-mail do RH numa sexta-feiraAn HR email on a Friday
Desligamento de colaboradorEmployee offboardingCaixa de entradaInbox
R
RH · BIXHR · BIX <rh@empresa.com.brhr@company.com>para mimto me ▾
17:30
Hoje foi o último dia do J. Souza. A TI remove os acessos na terça, depois do feriado.Today was J. Souza's last day. IT will remove the access on Tuesday, after the long weekend.
Checklist_desligamento.pdfOffboarding_checklist.pdfPDF · 84 KB
E aí, passa?So, does it pass?
❌ Não passa❌ Fails✅ Passa✅ Passes
❌ NÃO PASSA❌ FAILSAcesso de quem saiu cai no prazo da política (na BIX, mesmo dia), com registro. Fora do prazo vira exceção na auditoria.A leaver's access goes within the policy deadline (at BIX, same day), with a record. Missing it becomes an audit exception.🔑 Acesso (CC6)🔑 Access (CC6)🧾 Evidência🧾 Evidence
06 · Checklist de kickoff06 · Kickoff checklist

Kickoff: 8 itens antes do 1º sprint.Kickoff: 8 items before sprint 1.

0/8
BIX Tech

Obrigado.Thank you.

Perguntas?Questions?

QRMaterial completo:Full material:
bix-soc2.pages.dev

Lucas Menegazzo · lucas.menegazzo@bix-tech.comLucas Menegazzo · lucas.menegazzo@bix-tech.com

←/→ navegar · F tela cheia · G índice · L idioma←/→ navigate · F fullscreen · G index · L language

ÍNDICEINDEX