Native KYC

Em desenvolvimento

Um bureau de verificação de identidade com veredito explicável.

Envie um documento e uma selfie, rode liveness e conferência facial, cheque contra listas de sanções e PEP, e receba de volta approved, review ou rejected — com a cadeia de evidência completa por trás. Um guard em nível de código, não só um prompt, bloqueia aprovação automática sempre que falta evidência obrigatória.

O caso de uso

KYC como um pipeline assíncrono, não uma caixa preta.

Fazer onboarding de um cliente de serviço financeiro brasileiro significa provar que um documento é genuíno, que a pessoa apresentando ele é quem diz ser, e que ela não está em uma lista de sanções ou PEP — e depois conseguir mostrar ao seu regulador exatamente como você chegou nessa conclusão.

O Native KYC roda cada caso por um pipeline de 7 passos — extração de documento, integridade de documento, liveness, conferência facial, checagem de fontes, veredito, entrega de webhook — registrando evidência em cada passo antes de seguir para o próximo. Um passo obrigatório que falha manda o caso para `review` em vez de falhar silenciosamente ou aprovar automaticamente.

O veredito em si é explicável por construção: um agente Bedrock lê só a cadeia de evidência já gravada (nunca a imagem, nunca o CPF cru) e propõe uma decisão; um guard em nível de código recalcula se toda evidência obrigatória está presente e consistente, e só pode rebaixar `approved` para `review` — nunca subir um `review` que o guard discorda.

O Native KYC é um produto standalone — não exige o Native Biometrics. Ele tem o próprio passo de liveness e conferência facial; o Native Biometrics continua sendo a escolha certa quando o que você precisa depois é reverificação contínua (step-up, recuperação), não um bureau de onboarding pontual.

O pipeline de sete passos

Extração dedocumentoIntegridade dedocumentoLivenessConferênciafacialConectores defonteVereditoEntrega dewebhookTracejado = opcional, nunca bloqueia o vereditoEVIDÊNCIA REGISTRADA EM TODO PASSO OBRIGATÓRIO

O que vem na caixa

Verificação nível bureau, com evidência incluída.

OCR e extração multimodal de documento

Lê RG, CNH, CIN e passaporte brasileiros via OCR do Textract mais um modelo de visão Bedrock que estrutura os campos extraídos.

Regras de integridade de documento

Validação de dígito verificador do CPF, cruzamento com o CPF submetido, coerência de datas, nome ancorado no texto do OCR e uma allow-list de documento configurável por tenant.

Liveness e conferência facial

O Amazon Rekognition Face Liveness prova presença; o `CompareFaces` confere a captura ao vivo contra a foto do documento. Os dois scores viram evidência — nunca as imagens.

Checagem de sanções e PEP

Cruza contra a lista OFAC SDN, a lista consolidada da ONU, a lista consolidada da UE e as listas CEIS/CNEP/PEP do Brasil, com casamento exato e fuzzy de nome.

Verificação opcional em fonte oficial via Serpro

Traga a sua própria credencial Serpro (guardada por tenant no Secrets Manager) para adicionar checagens de Consulta CPF e Datavalid — cobradas na dimensão `kyc_official`.

Veredito explicável com cadeia de evidência

`approved`, `review` ou `rejected`, com a evidência de cada passo consultável via a API do caso. Um guard em nível de código — não uma instrução de prompt — garante que `approved` nunca saia sem a evidência obrigatória presente.

Do upload ao veredito

Três chamadas: envie, submeta, consulte o caso.

O Native KYC é assíncrono por design — um caso percorre o pipeline em segundo plano; consulte `GET /v1/cases/{id}` ou espere o webhook.

  1. 0. Peça as URLs de upload e os slots presigned do S3

    Peça URLs presigned do S3 para cada slot de imagem e envie direto para o S3 — nunca multipart para a própria API.

    Requisiçãobash
    curl -X POST https://api-kyc-hml.swepay.com.br/v1/cases/uploads \
      -H "Authorization: Bearer ${SWEPAY_JWT}" \
      -H "Content-Type: application/json" \
      -d '{ "slots": ["document_front", "document_back", "selfie"] }'
    Respostajson
    {
      "uploads": [
        { "slot": "document_front", "objectKey": "cases/tmp/8f3c.../front.jpg", "uploadUrl": "https://s3.sa-east-1.amazonaws.com/..." },
        { "slot": "document_back", "objectKey": "cases/tmp/8f3c.../back.jpg", "uploadUrl": "https://s3.sa-east-1.amazonaws.com/..." },
        { "slot": "selfie", "objectKey": "cases/tmp/8f3c.../selfie.jpg", "uploadUrl": "https://s3.sa-east-1.amazonaws.com/..." }
      ]
    }
  2. 1. Inicie a sessão de liveness e submeta o caso

    Rode a captura de liveness contra o `sessionId` devolvido, depois submeta o caso com as chaves de objeto enviadas e esse `livenessSessionId`. Devolve `202 Accepted`.

    Requisiçãobash
    curl -X POST https://api-kyc-hml.swepay.com.br/v1/cases \
      -H "Authorization: Bearer ${SWEPAY_JWT}" \
      -H "Content-Type: application/json" \
      -d '{
        "cpf": "***.***.***-**",
        "documentType": "CNH",
        "documentFrontKey": "cases/tmp/8f3c.../front.jpg",
        "documentBackKey": "cases/tmp/8f3c.../back.jpg",
        "selfieKey": "cases/tmp/8f3c.../selfie.jpg",
        "livenessSessionId": "sess_8f21..."
      }'
    Respostajson
    HTTP/1.1 202 Accepted
    {
      "caseId": "c4d9e2a1-3b7f-4c1a-9e2d-1f6a7b8c9d0e",
      "status": "received"
    }
  3. 2. Consulte o caso, ou espere o webhook

    Consulte status e evidência a qualquer momento, ou receba um webhook assinado por HMAC quando o caso chegar a um status final.

    Requisiçãojson
    curl https://api-kyc-hml.swepay.com.br/v1/cases/c4d9e2a1-3b7f-4c1a-9e2d-1f6a7b8c9d0e \
      -H "Authorization: Bearer ${SWEPAY_JWT}"
    Respostajson
    {
      "caseId": "c4d9e2a1-3b7f-4c1a-9e2d-1f6a7b8c9d0e",
      "status": "approved",
      "verdict": {
        "decision": "approved",
        "reasonSummary": "Document and face-match evidence within threshold; no sanctions match."
      },
      "evidence": [
        { "step": "DocumentExtraction", "status": "passed" },
        { "step": "DocumentIntegrity", "status": "passed" },
        { "step": "Liveness", "status": "passed", "score": 98.1 },
        { "step": "FaceMatch", "status": "passed", "score": 95.6 },
        { "step": "SourceConnectors", "status": "passed" },
        { "step": "Verdict", "status": "passed" }
      ]
    }

`api-kyc-hml.swepay.com.br` acima é ilustrativo — o Native KYC ainda não tem host público implantado (o pipeline está implementado; o onboarding no Marketplace Subscription Hub está pendente). Referência completa do pipeline e da política na página de desenvolvedores. Perguntas técnicas: engineering@swepay.com.br.

Segurança e conformidade

Evidência sem imagem.

O Native KYC trata alguns dos dados pessoais mais sensíveis que uma fintech lida — documento, CPF, rosto. Foi construído para reter evidência, não as imagens por trás dela.

Nenhum template biométrico retido

A imagem de referência da liveness vive só em memória durante a execução do pipeline e é descartada — nunca gravada em S3, DynamoDB ou uma coleção Rekognition. A evidência de liveness e face match é um score numérico, nunca a imagem.

Retenção de evidência alinhada à Circular BCB 3.978

A evidência passo a passo — hashes, scores, status, racional do veredito — é retida para atender o requisito de rastreabilidade, sem as imagens cruas do documento ou da selfie.

Serpro é opt-in, e a credencial é sua

As checagens de fonte oficial (`kyc_official`) só rodam se você configurar a sua própria credencial Serpro, guardada por tenant no AWS Secrets Manager. O Native KYC nunca consulta a Serpro em seu nome com credencial própria da Swepay.

Residência de dados

Armazenamento (DynamoDB, S3, SQS) fica em `sa-east-1`. A extração de documento e o modelo de veredito rodam em `us-east-1` (disponibilidade de Textract/Bedrock) e nunca recebem o CPF ou a imagem depois da extração — só a cadeia de evidência sanitizada.

Pricing

Dimensões por checagem, ou um plano mensal com volume incluído.

Cobrado inteiramente via AWS Marketplace. `kyc_basic` cobre o pipeline principal; adicione `kyc_official` só para os casos em que você configurou o Serpro.

Dimensões de uso

Todo plano abaixo inclui um pacote de checagens `kyc_basic`; uso acima do plano é cobrado por dimensão.

DimensãoDescriçãoPreço
kyc_basic
Basic KYC check
OCR + liveness + face match + public-list screeningUS$ 0.90
kyc_official
Official-source KYC
Adds Serpro official-source verification (BYO credentials)US$ 2.20
kyc_review
Human review
Case routed to the human-review queueUS$ 4.00
bureau_query
Bureau query
Pass-through source/bureau query costCost + 25%

Planos mensais

Precificado por volume de checagens `kyc_basic`.

Starter

$1,600/mês

Checagens incluídas
2,000 kyc_basic checks
Ideal para
Fintechs pilotando KYC de onboarding
Assinar

Growth

$15,500/mês

Checagens incluídas
25,000 kyc_basic checks
Ideal para
Produtos escalando onboarding de clientes
Assinar

Scale

$50,000/mês

Checagens incluídas
100,000 kyc_basic checks
Ideal para
Plataformas fazendo onboarding em escala de bureau
Assinar

Mais de 100.000 checagens por mês?

Fale com engenharia para um Private Offer do AWS Marketplace com volume customizado e SLA contratual.

Falar com engenharia→

Qual eu preciso?

Native Biometrics vs. Native KYC

Produtos independentes (ADR-0003) que resolvem problemas diferentes e se integram bem juntos. A maioria das fintechs começa pelo que casa com o momento: fazer onboarding de um cliente novo, ou reverificar um que já conhecem.

CritérioNative BiometricsNative KYC
Pergunta centralEssa é a mesma pessoa que fez o enrollment?Quem é essa pessoa, e o documento dela prova isso?
Momento típicoAutenticação step-up, recuperação de conta, verificação recorrenteOnboarding de um cliente novo, pela primeira vez
EntradaSó captura facial ao vivoDocumento (RG/CNH/CIN/passaporte) + captura facial ao vivo + CPF
SaídaAssertion assinada (JWS), qualquer IdP verifica offlineVeredito explicável (approved/review/rejected) + cadeia de evidência
Checagem de sanções/PEPNãoSim (OFAC, ONU, UE, CEIS/CNEP/PEP)
O que é armazenadoSó o vetor facial, na coleção Rekognition do seu tenantCadeia de evidência (scores, status) — sem imagem, sem template

Precisa dos dois? Assine cada um de forma independente no AWS Marketplace — não existe SKU combinado, e não há exigência de rodar um para usar o outro.

Perguntas frequentes

Antes de integrar.

Respostas diretas para as perguntas mais comuns antes de uma revisão de compliance.

Vocês guardam minha foto?

Não. O Native KYC nunca retém a imagem do documento, a selfie ou um template biométrico. O que é retido é a cadeia de evidência — scores, status e o racional do veredito — suficiente para atender a rastreabilidade da Circular BCB 3.978 sem as imagens por trás dela.

Quem contrata o Serpro — a Swepay ou eu?

Você. As checagens de fonte oficial da Serpro (`kyc_official`) só rodam com a sua própria credencial Serpro, que você fornece e que fica guardada por tenant no AWS Secrets Manager. A Swepay nunca consulta a Serpro em seu nome com credencial própria.

O Native KYC pode aprovar automaticamente um caso com evidência faltando?

Não. Um guard em nível de código recalcula, independente do modelo de veredito, se toda evidência obrigatória está presente e consistente. Se o modelo propõe `approved` mas o guard discorda, o resultado é sobrescrito para `review` — nunca o contrário.

Quais listas a checagem de sanções/PEP consulta?

OFAC SDN (com aliases), a lista consolidada da ONU, a lista consolidada da UE e as listas CEIS, CNEP e PEP do Brasil via o Portal da Transparência — atualizadas diariamente.

O Native KYC exige o Native Biometrics?

Não. O Native KYC tem o próprio passo de liveness e conferência facial e funciona standalone. Os dois são produtos independentes — assine um, os dois, ou nenhum — que se integram bem juntos; veja a comparação abaixo.

O que acontece com um caso que cai em `review`?

Ele fica em `review` até o seu time resolver — consultável a qualquer momento via `GET /v1/cases/{id}` e a cadeia de evidência dele, com um webhook já entregue quando o caso chegou nesse status. O Native KYC ainda não tem um console de revisão dedicado; construa a sua própria UI de revisão sobre a API de evidência, ou trate no seu ferramental de operação já existente.

Duas formas de começar.

Contratação direta via AWS Marketplace

Assine, receba as credenciais JWT, submeta o primeiro caso hoje.

Assinar Native KYC

Tem perguntas técnicas antes?

Pergunte para engenharia antes de assinar — comportamento do pipeline, formato da evidência, ou escopo do Serpro.

Escrever para engenharia

Planos de volume e integração customizada

Para bureaus e plataformas fazendo onboarding acima de 100.000 checagens por mês, ou que precisam de ajuda para escopar Serpro/fontes oficiais.

Falar com engenharia