FAQ

What's the difference between PRS, SRS, and LBRS? Three time horizons. PRS is per-turn, SRS is per-session, LBRS is per-end-user across sessions. The same R-level taxonomy applies to all three.

Why doesn't the session R-level come back down after the user says they're fine? Sticky-floor — by design. A claim of "I'm fine now" without structured evidence (a real protective factor, an intent drop) is exactly the kind of language that masks an active crisis. Letting it downgrade automatically would be unsafe. To let the session step down, the latest turn must show real protective evidence.

Do you generate replies for our bot? No. Viora is inbound-only. We score what you send and return signals. Your product owns reply generation.

Where is data stored? Single-region SQLite during the early-customer phase, single-region Postgres after that. Encrypted at rest. We can negotiate your-region deployment under enterprise terms.

Do you train on customer data? No. Customer traffic doesn't enter training pipelines. The models are trained on a separately-curated research corpus (the public datasets surfaced in the internal methodology docs).

Can I export my data? Yes — GET /v1/sessions paginates through everything you've sent us. Bulk export tooling on request.

What languages are supported? English only at production quality today. The continuous models will accept other-language input but their accuracy hasn't been measured outside English.

What about HIPAA / SOC 2? Not yet. We're a design-partner-stage company. If you have a regulated use case, talk to us about a path.

Is this a substitute for clinical care? No. R-level R2 surfaces an operational decision point — get this person to a human or to a crisis line. It's not a diagnosis and it doesn't replace clinical judgment.

How fast does it respond? Sub-second per turn under normal load. The model is warmed at process start so first-of-the-day requests aren't slow.

What happens if the model is unavailable? The turn still persists, but with empty scores and r_level=R0 plus a score_error field. You can retry or escalate.