Ajuda · Privacidade

O que Transforme meu papel guarda e o que nunca armazena

A página de privacidade voltada à pessoa usuária para Transforme meu papel. O que lemos, o que descartamos, o que uma linha de auditoria contém, por que um ID de sessão anônima é pseudonímico e como funcionam salvar e excluir conta.

Manchete
A descrição da vaga, a URL e qualquer arquivo enviado são lidos na memória e descartados. Nunca persistimos — anônimo ou registrado. Apenas uma linha de auditoria sem conteúdo registrando a forma operacional da sessão é mantida.

O que nunca armazenamos

  • O texto da descrição da vaga.Texto colado e texto obtido via URL são lidos pelo pipeline de extração e descartados assim que um envelope de candidatos estruturado é produzido. Nenhuma cópia existe em disco, em logs ou em arquivos temporários além do TTL de upload.
  • A própria URL.Nem o host, nem o caminho, nem a query string. A linha de auditoria carrega mode='url' mas nenhum conteúdo de URL. O scrubber de logs Cloud limpa strings parecidas com URL antes que os logs deixem a requisição.
  • Os bytes enviados.Arquivos passam por um caminho de processamento efêmero em memória com TTL rígido de 60 minutos. Nenhuma linha de material-fonte SMC é criada — o catálogo SMC não consegue ver uploads de Transforme meu papel por construção.
  • O nome do arquivo e qualquer checksum.Nomes de arquivo podem vazar título e empregador ("BIM_Manager_Acme_Corp.pdf"). A linha de auditoria não registra nome de arquivo, contagem de bytes ou checksum.
  • Cabeçalhos de requisição, IP e User-Agent.A linha de auditoria não carrega metadados de requisição além de modo, jurisdição, locale, tempos, resultado e (se você optou por salvar) seu ID de usuário.

O que a linha de auditoria registra

Uma única linha sem conteúdo é escrita por sessão na tabela transform_ingestions. Seu propósito é operacional: nos permite responder "quantas sessões foram concluídas com sucesso hoje, em quais jurisdições, em quais locales?" sem nunca registrar uma descrição de vaga.

  • modeUm de 'url', 'upload' ou 'text-paste'. A forma da ingestão, não o conteúdo.
  • jurisdictionUm código de país / sub-região ISO (por ex. 'BR', 'IE', 'CA') usado para escolher o equivalente futuro-pronto canônico. Não o host da URL.
  • localeO locale da sessão ('en', 'pt-BR', 'fr'). Operacional, não conteúdo.
  • started_at / completed_atApenas timestamps. Sem conteúdo.
  • outcomeUm de: success, extract_fail, fetch_blocked, size_exceeded, format_unsupported, user_abandoned, rights_declined.
  • opted_in_saveBooleano. Verdadeiro se um(a) usuário(a) registrado(a) clicou em Salvar este plano. Alimenta uma métrica agregada de conversão — nunca ligada ao conteúdo do plano.
  • user_id (anulável)Nulo para sessões anônimas. Definido como seu ID de usuário se você fez login no meio da sessão ou optou por salvar. ON DELETE SET NULL — veja a seção de exclusão abaixo.

Essa é a lista completa. A migração que cria esta tabela tem zero colunas que poderiam carregar conteúdo da descrição da vaga. Um teste de integração enumera uma lista de colunas proibidas e quebra o CI se alguma nova coluna parecer com conteúdo de descrição de vaga.

Sobre o ID de sessão anônima

Toda sessão de Transforme meu papel gera um UUID aleatório — o ID de sessão. O ID é pseudonímico: é gerado por sessão, nunca ligado a um fingerprint, nunca derivado de um identificador e nunca reutilizado entre sessões. Uma sessão nova produz um UUID novo.

Quando você faz login no meio da sessão ou salva o plano, seu user_id é gravado na linha de auditoria e em qualquer plano salvo; antes do login, a sessão é totalmente anônima. O ID de sessão não é por si só identificador — é um handle interno para o armazenamento de sessão em memória.

Janelas de retenção

Coleta de URL e colar texto

Persistência zero. O texto atravessa a extração e é descartado imediatamente. Nenhum arquivo temporário, entrada de log ou linha de banco contém o texto.

Upload de arquivo

Limite rígido de 60 minutos. Bytes passam por um caminho de processamento efêmero em memória; se um fallback de arquivo temporário precisar ser usado, uma varredura aplica o limite de 60 minutos. Após 60 minutos os bytes estão garantidamente fora, independente do estado do pipeline.

Se você salvar o plano

Salvar é só para registrados. A ação de salvar persiste os recursos estruturados — o envelope de candidatos extraídos, a resolução de mapeamento, a saída de síntese de lacuna, o pacote do plano — na tabela saved_transform_plans, chaveada pelo seu ID de usuário. Não persiste a descrição da vaga, a URL, os bytes de upload, o nome do arquivo ou qualquer outro campo no formato de conteúdo.

Um refinamento zod defensivo rejeita qualquer carga útil que carregue chaves no formato de conteúdo no momento da escrita, independentemente de como o ponto de chamada foi construído. Se um caminho de código futuro tentar passar um campo 'jdText' ou 'pasteContent' pelo endpoint de salvar, a escrita falhará com um erro de contrato de privacidade.

Notificações de mudança

Se você ativar as notificações de mudança em um plano salvo, o resumo diário é enviado para o endereço de e-mail da sua conta. O e-mail lista os títulos dos seus próprios planos salvos que mudaram — ele é entregue apenas a você, proprietário do plano. Nunca registramos o endereço do destinatário nem qualquer conteúdo de plano salvo; um envio que falha é registrado apenas com o identificador da inscrição e o tipo de erro. Cada resumo tem um link de cancelamento em um clique, e cancelar a inscrição remove completamente o registro da inscrição.

A marcação de direitos

Os modos colar-texto e upload são protegidos por uma marcação explícita de direitos. A marcação afirma que você detém os direitos de compartilhar o conteúdo — tipicamente porque você o autorou, foi publicado para distribuição geral ou seu empregador permite. O modo coleta-de-URL não é protegido pela marcação porque a coleta acontece contra a web pública com robots.txt respeitado. A marcação em si não é persistida como conteúdo; apenas mode='upload' ou mode='text-paste' é registrado na linha de auditoria.

Exclusão de conta

Planos salvos e assinaturas de avisos de mudança caem em cascata na exclusão do usuário (ON DELETE CASCADE). Se você excluir sua conta, toda linha que referencia seu user_id em saved_transform_plans e transform_plan_subscriptions é excluída com a conta.

Linhas de auditoria se comportam de modo diferente: user_id é anulável com ON DELETE SET NULL. A linha operacional é preservada (para que a análise agregada por jurisdição ainda funcione), mas seu vínculo com sua identidade cai — a linha é anonimizada, não excluída. Se precisar excluir a linha de auditoria também, contate o suporte.

O painel de agente conversacional

O painel de agente curado na visão do plano responde a perguntas a partir de um contexto pré-construído apenas com os candidatos estruturados. O contexto do agente nunca carrega a descrição da vaga, a URL ou os bytes de upload — isso é verificado nas 30 conversas curadas de amostra que acompanham a superfície (10 cada em EN / pt-BR / FR). O painel renderiza um indicador 'Esta conversa não é salva'; se você fizer login e salvar o plano, o indicador muda para 'Salvo na sua conta; a descrição da vaga não é retida'.

Logs Cloud e telemetria operacional

Um middleware de log compatível com Pino tira qualquer nome de campo que pareça com conteúdo (jdText, jdUrl, jdMarkdown, uploadBytes, rawJd, sourceUrl, extractedText, uploadFilename, mais 9 formatos adicionais adicionados durante a revisão de privacidade/legal) e redige strings parecidas com URL em campos de texto livre antes que os logs saiam da requisição. Isso é opt-in para a superfície Transforme meu papel — o scrubber não mascara campos de URL legítimos em outras partes do código.

Transforme meu papelLeia a metodologia