Crie uma agenda de rotação de senhas
Uma política de rotação de senhas só é útil quando suas datas permitem agir. Esta calculadora recebe a data da última alteração, soma o intervalo de rotação exigido e retrocede a partir do vencimento para definir um aviso antecipado.
Executar grátis
Ela retorna datas ISO exatas que você pode copiar para um chamado, calendário, inventário, procedimento ou fluxo automatizado. Anos bissextos e meses com durações diferentes são tratados corretamente, sem aproximar noventa dias como três meses nem manter fórmulas de planilha para cada conta.
Transforme a política de rotação em duas datas práticas
Comece pela data real da última alteração da senha, não pelo dia em que alguém a registrou ou revisou a conta. Informe o valor no formato YYYY-MM-DD e o intervalo da política como um número inteiro positivo de dias corridos. A calculadora soma exatamente essa quantidade para obter o próximo vencimento. Em seguida, subtrai a antecedência do lembrete para indicar quando a preparação deve começar. Assim, um intervalo de noventa dias com aviso de catorze dias produz tanto o prazo obrigatório quanto um gatilho operacional anterior. Essa diferença importa: o vencimento isolado não reserva uma janela de manutenção, define uma pessoa responsável nem permite testar o segredo substituto. O resultado mantém os intervalos ao lado das duas datas, facilitando a conferência sem reconstruir a entrada. Use zero dias para avisar no próprio vencimento; nos demais casos, reserve antecedência suficiente para aprovações e implantação na conta.
Entenda a contagem de dias corridos e a validação
A agenda usa dias corridos, e não dias úteis ou contas baseadas em meses. Um intervalo de trinta dias sempre avança trinta viradas de meia-noite, mesmo ao atravessar fevereiro, um dia bissexto, o fim de um mês de trinta e um dias, um fim de semana ou feriado. O resultado respeita políticas escritas como quantidade fixa de dias e evita a ambiguidade de tratar noventa dias como três meses. A última alteração deve ser uma data gregoriana real no formato estrito YYYY-MM-DD, inclusive com zeros à esquerda. Valores impossíveis, como 30 de fevereiro, são rejeitados. O intervalo de rotação precisa ser um inteiro positivo; zero e valores negativos não representam um período futuro. A antecedência deve ser um inteiro não negativo. Ela pode superar o intervalo se a data calculada permanecer no calendário aceito, embora essa configuração mereça revisão. Nenhum relógio atual é consultado, portanto a mesma entrada sempre gera a mesma saída.
Use o resultado em um processo de segurança repetível
Trate as datas calculadas como informações de planejamento, não como prova de que uma credencial foi alterada. Registre o vencimento e o lembrete junto do identificador da conta, da pessoa responsável pelo sistema, do método de rotação e das evidências exigidas. Na data do aviso, abra ou atualize uma tarefa, confirme que a pessoa responsável ainda tem acesso, prepare a substituição e identifique todos os serviços consumidores. No vencimento, verifique a alteração e registre uma nova data de última mudança antes de calcular o ciclo seguinte. Para automatizar, chame a API após cada rotação bem-sucedida e grave as datas retornadas no sistema de chamados ou calendário. Cada solicitação custa US$ 0,002. A função não acessa a rede, nem recebe ou examina a senha; processa apenas metadados de agendamento. Se a política usar meses, dias úteis ou exceções ligadas ao risco, avalie-a separadamente em vez de tratá-la como intervalo fixo de dias.
Casos de uso
Agende rotações de contas de serviço
Crie uma data de vencimento e outra de preparação após cada alteração confirmada da senha de uma conta de serviço.
Mantenha um registro de controle de acesso
Acrescente campos ISO coerentes de lembrete e prazo ao inventário de credenciais gerenciadas sem armazenar senhas.
Dispare tarefas de rotação
Calcule as datas que um fluxo automatizado deve usar para abrir uma tarefa e cobrar sua conclusão.
Perguntas frequentes
Quanto custa um cálculo?
Cada solicitação à API custa US$ 0,002; a ferramenta no navegador também calcula a agenda localmente.
A calculadora precisa da própria senha?
Não. Ela usa somente a data da última alteração, o intervalo de rotação e a antecedência do lembrete.
Como o próximo vencimento é calculado?
O intervalo positivo é somado como uma quantidade exata de dias corridos à data da última alteração.
Anos bissextos e mudanças de mês são aceitos?
Sim. O cálculo valida datas gregorianas e considera dias bissextos e a duração real de cada mês.
O lembrete pode cair no vencimento?
Sim. Defina reminder_days_before como zero para retornar a mesma data para lembrete e vencimento.
Fins de semana ou feriados são ignorados?
Não. O intervalo e a antecedência são medidos em dias corridos, portanto essas datas contam normalmente.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/final3/password-change-reminder-schedule \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"last_changed_date":"2026-01-15","rotation_interval_days":90}'const res = await fetch("https://api.kit.forhosting.com/final3/password-change-reminder-schedule", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"last_changed_date": "2026-01-15",
"rotation_interval_days": 90
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/final3/password-change-reminder-schedule",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"last_changed_date": "2026-01-15",
"rotation_interval_days": 90
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/final3/password-change-reminder-schedule", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"last_changed_date":"2026-01-15","rotation_interval_days":90}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"last_changed_date":"2026-01-15","rotation_interval_days":90}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/final3/password-change-reminder-schedule", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"last_changed_date": "2026-01-15",
"rotation_interval_days": 90
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "final3.password_change_reminder_schedule",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |