SELF-HOSTdocker compose · isolamento total · BYO auth

Detector de plágio auto-hospedado com controle de dados

Execute o motor Apache 2.0 na sua própria infraestrutura. Docker compose para instalação padrão, Helm chart para Kubernetes, suporte a bare-metal em ambientes isolados. Seus servidores, seu Postgres, sua autenticação, seus dados. Nenhum tráfego sai do seu VPC. A escolha certa quando nuvem não é opção.

docker compose em 10 minutosSuporte a ambiente isoladoBYO Postgres · SAML / LDAP / OIDC
QUEM AUTOGERENCIA

Quatro contextos onde nuvem não é opção.

ESCRITÓRIOS DE ADVOCACIA

Implantação preservando privilégio

Peças jurídicas, memoriais e materiais sob sigilo não podem ir para nuvem de terceiros.

  • Rede isolada suportada
  • Autenticação SAML / LDAP / Active Directory
  • Executa dentro do seu ambiente já em conformidade
UNIVERSIDADES

Revisão de Comitês Éticos, on-campus

Submissões estudantis, pesquisa clínica, estudos aprovados por comitê — exigências rígidas de residência de dados.

  • Executa junto ao Canvas / Moodle na sua rede
  • Apache 2.0 — sua TI clona o repositório antes da assinatura
  • Modo residência UE se nuvem for o nível correto
GOVERNO

Isolamento total + FedRAMP-adjacente

Federal, estadual, defesa — conteúdo não sai da rede do órgão.

  • Opção de instalação bare-metal (não requer Docker)
  • Autenticação OIDC / CAC / PIV com smart-card suportada
  • Imagem base STIG-hardenizável (RHEL UBI)
EMPRESAS

Proteção de PI interna + segredo comercial

Documentos de P&D, minutas de M&A, whitepapers internos — conteúdo que deve permanecer dentro do firewall.

  • Helm chart para Kubernetes para escala horizontal
  • BYO Postgres + Redis + objeto store
  • Audit log → SIEM (Splunk / Datadog / Elastic)
OPÇÕES DE INSTALAÇÃO

Três modos de implantação. Um único motor.

Escolha o caminho que corresponde à sua infraestrutura. O motor de detecção é idêntico em todos; muda só o empacotamento operacional.

01

01 · docker compose (10 min)

git clone github.com/NoplagLabs/noplag-engine && cd engine && docker compose up -d. O arquivo compose inclui Postgres + Redis + o container do engine + uma interface administrativa mínima. Padrão para implantação em nó único, adequada para equipes pequenas (~1.000 verificações/dia). Pronto para produção nesse formato; o mais trabalhoso é implementar autenticação e corpus próprios.

02

02 · Kubernetes Helm chart

helm install noplag noplag/engine --values seu-values.yaml. O chart externaliza Postgres + Redis (aponte para seu cluster), suporta escala horizontal dos pods do motor e expõe métricas Prometheus para autoscaling. Valores Helm documentados para limites, réplicas e volumes persistentes.

03

03 · Bare-metal / isolamento total

Para ambientes que não podem rodar Docker (algumas áreas de defesa + governo). Envio do motor como tar com todas as dependências fixadas; instalação via ansible playbook em RHEL UBI ou Ubuntu LTS. Isolamento amigável: sem chamadas externas após instalar. Imagem base STIG-hardenizável; OIDC / CAC / PIV inclusos.

REQUISITOS DO SISTEMA

O que precisa para rodar.

Baixo consumo de hardware para equipes pequenas. Escala horizontal para produção. Traga tudo — de autenticação a corpus — na versão Enterprise.

01 · NÓ DO MOTOR

Mínimo: 8 vCPU + 16 GB RAM para o container do motor. Suporta ~50 checagens simultâneas (mediana de 47s para documento de 1.500 palavras). Para escalar, adicione pods atrás do balanceador — Helm chart automatiza isso com HPA em CPU + fila.

02 · BANCO DE DADOS

PostgreSQL 15+ com extensão pgvector. Dimensione conforme seu volume de impressões digitais: ~50 GB para 100.000 documentos indexados, escala linearmente. RDS / Cloud SQL / instâncias gerenciadas suportadas. Postgres autogerenciado precisa das extensões pgvector + GIN ativas.

03 · CACHE / FILA

Redis 7+ para fila de trabalho + cache. Baixo consumo (~2 GB RAM típico). Elasticache / Memorystore / Redis Cloud ok; pod Redis no cluster resolve para deployments menores. O chart usa Redis Sentinel por padrão para HA.

04 · ARMAZENAMENTO DO CORPUS

Enterprise: fornece o corpus público como um pacote indexável (~280 GB compactados). Restaurado no Postgres + armazenamento de objetos (S3 / GCS / MinIO / Ceph) na primeira instalação. Opcional: use seus próprios adaptadores de busca web (chaves de API do Google / Brave) para verificação em tempo real, ou ignore se for verificar apenas contra o corpus indexado.

05 · IDENTIDADE

SAML 2.0, LDAP, OIDC (Okta, Azure AD, Auth0, Keycloak) ou login embutido email-senha. Autenticação smart-card (CAC / PIV) via ponte OIDC para governos. Multi-tenant suportado em uma instalação — útil para departamentos.

06 · OBSERVABILIDADE

Endpoint de métricas Prometheus + traces OpenTelemetry. Audit log em JSON; direcione para seu SIEM (Splunk, Datadog, Elastic, Grafana Loki). Dashboards prontos em JSON no repositório. Compatível com stack CNCF padrão.

IMPLANTE EM 10 MINUTOS

Implantação docker compose padrão.

Stack pronto para produção com motor, Postgres, Redis e UI admin. Adicione seu provedor de autenticação; configure o corpus; escale em cluster quando necessário.

$ install · bashCopiar
$ git clone https://github.com/NoplagLabs/noplag-engine
$ cd engine
$ cp .env.example .env
$ vim .env # configure auth + corpus + secrets
$ docker compose up -d
Creating noplag-postgres ... done
Creating noplag-redis ... done
Creating noplag-engine ... done
Creating noplag-admin ... done
Engine ready at http://localhost:8080
Admin UI at http://localhost:8081
.env · configuraçãoCopiar
# Auth
AUTH_PROVIDER=saml # or oidc, ldap, builtin
SAML_METADATA_URL=https://idp.acme.com/...
# Database
POSTGRES_URL=postgres://user:pw@db:5432/noplag
REDIS_URL=redis://redis:6379/0
# Corpus
CORPUS_BUNDLE_PATH=/srv/corpus/2026-05
WEB_SEARCH_ENABLED=false # air-gap
# Observability
OTEL_ENDPOINT=https://otel.acme.com:4317
AUDIT_LOG_SINK=splunk-hec
  • 10 mindocker compose até pronto
  • 8 / 16vCPU / GB RAM mínimo
  • Apache2.0 · grátis para sempre
  • 0rede externa exigida (isolado)
  • SAMLLDAP · OIDC · CAC / PIV smart-card
AUTH + IDENTIDADE

Integre à sua identidade já existente.

01 · SAML 2.0

SSO enterprise padrão

Configure SAML_METADATA_URL apontando para seu IdP. Testado com Okta, Auth0, OneLogin, Microsoft Entra (Azure AD), Ping Identity, Keycloak e Shibboleth. Mapeamento de atributos de grupo para acesso baseado em função. Provisionamento SCIM 2.0 suportado via API admin.

Provisionamento just-in-time + SCIM sync · padrão enterprise mais comum.
02 · LDAP / AD

Integração direta com Active Directory

Para ambientes com AD local ou OpenLDAP. Credenciais no .env; consultas de grupo controlam acesso. Útil para universidades + escritórios de advocacia + órgãos em que SAML é demais ou AD cobre tudo.

Suporte a grupos aninhados · latência típica de 5 segundos.
03 · OIDC + SMART-CARD

OIDC para cloud-native + CAC/PIV para defesa

OIDC padrão para Okta / Auth0 / Cognito / Google Workspace. Para defesa/federal: smart-card CAC/PIV via ponte OIDC. Mapeia o identificador do smart-card a um usuário Noplag; grupos seguem o diretório DoD da organização.

Perfil FedRAMP-adjacente · smart-card testado com DoD CAC + GSA PIV.
GESTÃO DE PATCH

Atualize no seu ritmo, não no nosso.

Autogerenciado significa controle sobre atualizações. Releases estáveis mensais (mesma versão da nuvem), patch quando houver questões de segurança. Puxe o novo tag, rode docker compose pull && up -d, pronto. Migrações automaticamente ao iniciar o container. Para ambientes isolados: bundles assinados (RPM / DEB / tar), verifique e transfira pelo fluxo de aprovação já existente e instale na próxima janela de manutenção. Tags de LTS recebem patches críticos por 18 meses; produção recebe atualizações mensais junto ao ciclo da nuvem. Em ambos casos: upgrade é seu, dados são seus, só publicamos no registry.

Leia o guia de atualização
FAQ

O que TI/DevOps realmente pergunta antes de implantar.

O que é realmente gratuito versus pago na versão autogerenciada?

O motor Apache 2.0 é gratuito para sempre — clone o repo, rode. Gratuito inclui cascata de detecção + UI admin + REST API. Enterprise agrega: bundle corpus público indexável (~280GB), suporte SLA, entrega de release assinada para ambientes isolados e auxílio de migração.

Posso rodar sem acesso à internet (isolado)?

Sim. O motor não exige acesso externo para checagem no corpus indexado. Defina WEB_SEARCH_ENABLED=false para pular a camada web ao vivo. Enterprise envia bundles assinados com assinaturas GPG — transfira usando o processo de aprovação já existente. Testado em ambientes DoD e inteligência.

Qual o footprint mínimo de hardware?

Container do motor: 8 vCPU + 16 GB RAM. Postgres: 4 vCPU + 8 GB + ~50 GB para 100k docs indexados. Redis: ~2 GB RAM. Para 5.000 checagens/mês um único servidor médio roda tudo. Com 100k+ checagens/mês, use Kubernetes + escala horizontal + Postgres gerenciado.

Funciona com nossa infraestrutura de identidade?

SAML 2.0 (Okta, Auth0, Entra, OneLogin, Keycloak, Shibboleth), LDAP / AD, OIDC, smart-card CAC/PIV via ponte OIDC para ambiente federal ou login embutido. SCIM 2.0 suportado. Mapeamento de grupos para função configurável.

E o pgvector — dependência obrigatória?

Será necessário para a camada de embeddings vetoriais L3 (v1.2); a v1.0 não exige. Postgres 15+ com pgvector. RDS / Cloud SQL / Cloud Postgres já oferecem suporte. Em Postgres autogerenciado, é preciso executar CREATE EXTENSION pgvector na implantação. Sem isso, o engine executa as camadas fornecidas, mas perderá a camada semântica de paráfrase quando ela for lançada.

Como obter o corpus público numa rede privada?

Enterprise: envio como bundle assinado de ~280 GB. Transfira via processo de importação já existente, restaure em Postgres + objeto store na primeira instalação. Atualizado mensalmente junto ao corpus da nuvem. Comunidade: construa a partir dos dumps públicos do OpenAlex / CORE / Common Crawl usando scripts de ingestão.

Como é a atualização em produção?

Releases estáveis todo mês (mesmo commit da nuvem). LTS recebe 18 meses de patches. Atualização padrão: docker compose pull && up -d (Helm: helm upgrade). Migrações automáticas ao iniciar; semver respeitado; breaking changes documentados nas notas de migração.

Atende SOC 2 / HIPAA / FedRAMP?

Autogerenciado: postura de compliance é sua responsabilidade — oferecemos o motor, vocês rodam no ambiente que já atende às exigências. Somos uma empresa open-core relançando e não temos autorizações SOC 2, HIPAA ou FedRAMP; não dizemos que temos. O autogerenciado viabiliza rodar Noplag totalmente sob seus controles — suporta isolamento, bare-metal, CAC/PIV, controle do lado do cliente, nada sai da rede.

Dá para customizar o pipeline de detecção?

Apache 2.0 — fork e modifique. Operadores autogerenciados já implementaram: corpus personalizado, classificadores de citação regionais e plug-ins de integração. PRs upstream bem-vindos; revisamos e mesclamos conforme aplicável para base ampla.

E suporte?

Comunidade: issues do GitHub, Discord público, docs mantidas pela comunidade. Respondemos a bug reports e disclosure de segurança, mas não garantimos SLA. Enterprise: engenheiro dedicado, ponto de contato nomeado, SLA, apoio customizado, auxílio à migração.

Clone o repo. docker compose up. Rode dentro da sua rede.

Apache 2.0 — gratuito para sempre. Contratos empresariais incluem pacote de corpus público indexável, SLA de suporte dedicado e entrega de versões assinadas para ambientes isolados. Fora isso: github.com/NoplagLabs/noplag-engine e um host docker sob seu controle.

Detector de plágio auto-hospedado para dados locais