Analytics
Privacy Analytics
Cookieless web analytics. No cookies, no consent banner, no IP storage. Just real-time pageviews, sessions, and goals.
- GDPR-native — your visitors don't get the cookie wall
- Under 1 KB script, <50ms p95 ingestion latency
- UTM, referrer, custom events, and goal funnels
- Public sharing links — embed on your status page or pitch deck
<!-- one script tag, anywhere in <head> -->
<script defer
data-domain="yoursite.com"
src="https://analytics.mojaq.com/js/script.js"
></script>
# custom events
plausible('Signup', { props: { plan: 'pro' } })
# url → pdf
curl -X POST https://api.mojaq.com/v1/render \
-H "X-API-Key: $MOJAQ_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://invoice.app/123","format":"pdf"}' \
-o invoice.pdf
# or html → png at any viewport
{ "html": "<h1>Hello</h1>",
"format": "png",
"viewport": { "width": 1200, "height": 630 } }
Render API
Screenshot & PDF API
Send a URL or HTML, get back pixel-perfect screenshots or PDFs. A real Chrome engine under the hood, hardened for production batch workloads.
- PDF, PNG, JPEG, WebP — single endpoint, one bearer token
- Custom viewports, device emulation, full-page or element captures
- Webhook on completion for batch jobs (invoices, social cards)
- Authenticated upstream requests via per-call headers
Uptime
Uptime & Heartbeat Monitoring
Watch websites, APIs, ports, and cron jobs from Helsinki. Push monitors catch the silent failures your TCP probes miss.
- HTTP, TCP, ICMP, DNS, gRPC, push-heartbeat — one runtime
- 30-second intervals, multi-region probes on the roadmap
- Slack, Discord, webhook, email alert channels
- Public status pages with your custom domain & branding
# nightly backup heartbeat — alert if no ping in 26h
curl -fsS "https://kuma.mojaq.com/api/push/$TOKEN" \
--data-urlencode "status=up" \
--data-urlencode "msg=backed up 51 files, 194M"
# exact pattern in our own backup.sh:
# https://github.com/mojaq/...
# Sentry SDK works as-is — point DSN, ship.
import * as Sentry from "@sentry/node"
Sentry.init({
dsn: "https://<key>@errors.mojaq.com/<project-id>",
tracesSampleRate: 0.1,
})
# Captures stack traces, breadcrumbs, request context.
# Smart grouping deduplicates noisy errors.
Errors
Error & Exception Tracking
Fully Sentry-SDK compatible. Drop in any Sentry client, point the DSN at errors.mojaq.com, you're done.
- Sentry SDK compatible across Node, Python, Go, PHP, Ruby, .NET
- Full stack traces, breadcrumbs, request & user context
- Issue grouping, assignments, daily digest emails
- Slack, Discord, webhook, and now Resend-powered email
# evaluate a flag for a user
curl "https://api.mojaq.com/v1/flags/new-checkout?user_id=usr_123" \
-H "X-API-Key: $MOJAQ_KEY"
# response
{ "enabled": true, "rollout": "25%" }
Feature Flags
Feature Flags & Rollouts
Ship code separately from activation. Boolean flags, percentage rollouts and attribute targeting from one API, EU-hosted.
- Boolean flags, percentage rollouts, user targeting
- Kill switch: pause a bad rollout with one call
- Flag data stays in the EU, next to your errors and analytics
- Unlimited flags on every plan
Realtime
Realtime WebSockets
Pusher-protocol compatible realtime. Your existing Pusher client libraries work unchanged, with connections terminated in the EU.
- Public, private and presence channels
- Drop-in: swap the key and host, keep your code
- Server REST API for publishing events
- Live debug console in the dashboard
// your existing pusher-js client, EU host
const pusher = new Pusher("MOJAQ_APP_KEY", {
wsHost: "realtime.mojaq.com",
forceTLS: true,
});
pusher.subscribe("orders")
.bind("order.updated", render);
# GET /dashboard/rewind?minutes=15
{
"narrative": "Deploy v2.4.1 at 20:11 UTC — first browser"
"error 5 min later. Blast radius: 14 sessions.",
"trigger": "Deploy v2.4.1 to production",
"plan": ["Roll back v2.4.1 (redeploy previous)"]
}
Rewind · new
Causal incident intelligence
What broke, why, and the plan to reverse it. Because deploys, flags, AI calls, traces and real users live in one database, Rewind reads the whole chain and hands you a reversible plan — you approve and run it.
- Auto-correlates the trigger to the first symptom
- Quantifies blast radius across every signal
- Advisory only — MOJAQ never touches your systems
AI Gateway
Governed AI gateway
An OpenAI-compatible endpoint in front of any provider. Budget caps, a kill-switch and automatic model fallback — without changing your code.
- Drop-in wrapper: one import, keep your OpenAI code
- Per-org spend caps and a one-click kill-switch
- Every prompt logged for cost control and audit
// keep your OpenAI code, change one import
import OpenAI from "mojaq-openai"
const ai = new OpenAI({ apiKey: process.env.MOJAQ_API_KEY })
await ai.chat.completions.create({ model: "gpt-4o-mini", messages })
# send a batch of spans, see the waterfall
curl -X POST https://api.mojaq.com/v1/traces \
-H "x-api-key: $KEY" \
-d '{"spans":[{"trace_id":"t1","span_id":"a",
"service":"web","name":"POST /checkout",
"start_ms":0,"duration_ms":840}]}'
Tracing
Distributed tracing & APM
Span waterfalls, service latency and error rates. Send a simple JSON batch and see exactly where a request spends its time.
- p50 / p95 latency and error rate per service
- Click any trace for the full waterfall
- Shares the database with errors, deploys and AI calls
Security
SSL & Domain Watch
Enter a root domain once. We map every certificate and subdomain from Certificate Transparency + DNS, and flag expiring certs and subdomain-takeover risk — including the ones you forgot.
- Certificate Transparency + DNS + live TLS handshakes
- Dangling-CNAME / subdomain-takeover detection
- Free public scan — no login required
# one-time free scan, no login
curl -X POST https://mojaq.com/api/scan \
-d '{"domain":"yourcompany.com"}'
# → every cert & subdomain, risk-ranked
# generate an AI-Act risk classification
POST /dashboard/compliance/generate
{ "type": "ai_act" }
# → a document built from your real
# models, providers and call volume
Compliance
Compliance Center
Turn EU-hosting into audit-ready paperwork. Auto-build a DPIA, an AI-Act risk classification and a data-residency attestation from your real usage. Evidence and a working draft, not legal advice.
- Readiness score with an actionable checklist
- DPIA, AI-Act and residency, generated from live data
- Built on the Komplio document engine