---
title: "BioSig Authentication - Information & Setup"
slug: "biosig-authentication-information-setup"
updated: 2026-07-29T15:46:50Z
published: 2026-07-29T15:46:50Z
canonical: "support.lightspeedvt.com/biosig-authentication-information-setup"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://support.lightspeedvt.com/llms.txt
> Use this file to discover all available pages before exploring further.

# BioSig Authentication - Information & Setup

## What BioSig does

BioSig adds **identity verification** to a training **category**. When it's on, the learner is asked to verify their identity (via our third-party BioSig provider) at set points *during* the training — not just at login. It's used for regulated training (e.g. NMLS mortgage licensing) where we must prove the person doing the training is who they say they are.

---

## When the checkpoints appear

There are **three kinds** of checkpoint. **Begin and Final are automatic. Middle is manual** — it only appears where the setup team places it.

| Checkpoint | When it appears | Automatic or manual |
| --- | --- | --- |
| **Begin** | On the **3rd chapter of the FIRST course** in the category. The first **two** chapters are intentionally skipped, so the very first verification lands on chapter 3. | ✅ Automatic (from the toggle) |
| **Middle** | Only at the exact chapter(s) where the setup team **manually inserts** a Middle checkpoint. You can add more than one (Middle #1, Middle #2, …). If none are added, there is **no** mid-course check. | ⚠️ **Manual** (see step 6) |
| **Final** | On the **last chapter of the LAST course** in the category (the final exam). | ✅ Automatic (from the toggle) |
| **Resuming** | If a learner leaves and comes back later, they re-verify when they return — a "Resuming" version of whichever checkpoint they land on. | ✅ Automatic |

> **The key things to remember:** the toggle gives you **Begin** and **Final** — but you **also** must add the `biosig:&lt;NMLSid&gt;|&lt;duration&gt;` token to the category (step 5) or verification fails, and **Middle checkpoints must be added by hand** (step 6). These two are the easy-to-forget steps.

---

## Before you start (prerequisites)

- **The client is provisioned with the third-party BioSig service.** Verification is performed by an outside provider — confirm the client is set up on that side first, or the checkpoints will appear but won't complete. *(Check with the team that manages the BioSig / NMLS integration.)*
- **You have the course's NMLS course ID and credit-hour count.** You'll need both for step 5 (`biosig:&lt;NMLSid&gt;|&lt;duration&gt;`).
- **All the courses that need verification live under ONE category.** BioSig is set per category and applies to **every** course inside it.
- **Course order is correct.** Begin is anchored to the **first** course and Final to the **last** course, so the order of courses in the category matters.
- **The first course has at least 3 chapters.** Because Begin lands on chapter 3, a first course with fewer than 3 chapters won't show the Begin checkpoint where expected.

---

## How to enable BioSig (step by step)

**Steps 1–5 are required. Step 6 (Middle checkpoints) is optional.**

1. Sign in to **Courseware Management**.
2. Open the **category** you want to protect (the one containing the client's regulated courses).
3. Go to the category's **Category Rules** section.
4. Turn **Enable BioSig Authentication** to **ON**, then **Save**.

> *"Authenticate user identity with third-party BioSig verification."*

This activates the **Begin** (chapter 3 of the first course) and **Final** (last chapter of the last course) checkpoints.
5. **Set the category's NMLS ID + duration — REQUIRED.** Edit the category's **Internal Description** and include this token:

```
biosig:<NMLSid>|<duration>
```

- `&lt;NMLSid&gt;` = the **NMLS-approved course ID** for this course (a number, e.g. `16348`).
- `&lt;duration&gt;` = the course's **credit hours**, a whole number **1–12** (e.g. `1`). Anything over 12 is ignored and treated as `1`.
- Example: `biosig:16348|1` (a 1-credit-hour course). Real live values:  

`1 Hour CA SAFE → biosig:16348|1`, `2 Hour OR → biosig:16375|2`, `3 Hour NY → biosig:16438|3`.
- You can leave other text in the description — the service just scans for the `biosig:…` token.
- ⚠️ **Without this token, verification fails.** The toggle alone is not enough — the BioSig service rejects the request ("biosig catid is required") if the description has no `biosig:` entry.

1. **Add Middle checkpoint(s) — manual, only if the client needs mid-course checks.**  

For each mid-course point where a verification should appear, the setup team inserts a **custom chapter** at that position whose internal path points to the BioSig **Middle** URL. The path format is:

```
customInternal|https://webservices.lightspeedvt.net/client/nmls/biosig.ashx?status=Middle%231&catId=<CatID>&coid=<CoID>
```

- ⚠️ **The `#` MUST be encoded as `%23`.** Write `Middle%231`, **not** `Middle#1`. A literal `#` in a URL starts the "fragment" — everything after it (`1&amp;catId=…&amp;coid=…`) is dropped before the request reaches the server, so the checkpoint silently breaks. All live checkpoints use `%23`.
- `status=Middle%231` for the first mid-course check, `Middle%232` for the second, and so on (`%231` = `#1`, `%232` = `#2`).
- `&lt;CatID&gt;` = the BioSig category's ID. `&lt;CoID&gt;` = the ID of the **course that chapter lives in**.
- Type the IDs carefully — these values are entered by hand (a wrong or spaced-in ID breaks the checkpoint).
- Real example (from a live NMLS category):  

`customInternal|https://webservices.lightspeedvt.net/client/nmls/biosig.ashx?status=Middle%231&amp;catId=39731&amp;coid=201883`

The system automatically handles the "resume" case for these (a returning learner sees the Resuming version) — you only author the `Middle#N` entry.

Once steps 1–5 are done (and any Middle chapters from step 6), every learner who opens a course in that category hits the Begin, any Middle, and Final checkpoints automatically.

---

## How often verification happens (cadence)

There is **no automatic "every N hours" timer** in the platform. Verification frequency is set two ways:

- **`duration` (step 5)** — the course's credit hours, sent to the third-party BioSig provider. It tells the provider the expected seat-time for the course (whole number, 1–12).
- **Number of Middle checkpoints (step 6)** — you decide how many mid-course checks there are by how  many Middle chapters you place, and where.

### Recommended cadence: one Middle roughly every ~2 hours

The BioSig-ID standard integration (documented by others that use the same Begin / Middle #N / Final Exam tokens) triggers a Middle **about every 2 hours of course duration** — e.g. a 6-hour course prompts at the **2-hour and 4-hour marks** (splitting it into thirds), plus Begin at the start and Final before the exam. NMLS itself only requires verification *"at various times during the course"* and does not publish an exact interval, so ~2 hours is the practical, provider-standard cadence. (See Sources below.)

Suggested Middle placement by course length:

| Course credit hours | Middle checkpoints | Approx. placement |
| --- | --- | --- |
| 1–2 | **0** (Begin + Final only) | — |
| 3–4 | **1** | ~2-hour mark (about halfway) |
| 5–6 | **2** | ~2-hour and ~4-hour marks |
| 7–8 | **3** | ~2, 4, and 6-hour marks |

---

## Status values (reference)

These are the `status=` values BioSig sends to the verification service — useful when reading a URL in the browser or troubleshooting with the integration team:

| Status | Meaning | Set up how |
| --- | --- | --- |
| `Begin` | First-time verification, chapter 3 of the first course | Automatic |
| `Middle#1`, `Middle#2`, … | Mid-course verification at a manually placed checkpoint (written in the URL as `Middle%231`, `Middle%232`) | **Manual** (step 6) |
| `FinalExam` | Verification before the last chapter of the last course | Automatic |
| `Resuming` | Learner returned and re-verifies on a normal chapter | Automatic |
| `Resuming-Middle#1`, … | Learner returned and re-verifies on a Middle checkpoint | Automatic (derived from the `Middle%23N` entry) |
| `Resuming-FinalExam` | Learner returned and re-verifies at the final exam | Automatic |

> The `#N` above is the **decoded** value the service receives. In the authored URL it must be typed encoded as `%23N` (see step 6).

---

## How to confirm it's working

Log in as a **test learner** with access to the category, then:

1. Open the **first** course and move through the chapters — on **chapter 3**, the BioSig verification screen appears in place of the chapter (**Begin**).
2. Complete it — training resumes automatically.
3. If you added Middle checkpoints, reach each of those chapters — a verification appears (**Middle #1**, **#2**, …).
4. Go to the **last** course and reach its final chapter — verification appears (**Final**).
5. Log out, log back in, and re-enter mid-way — a **Resuming** verification appears.

If a checkpoint appears but the verification screen shows an error like *"biosig catid is required,"* the category is **missing the `biosig:&lt;NMLSid&gt;|&lt;duration&gt;` token** (step 5) or it's malformed.

If a checkpoint doesn't appear at all, re-check the prerequisites (most common causes: the courses aren't all in the flagged category, the client isn't provisioned on the third-party side, or a Middle path has a mistyped `catId`/`coid`).

---

## How to turn BioSig off

1. Open the category in **Courseware Management → Category Rules**.
2. Turn **Enable BioSig Authentication** to **OFF**, and **Save**. (This removes Begin + Final.)
3. If you added Middle checkpoint chapters, **remove those chapters** too — they are separate manual inserts and won't disappear on their own.

**Note on copying content:** if you **duplicate** a BioSig-enabled category, the copy keeps BioSig **on**. Turn it off on the copy if the duplicate shouldn't require verification.

---

## Good to know

- **One toggle, whole category** for Begin/Final. There's no per-course or per-user BioSig setting.
- **Middle checkpoints are the manual part** — the toggle never creates them.
- **Where the ID/photos live.** The actual identity capture and verification records are held by the  

**third-party BioSig provider**, not inside LightSpeed VT. Requests for verification records go through that integration, not standard LSVT reports.
- **Who to contact.** For provisioning a client on the BioSig provider, or to pull verification records, contact the team that owns the BioSig / NMLS integration.
