Security
How Sonara is built and run.
A plain account of where Sonara runs, how it protects your workspace, and which outside services handle data. If your review needs more detail, write to us.
Where Sonara runs
Amazon Web Services
The hosted service runs in containers on AWS behind a load balancer. Private deployments in your own environment are available on request.
Storage
Course files, media and workspace records are stored in Amazon S3 with server-side encryption at rest and public access blocked.
Encryption in transit
Connections use TLS 1.2 or 1.3. Plain HTTP is redirected to HTTPS, and browsers are told to use HTTPS only (HSTS).
How the application protects you
Workspace isolation
Each workspace's data is stored under its own scope, and a session only works on the workspace it was issued for.
Browser protections
A Content Security Policy that allows scripts only from Sonara itself and named sources, framing disabled outside your LMS, and nosniff, referrer and permissions policies.
Abuse limits
Requests with an unknown host are refused, and sign-in, sign-up and email flows are rate limited per client.
Sessions
Sessions expire after inactivity and have an absolute lifetime, and are checked again during use.
Identity and access
Single sign-on
Each workspace can connect its own identity provider with OpenID Connect or SAML 2.0, limited to the email domains it names. An identity provider can only sign people in to its own workspace.
Require single sign-on
A workspace can close password sign-in for its members. Administrators keep a password path, protected by two-factor.
Two-factor
Authenticator-app codes with one-time recovery codes. Administrators can require two-factor for administrators or for everyone, with a grace period to set it up.
Provisioning
SCIM 2.0 for users and groups, authorized by a workspace token that Sonara stores only as a hash. Deactivated people are signed out at once. Administrators can also import a roster from CSV.
Smart-card sign-in
CAC and PIV certificate sign-in on dedicated deployments.
Records and control
Security audit log
Sign-ins, failed attempts, two-factor and single sign-on events, provisioning and administrative changes are logged per workspace, with CSV export for administrators.
Tamper-evident course history
Every approved course change is a hash-chained receipt that can be verified in the app or offline from an evidence pack.
Data-residency controls
A workspace can require AWS-only processing where the deployment supports it. Requests that would leave AWS are refused.
LMS connections
LTI 1.3 launches are signature-checked. Exported SCORM and cmi5 packages open the live course with an encrypted launch token that can be revoked, and xAPI statements go only to the learning record store an administrator sets.
AI in people decisions
Decision support only
Skill levels, growth recommendations and the Ready for more summary support a conversation between people. They are never used for automated promotion, ranking or termination, and no one gets a single score.
Evidence you can open
Levels rest on graded work, and each one links to what it rests on. Endorsements only back graded work up, and anything self-reported, including résumé items, is shown apart and never counts. Recommendations follow fixed rules, not an AI model, and each says why.
The same view for everyone
People see exactly what their managers and administrators see about them, and can comment on or dispute any level. Managers see their reporting line and department heads their departments, and every view of someone else's data is logged.
Notice and choice
Each person reads a plain-language AI-use notice the first time they open their skills, growth plan or team, and acknowledges it once. People can stop sharing their growth plan with their manager.
A switch for your workspace
Administrators can turn readiness summaries off for the whole workspace, which removes them from every team view.
Résumés kept briefly
An uploaded résumé is seen only by the person and administrators. The original file is deleted after 90 days by default, and the items the person confirmed stay as self-reported evidence.
No protected attributes
The skills and growth model holds no age, gender or other demographic fields.
Sub-processors
Outside services Sonara uses to deliver the product. Which of them handle a workspace's content depends on the deployment and on the workspace's data-residency setting.
| Service | What it does for Sonara | When it's used |
|---|---|---|
| Amazon Web Services | Hosting, storage (S3), email (SES), video transcription (Amazon Transcribe) and models on Amazon Bedrock. | Always, for hosting and storage. Transcription and Bedrock when enabled. |
| LiveKit | Real-time voice sessions with the instructor, and speech recognition and synthesis through LiveKit Inference, which uses speech model providers such as Deepgram and Cartesia. | When voice is used, and when narrated lessons are rendered. |
| OpenRouter | Routes text and image requests to the model providers a deployment is configured to use. | When the deployment's text or image engine is OpenRouter. Not used in AWS-only mode. |
| Google Cloud | Gemini models, when a deployment uses them for document reading or generation. | Only when configured. Not used in AWS-only mode. |
| Stripe | Payment processing for self-serve plan upgrades. | Only when billing is turned on. Stripe receives billing details, not course content. |
Web fonts load from Google Fonts. Dictation in Sain's voice mode is transcribed on your device: the first use downloads a speech model of about 40 MB (Whisper) from Hugging Face, which your browser then keeps, and its code loads from the jsDelivr CDN. Your audio never leaves the device. Where a deployment turns on Cloudflare Turnstile, the sign-up and password-reset forms load its check from Cloudflare.
Report a vulnerability
If you believe you've found a security problem in Sonara, email business@sainindustries.com with the steps to reproduce it.