Template open-source para empresas brasileiras que usam Okta e precisam controlar acesso fora do horário de expediente, evitando passivos trabalhistas (horas extras, sobreaviso, danos morais por violação do direito à desconexão).
A jurisprudência da Justiça do Trabalho tem reconhecido que o simples acesso de funcionários a ferramentas corporativas (e-mail, Slack, VPN, sistemas internos) fora do horário de expediente pode configurar:
Este repositório fornece um starter completo para implementar controle de acesso CLT-compliant usando Okta Workflows — sem precisar comprar uma ferramenta dedicada.
jornada-workflows-starter/
├── flows/ # Workflows exportados (.json)
│ ├── 01-evaluator.json # Avalia cada autenticação
│ ├── 02-daily-reconciliation.json
│ └── 03-defesa-report.json # Relatório para Justiça do Trabalho
├── okta/
│ ├── profile-schema/ # Atributos customizados de usuário
│ └── tables/ # Schemas das Okta Tables
├── acknowledgment-page/ # Next.js app: "Confirmo hora extra"
└── docs/
├── INSTALACAO.md # Setup passo a passo
├── ARQUITETURA.md # Como funciona
└── LIMITACOES.md # ⚠️ Leia antes de implantar
┌─────────────────────────────────────────────────────────┐
│ 1. Funcionário tenta logar via Okta às 22h de sábado │
└─────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ 2. Okta dispara Event Hook (user.session.start) │
└─────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ 3. Workflow "Evaluator" verifica: │
│ - Horário contratado do usuário │
│ - Dia da semana / feriado │
│ - CCT aplicável │
│ - Isenção do Art. 62 da CLT │
└─────────────────────────────────────────────────────────┘
│
┌───────────┴───────────┐
▼ ▼
┌─────────────┐ ┌──────────────────┐
│ Permitido │ │ Fora do horário │
│ Log: ALLOW │ │ → Notifica RH │
└─────────────┘ │ → Adiciona em │
│ grupo "ack" │
│ → Envia link │
└──────────────────┘
│
▼
┌──────────────────┐
│ Funcionário │
│ confirma hora │
│ extra na página │
│ → Status: ACK │
│ → Calcula minutos│
│ → Envia ao ponto │
└──────────────────┘
Pré-requisitos:
Setup em 30 minutos:
okta/profile-schema/user-profile-extension.json)
Okta Admin Console → Directory → Profile Editor → User (default) → Add Attribute
okta/tables/)
auth_log — todos os eventos de autenticaçãoviolations — eventos fora do horárioholidays — feriados nacionais/estaduais/municipaiscct_rules — regras de convenção coletivaflows/*.json)
Okta Workflows Console → Flows → Import Flowpack
cd acknowledgment-page
npm install
vercel deploy
Detalhes completos em docs/INSTALACAO.md.
Este starter resolve ~70% do problema com ~5% do esforço de uma solução dedicada. As limitações estão documentadas em docs/LIMITACOES.md, mas as principais:
| Limitação | Impacto |
|---|---|
| Reativo, não preventivo | Event Hooks disparam após a autenticação. O usuário já acessou os dados quando o log é gerado. Defesa jurídica mais fraca. |
| Sem audit chain criptográfica | Okta Tables não são append-only. Um admin com permissão pode editar linhas. Hash chain ajuda mas não é prova legal robusta. |
| CCT é manual | Cada Convenção Coletiva precisa ser codificada manualmente nas tables. Renegociações anuais quebram a configuração. |
| Sem UI para o funcionário | A página de ack é separada e precisa ser hospedada por você. |
| Sem relatório “defesa-ready” | O export é CSV. Para Justiça do Trabalho, você precisa de PDF assinado, com timestamps de autoridade certificadora. |
| Limites de execução do Workflows | Tenants com 100k+ autenticações/dia podem estourar quota. |
Quando este starter é suficiente:
Quando você precisa de algo mais robusto:
Para esses casos, considere Jornada Pro — versão hospedada com rules engine de CLT, biblioteca de CCTs, audit chain criptográfica e relatórios defesa-ready. (Em desenvolvimento.)
Aceitamos PRs! Especialmente:
Posso usar isso em produção? Sim, com as ressalvas acima. Vários componentes são apenas “good faith” — não são prova legal robusta. Se você está em uma indústria de alto risco trabalhista (bancário, varejo, telemarketing), use isto como prototipagem e migre para uma solução dedicada.
E se o funcionário precisar trabalhar fora do horário em emergência? O fluxo permite isso via “acknowledgment” — o funcionário declara que está fazendo hora extra, registra eletronicamente, e o sistema computa para o ponto. Isso transforma um sobreaviso ambíguo em uma hora extra explícita e devidamente paga.
O Art. 62 da CLT (isenção de controle de jornada) está coberto?
Sim. Usuários com exemptArt62 = true no perfil são pulados pelo Evaluator. Use isso para gerentes, cargos de confiança e teletrabalho por produção.
E o trabalho remoto / home office? A Lei 14.442/2022 e Art. 6º da CLT equiparam trabalho remoto a presencial para fins de jornada. O sistema funciona igualmente — o controle é por horário, não por localização.
Preciso da licença Enterprise do Okta Workflows? A versão básica do Workflows funciona para até ~50 usuários. Acima disso, você provavelmente precisará da licença Enterprise por questões de quota de execução.
MIT. Use, modifique, redistribua à vontade. Sem garantia, sem responsabilidade — você é responsável pela conformidade trabalhista da sua empresa.
Construído por Matt — Senior Solutions Engineer especializado em IAM (Okta, Auth0) atuando no mercado brasileiro.
Se este starter foi útil, considere:
Disclaimer: Este projeto não constitui aconselhamento jurídico. Consulte advogado trabalhista para validar a aderência da implementação à sua realidade específica.