Veyra handles potentially sensitive resumes, transcripts, screenshots, AI requests, and credentials.
Security goals:
- prevent unauthorized access;
- prevent privilege escalation;
- prevent secret leakage;
- protect local data;
- contain untrusted content.
The renderer is treated as untrusted application content.
Required baseline:
- context isolation;
- disabled Node integration;
- restrictive CSP;
- narrow preload API.
Validate every privileged request for:
- schema;
- authorization;
- resource ownership;
- operation;
- file path;
- payload size.
Never expose API keys in React bundles. Use secure credential storage for desktop credentials where available.
Never execute imported documents or model output as commands. Treat OCR, resumes, job descriptions, and retrieved content as untrusted data.
System policies remain authoritative. Model output cannot directly invoke arbitrary privileged operations.
Only explicit, supported, user-authorized capture is allowed. No stealth or bypass mechanisms are part of the architecture.
Never log by default:
- passwords;
- tokens;
- API keys;
- complete resumes;
- raw transcripts;
- raw screenshots;
- complete sensitive prompts.
Use lockfiles, automated dependency scanning, updates, and review of critical dependencies.
Contain, rotate credentials, identify affected versions, patch, test, and release a remediation.