Privacidade Digital do Cidadão
Este módulo de apoio permite que uma GCC proveja os serviços para Titulares do portal da Privacidade Digital do Cidadão (PDC). O PDC exige que as chamadas a esses serviços sejam autorizadas pelo fluxo de autenticação do Gov.br. Portanto, este módulo provê uma API REST para que a GCC possa se comunicar com o PDC.
Fluxo de execução
Por meio desta API, uma GCC pode consultar pedidos de consentimento e tratamentos de dados de um Titular, bem como autorizar, negar ou revogar pedidos de consentimento em nome do Titular. O fluxo de consulta de recursos é exemplificado abaixo, do ponto de vista da API.
---
title: "Fluxo: GCC consulta pedidos de consentimento a pedido do Titular"
---
flowchart TD
a@{shape: circle, label: Início}
b("Recebe requisição por /v1/consentimentos/\{cpf\}")
c{"Tem *token* Gov.br para o {cpf} em cache?"}
d("Usa *token* para requisitar dados ao *backend* do PDC")
e("Retorna dados na resposta")
f("Retorna erro 403 na resposta")
z@{shape: circle, label: Fim}
a --> b
b --> c
c -->|" Sim "| d
c -->|" Não "| f
d --> e
e --> z
f --> z
Para os casos de mudar o estado de um pedido de consentimento, o fluxo é semelhante, mas a GCC deve requisitar o
recurso
/v1/consentimentos/{cpf}/{id}/status/{novo estado} com o método PUT, conforme a documentação da API.
A figura abaixo ilustra o fluxo de revogação de um consentimento ativo.
---
title: "Fluxo: GCC revoga consentimento a pedido do Titular"
---
flowchart TD
a@{shape: circle, label: Início}
b("Sistema recebe requisição da GCC para atualizar o estado do consentimento {id} do titular {cpf} para *REVOGADO*")
c{"Decisão: o sistema tem uma *token* Gov.br para o titular do {cpf}?"}
d("Usa *token* para solicitar a revogação na API do PDC")
e("Retorna à GCC o novo estado do pedido de consentimento {id}")
f("Retorna à GCC um erro de requisição sem autorização")
z@{shape: circle, label: Fim}
a --> b
b --> c
c -->|" Sim "| d
c -->|" Não "| f
d --> e
e --> z
f --> z
Para que todas essas operações sejam possíveis, a GCC deve estar devidamente autorizada pelo Titular, conforme previsto na Lei Geral de Proteção de Dados (LGPD), e o Titular deve estar autenticado via Gov.br. O fluxo de autenticação do Titular e autorização da GCC é exemplificado abaixo, do ponto de vista da API.
---
title: "Fluxo: Autenticação do Titular a pedido da GCC"
---
flowchart TD
a@{shape: circle, label: Início}
b("Recebe requisição por /v1/autenticacao/{cpf}/url")
c("Gera link de autenticação para o {cpf} com estado (data de expiração e uso único)")
c2("Retorna link à GCC na resposta")
d("Recebe requisição do Titular no link de autenticação")
d2("Redireciona Titular para Gov.br")
d3("Recebe resposta de autenticação do Gov.br")
e{"Tem código Gov.br, estado do link e CPF logado consistentes?"}
f("Retorna página de erro ao Titular")
g("Invalida estado do link")
h("Salva token do Titular em cache")
x("Redireciona Titular à página de sucesso da GCC")
z@{shape: circle, label: Fim}
a --> b
b --> c
c --> c2
c2 -.- d
d --> d2
d2 -.- d3
d3 --> e
e -->|" Sim "| g
e -->|" Não "| f
g --> h
h --> x
x --> z
f --> z