Security without vague promises

Your workspace is yours. The controls are concrete.

ScholarshipLift handles sensitive application material, so identity, ownership, private storage, and consent are product behavior—not decorative policy language.

Identity and ownership

Supabase cookie sessions identify each user. Database and backend checks scope every owned record to the authenticated account.

Private document storage

Files stay in a private R2 bucket with user-scoped object keys. Upload and download links are short-lived.

Explicit AI consent

Uploaded text reaches the writing model only when you select that document for the current writing intake. The selected list is shown and saved.

Validation before acceptance

Uploads are checked for extension, MIME signature, checksum, size, ownership, and account quota. We do not claim malware scanning in the current production setup.

No cross-account access

User tables use row-level security and explicit grants, with backend authorization retained as defense in depth.

You submit the application

ScholarshipLift prepares and exports materials. It never signs into programme portals or submits applications automatically.

Current operational limits

Production does not currently run ClamAV, so the product does not label uploads as malware-scanned. Default limits are 10 MB per file and 100 MB per account. Security issues should be reported privately through the support channel listed in the repository security policy.