Docs
FAQ
Answers to the questions SaaS teams ask most before and during integration. Something missing? Book a call and ask us directly.
Do we need to migrate all events at once?
No. Most teams start with high-value workflows like invites, billing, and security actions, then expand gradually. You can also backfill history by passing an explicit timestamp when tracking (retention applies to that timestamp).
Can we show activity feeds per user and per workspace?
Yes. Query and filter by actor, target, action (exact or prefix like member.*), and time window to power account, workspace, and admin timelines — or mint a feed token for the signed-in user and drop in the <softechlog-feed> component, optionally narrowed with target-type / target-id attributes.
Can support teams inspect user history quickly?
Yes. Filter by actor_id for everything one user did, search with q= when you only have a name or email, or open a session in the dashboard to replay exactly what they saw and clicked. The same API powers scoped views in your own internal tooling.
How long does implementation usually take?
Most teams ship first production events in under a week — the quickstart takes about ten minutes, then coverage grows incrementally as you add track() calls to meaningful workflows.
Will we be locked in if we start now?
No. You control your event model and can export your full history as CSV or JSON on any plan — from the dashboard or GET /v1/events/export — for reporting, warehousing, or migration at any time.
What happens when we hit our monthly event cap?
New events are rejected with 402 — on the SDKs and on browser auto-capture alike — until the 1st of next month. Nothing is deleted and reads, feeds, and exports keep working. Upgrade from the dashboard's Plan & usage page to lift the cap immediately.
Do the SDKs add latency to our requests?
Not if you use fire-and-forget: skip the await and track() returns immediately. It never throws, retries transient failures in the background, and a Softechlog outage can never take your app down with it. In serverless, await flush() before returning.
Is the public key really safe to expose?
Yes. Public keys can only submit auto-capture events to POST /v1/events/batch — they cannot query, list, or read anything (the API answers 403). Reads require a secret key on the server, or a short-lived feed token your server mints for one specific user.
How does the feed component read data in the browser without a secret?
Your backend calls POST /v1/feed-tokens with the secret key to mint a feed token pinned to the signed-in user (and optionally one target), valid for 60 seconds to 24 hours. The page passes it as feed-token; it can read only that user's events and sessions — never exports, stats, or other users.
Does auto-capture count toward my plan?
Yes — every stored event counts, whether it came from track() or from the browser script. Auto-capture batches events and pauses on 402, so it degrades gracefully at the cap.
Can we self-host or export to our warehouse?
Self-hosting is not offered today. Warehouse export works on every plan via the dashboard export button or GET /v1/events/export (CSV/JSON, up to 10,000 rows per call, same filters as the list API).
Still unsure about a detail? Book a 15-minute call or request beta access and ask during onboarding.