Trust & Safety

Trust Center

How Provyn stores your data, secures assessments, and protects your privacy. If you have questions not answered here, email provyn.app@outlook.com.

By the numbers

Credentials currently verifiable
0
People assessed
2
Completed attempts
3
Comparison group size and pass rate per assessment
AssessmentPeoplePass rateNext credential shows
Data Structures and Algorithms1—Cohort forming
SQL1—Cohort forming

Integrity: 1 completed attempt was flagged and excluded from every comparison group. 0 flags were contested: 0 upheld (flag cleared), 0 rejected, 0 open.

Counted with the same rules the product applies: a credential is verifiable when /verify would say so; people count once per assessment, flagged attempts excluded (see how percentiles are calculated). Pass rates are withheld (—) for groups under 10 people. Updated hourly; last computed Thu, 22 Oct 2026 05:27:09 GMT.

How percentiles are calculated

A credential's percentile says how its score compares with other people who took the same assessment. Everyone is measured the same way:

  • Only finalized attempts count — nothing still in progress or awaiting review.
  • Scores are compared as a percent of each attempt's maximum, because question sets differ in total points (early attempts, before maximums were recorded, were scored out of 100).
  • Each person counts once, at their best attempt, so retakes don't crowd the comparison. You are never compared against your own attempts.
  • Attempts flagged for integrity problems are excluded.
  • Attempts by test accounts and Provyn staff accounts are excluded: our own testing is not part of anyone's comparison group.
  • Where an assessment offers levels (junior, mid, senior), each level is its own comparison group: a junior attempt is compared only with other junior attempts. Attempts on the standard form, including every attempt from before levels existed, form their own group. Groups are never combined to make up numbers, so a level with few attempts shows “Cohort forming” until it has enough.
  • Ties sit at the middle of the tied group (mid-rank), so nobody is ever shown as “0th” or “100th”.

Small comparison groups can't support a precise number, so we say less when we know less: fewer than 10 other people shows “Cohort forming”, 10–99 shows a band (Top 25%, Top 50%, Below median), and only 100 or more shows an exact percentile. The figure is fixed when the attempt is graded.

Testing accommodations

If you need extra time, request an accommodation before you start. Say what adjustment you need; we never ask why and never ask for documents. We aim to decide within 2 business days, and approved extra time applies automatically.

An accommodated attempt is scored and ranked exactly like any other, and nothing on the credential says it was accommodated: marking it would tell every recruiter who looks that you have a disability. Requests are deleted with your account and included in your data export.

Verifying a credential

Every Provyn credential can be checked two ways, neither of which requires trusting the page a candidate shares. Live status: paste the link or ID at provyn.app/verify (or call GET /api/credentials/{id}/verify) and the answer comes from our records at that moment — a credential that was re-graded or is held for an integrity review shows as not currently valid.

Signed copy: candidates can download a credential as a JSON Web Token signed with Provyn's Ed25519 key. Our public keys are published at /.well-known/jwks.json, so anyone can verify the signature offline with a standard JOSE library. Any change to the name, assessment, score or date breaks the signature.

Data storage and privacy

Provyn stores candidate and recruiter data in Airtable (US region). Email is sent via Resend (us-east-1). We do not sell your data, share it with third parties for advertising, or use it to train models.

Candidates may download a full export of their data at any time from their account settings. The export includes every assessment attempt, funnel event, and email log from the last 90 days. Hard deletion removes your row from Airtable within 7 days of a request.

Recruiters see only the information candidates have chosen to make public: score tiers, percentile bands, role category, and identity verification status. Raw assessment answers are never exposed to recruiters.

Assessment integrity

Every assessment is time-limited. After a failed attempt you can retake it once 24 hours have passed; after a pass, the assessment is locked for 90 days. Each attempt draws its own random subset of the question bank in a shuffled order. For the few banks that are still smaller than the draw, every attempt sees the same questions in a different order.

During an assessment, the runner logs: webcam snapshots at random intervals (with candidate consent), keystroke timing (when, not what is typed), fullscreen exits, tab switches, and paste events. These signals contribute to a per-attempt Integrity Score displayed on each submission.

SQL answers are run against a test database. Written, design and code answers are graded by two independent AI passes against the rubric, and a Provyn reviewer confirms every such result before a score is issued, deciding any case where the passes disagree. Candidates are notified by email when their final score is ready.

Questions are monitored continuously. For every question we track how often it is answered correctly and whether stronger candidates answer it better than weaker ones. Questions that are too easy, too hard, fail to separate stronger from weaker candidates, or show a sudden jump in correct answers (a sign the question may have leaked) are flagged for review and revised or retired. Attempts flagged for integrity problems are left out of these statistics.

The full method, from how questions are written and drawn to how answers are graded and scores, ranges and percentiles are calculated, is in How scoring works, including its known limits.

Proctoring disclosure

Provyn uses lightweight client-side proctoring — not a full lockdown browser or third-party agent. Specifically:

  • Webcam snapshots at random intervals (requires camera permission)
  • Keystroke timing metadata (not content)
  • Keyboard shortcuts intercepted (print, save, DevTools)
  • Mouse movement patterns
  • Clipboard actions logged (not clipboard contents)
  • Tab/window focus loss flagged
  • Fullscreen exits flagged and paused

Candidates are shown a full disclosure screen before clicking Begin and must check a consent checkbox. Proctoring data is stored only for the duration needed to adjudicate the attempt and is accessible only to Provyn admins. It is not shared with recruiters.

Identity verification

Identity verification is optional and powered by Stripe Identity (US region). When a candidate chooses to verify, their government ID image and a liveness selfie are processed by Stripe and immediately discarded from Provyn's systems — only the verification outcome (verified / not verified) is stored.

A verified badge appears on the candidate's public profile and credential pages. Provyn does not claim any formal accreditation or government-issued certification status — we verify that the person who took the assessment is a real human matching their stated identity, nothing more.

Security basics

  • All traffic over HTTPS (Netlify-managed TLS)
  • Authentication via NextAuth.js — session tokens, no passwords stored
  • Stripe handles all payment card data — Provyn never sees card numbers
  • Stripe webhook payloads are signature-verified (constructEvent) before any data is written
  • Airtable API keys stored as Netlify environment secrets
  • Admin routes require an explicit allowlist of admin email addresses
  • Rate limiting on all public signup endpoints (per-IP)
  • Error monitoring via Sentry (when configured)

We do not conduct penetration tests on a fixed schedule, but we review new routes for common vulnerabilities (injection, XSS, CSRF) before shipping. If you find a security issue, email provyn.app@outlook.com with a description and we will respond within 48 hours.

Profile score, explained

Profile score is a single 0–100 number we surface on the recruiter directory and shortlist views. It combines verified assessment performance, credential strength, and profile completeness into a directional signal a recruiter can use to triage who to look at first.

What it is:

  • A weighted combination of every passed assessment's score and percentile.
  • A small bonus for filling out role, location, and LinkedIn URL.
  • A small bonus for higher verification tiers (Identity > LinkedIn > Email).

What it is not:

  • A hiring decision. It is a directional triage signal — read the credential, then decide.
  • A predictive validity claim. We do not assert that a higher score predicts on-the-job outcome.
  • A reputation score. It does not factor in social signal, follower count, or anything outside Provyn.

Recruiters: hover the “?” next to profile score on any directory card to see this short explanation inline.

Data retention

  • Active accounts: retained indefinitely while the account is active
  • Soft-deleted accounts: hidden from UI, retained for 7 days
  • Hard-deleted accounts: removed from Airtable within 7 days of request
  • Email logs: retained for 90 days in data exports
  • Webcam snapshots: deleted 90 days after the attempt is graded, or when the account is deleted
  • Stripe payment records: subject to Stripe's retention policy (typically 5+ years for compliance)
  • Backups: weekly snapshots of our database are kept for 12 weeks for disaster recovery only. Data you delete ages out of backups within those 12 weeks, and deletions are re-applied before any restore.

To request deletion of your data, email provyn.app@outlook.com from the address associated with your account. We will confirm deletion within 7 business days.