Skip to content
EnaResearch
Participant access

Give participants a secure key, not an account

In EnaResearch, participants do not create accounts with an email and password. A researcher gives the participant a 6-character code and an activation card with a QR code; the participant sets a PIN during activation and then signs in to your organization’s participant area with the code and PIN. The participant area shows their studies, connected data sources, last sync and a daily summary of the last 7 days.

6-character participant code

Unique across the organization, non-sequential, securely generated, and tolerant of look-alike characters.

Activation card with QR

A single-use activation key valid for 14 days; the organization’s QR logo in the code, no identity details on the card.

Sign-in with code + PIN

Web sign-in needs the code and a 6-digit PIN. The PIN is stored hashed; easy-to-guess PINs are rejected.

Lockout against brute force

15-minute lock after 5 failures per code from one IP address, 24 hours after 50 from all addresses; an hourly limit per IP.

Participant web area

Studies, connected sources and last sync, a 7-day daily summary, sessions and PIN change.

Rotate, revoke, sign out

Researchers can rotate or revoke a code; sessions can be ended remotely.

Why no accounts?

Asking a research participant to create an account with an email address, remember a password and register with an identity provider makes participation harder and collects more personal data than needed. In EnaResearch, organization users sign in with Logto; participants have no organization account. Participant access starts with the code and activation card the researcher hands over.

The code works like a user name, not a password. That is why the code alone never signs anyone in: web sign-in asks for the PIN the participant set during activation, and in the mobile app the activation turns into a device-bound session.

Participant code

Each person has a single active participant code at a time. The code is 6 characters long, generated with a secure random source from an alphabet that leaves out easily confused letters, and kept unique across the organization by a database constraint. Codes are not sequential; one code does not reveal another. A revoked code is never used again.

Look-alike characters are corrected on input: the letter O is read as zero, I and L as one. Researchers can rotate or revoke a code; both actions invalidate all of the participant’s sessions and pending activation keys.

  • One active code per person
  • Uniqueness enforced in the database
  • Rotation and revocation end every session
  • Revoked codes are never reissued

Activation card and single-use key

From the admin panel the researcher prints an activation card for the participant. The card carries a QR code, the organization code, the participant code and the activation key; the organization’s uploaded QR logo sits in the center of the QR code. It contains no identity details such as name, date of birth or person identifier. The activation key has 12 characters, can be used once and is valid for 14 days; issuing a new key invalidates the previous one. The key and QR code are shown only once.

The key is stored in the database only as a SHA-256 hash. In the activation link the key travels in the # fragment of the address, which is never sent to the server or its logs, and the page removes it from the address bar after reading it. During activation the participant sets a 6-digit PIN.

Activation starts a session that covers all of the person’s studies. Therefore, if the person is also active in another study whose team the researcher is not on, only the organization owner can issue the key; the same rule applies to rotating and revoking the code. A researcher on the teams of both studies can do this.

Web sign-in and brute-force protection

Signing in to the participant web area takes the code and the PIN. The PIN is stored hashed with scrypt; sequential or single-digit PINs such as 123456 are not accepted. A wrong code and a wrong PIN get the same answer, and the same computation runs for an unknown code, so response time does not reveal whether a code exists.

After 5 failed attempts per code from one IP address a 15-minute lock applies, after 50 per code from all addresses a 24-hour lock; each IP address is limited to 30 failed attempts per hour. If the service that tracks lockouts is unavailable, sign-in stays closed rather than open. Every attempt is written to the audit trail as an access event; participant codes, PINs and session tokens never are.

  • 5 failures → 15 minutes, 50 failures → 24 hours
  • 30 failed attempts per IP per hour
  • Same answer, same timing
  • Every attempt audited

Sessions and the participant web area

Access tokens are valid for 1 hour; a web session lasts 7 days and a mobile device session 90 days, extended with use. The refresh token changes on every use; if a used token comes back, the session is ended. Tokens are stored in the database only as SHA-256 hashes. On the web they live in httpOnly, SameSite=Strict cookies limited to the participant area’s path, out of reach of page JavaScript.

The participant web area (/p on the organization’s address) shows the participant’s studies, pseudonym and participation status, connected data sources and last sync time, a daily summary of the last 7 days per metric, open sessions and PIN change. Individual measurements and identity details are not shown. Participants and researchers can end open sessions remotely; changing the PIN ends the other sessions.

Participant access without accounts

6-character participant code, single-use activation card, PIN and the organization’s participant web area.

  1. 01

    The researcher hands over a card

    Registers the participant and prints the activation card with a QR code.

  2. 02

    The participant activates

    Scans the QR code or enters the codes manually and sets a 6-digit PIN.

  3. 03

    Signs in with code and PIN

    Signs in to the organization’s participant area with the code and PIN.

  4. 04

    Sees their status

    Sees their studies, connected sources, last sync and a 7-day summary.

Related pages

Frequently asked questions

Is the participant code enough to sign in?
No. The code is an identifier. Web sign-in requires the code and a PIN; in the mobile app, the single-use activation becomes a device-bound session. Rate limits, lockouts and audit logging apply to every attempt.
What if a participant forgets their PIN?
The researcher issues a new code: the old code, PIN and all sessions become invalid. The participant activates again with the new card and chooses a new PIN.
What if the activation card is lost?
The researcher rotates or revokes the code and hands over a new card. Rotation and revocation invalidate all of the participant’s sessions and pending activation keys.
Does the participant web area show health data?
Participants see their connected sources, last sync time and a daily summary of the last 7 days per metric. Individual measurements and identity details are not shown.
Who issues the activation key if the person is in several studies?
Because activation starts a session covering all of the person’s studies, if the person is also active in another study whose team the researcher is not on, only the organization owner can issue the key. A researcher on both teams can do it.
Where do participants sign in?
Each organization has its own EnaResearch address, and the participant area is at its /p path. A participant who knows the organization code can be redirected to their organization’s participant area from the sign-in page on this site.
Do participants receive notifications?
No, participants do not receive automatic notifications. The researcher hands the code and activation card to the participant.

Let's talk about your research data

We'll show what EnaResearch does today, share the roadmap openly and look at your studies and data sources together.

A separate deployment for every organization · Turkish and English