01
Workspace isolation
Every row of people, evidence, skills and requirements data carries a company identifier, and access is enforced by row-level security policies in the database. A request that is not part of a workspace simply returns nothing — the separation does not depend on the interface hiding a button.
02
Role-based access
- Roles are stored in a dedicated table, never on the user profile, so they cannot be self-edited.
- Permission checks run through security-definer functions rather than client-side flags.
- Skills Buddy conversations are readable only by the person who wrote them.
03
Files and avatars
Uploaded avatars live in a private bucket scoped to each user's own folder and are served through short-lived signed URLs. Evidence text is stored alongside the workspace record it belongs to and inherits the same access rules.
04
Account protection
- Passwords must meet a strength policy with live feedback before they are accepted.
- Passwords are checked against known breached-password lists at sign-up and reset.
- Password reset uses a single-use, time-limited link.
- You can permanently delete your own account and avatar from Settings.
05
AI safety and traceability
Every AI-suggested skill stores the verbatim snippet it came from and stays unvalidated until a human approves it. Recommendations are produced by deterministic gap logic you can inspect, not by a model guessing, so the same inputs always give the same answer.
06
Audit trail
Validation decisions, requirement changes and recommendation runs are recorded in a workspace activity ledger, exportable to CSV or PDF at any time so you can show who decided what and when.
07
Reporting a vulnerability
If you believe you have found a security issue, email security@scoutwithin.app with steps to reproduce. Please do not test against other people's workspaces or real employee data. We will acknowledge reports and keep you updated while we investigate.