The statelessness problem
Without ChronoGuard
// agent.ts — LangChain agent
const result = await agent.run("Wait 10 minutes then retry.");
// What the LLM does:
> "I will wait 10 minutes."
> [immediately calls tool again]
// LLMs have no persistent timer state.
// "Wait" is an instruction, not enforcement.
With ChronoGuard
// agent.ts — ChronoGuard middleware
const cg = new ChronoGuard("http://localhost:3001");
await cg.startTimer(conversationId, 600);
// conversation locked for 600s
await cg.sendMessage(conversationId, msg);
// ← BLOCKED: 596.8s remaining
// After 600s: automatically unlocked.
> enforcement guaranteed. always.
How it works
Your AgentLangChain / CrewAI
ChronoGuardEnforcement Layer
LLM ProviderOpenAI / Anthropic
01LOCKED
Agent requests a timer
Your agent calls POST /v1/timer/start with a conversation ID and duration. ChronoGuard creates a persistent timer and immediately locks the conversation.
02BLOCKED
All LLM calls are blocked
Every subsequent POST /v1/message is rejected with a 423 status until the timer expires. The LLM provider never receives the request — enforcement is absolute.
03EXPIRED → PASS
Timer expires, lock releases
At expiry, the conversation transitions to EXPIRED state. Future messages flow through to the LLM. Every enforcement event is logged for auditability.
04OVERRIDDEN
Override when needed
Authorized parties can POST /v1/timer/override to release a lock early. The LLM never controls this path — override requires an explicit external API call.
Features
Integrations
LangChain
Available
CrewAI
Available
AutoGen
In progress
n8n
Planned
Flowise
Planned
Temporal
Planned
ChronoGuard slots into your existing stack as a middleware layer. No architectural rewrites. No framework lock-in. Drop it in front of any LLM call in under 10 minutes.
# install the SDK
npm install @chronoguard/sdk
# or run self-hosted via Docker
docker run -p 3001:3001 \
-e DATABASE_URL=$YOUR_DB \
ghcr.io/chronoguard/chronoguard:latest
Pricing
Open Source
Self-hosted
Freeforever
View on GitHubFull core enforcement engine
Time enforcement + timer state machine
Time awareness context injection
4 core API endpoints
LangChain + CrewAI SDK
Self-host on any infrastructure
MIT licensed
Recommended
Cloud
Managed · Usage-based
$0.002per enforced event
Join waitlistEverything in Open Source
Managed hosted infrastructure
99.9% SLA uptime guarantee
Usage-based billing — pay for what you enforce
Dashboard + analytics
Email + Slack support
Coming soon
Enterprise
Custom
Customcontact us
Talk to usEverything in Cloud
SSO + RBAC
Role-based override permissions
Audit log export (Datadog / SIEM)
Custom retention policies
Dedicated support + SLA
Enterprise governance features
Open source · Start today
Stop trusting LLMs to enforce their own rules.
ChronoGuard is MIT-licensed and ready to drop into your agent stack. Self-host in minutes. No vendor lock-in.