--- title: "BioSig Authentication - Information & Setup" slug: "biosig-authentication-information-setup" updated: 2026-08-20T14:44:18Z published: 2026-08-20T14:44:18Z 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 regulated training. When it's on, your learners are 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 you must prove the person doing the training is who they say they are. --- ## Two ways to enable BioSig BioSig can be turned on at **two different levels**. Pick one — they are mutually exclusive for a given category. | | **Category-level** (original) | **Course-level** (new) | | --- | --- | --- | | **What the verification session covers** | One session spans the **entire category** | Each **course** is its own session | | **Where the toggle lives** | Category → **Category Rules** → *Enable BioSig Authentication* | Course → **Course Rules** → *Enable BioSig Authentication* | | **Where the `biosig:` token lives** | The **category's** Internal Description | Each **course's** Internal Description | | **Begin fires** | 3rd chapter of the **first course** in the category | 3rd chapter of **every enabled course** | | **Final fires** | Last chapter of the **last course** in the category | Last chapter of **every enabled course** | | **Minimum chapters** | The **first course** needs at least 3 active chapters | **Every enabled course** needs at least 3 active chapters | | **NMLS ID + credit hours** | One set for the whole category | One set **per course** | **Which should I use?** - Use **category-level** when the whole category is a single regulated course of study reported to NMLS as one unit. - Use **course-level** when each course in the category is its own NMLS-approved course with its own course ID and credit hours, and needs to be verified and reported separately. > ⚠️ **Never turn on both.** If a category's BioSig toggle is ON, the category-level behavior takes over and the per-course toggles are ignored. For course-level setups the **category toggle must stay OFF**. > > > Existing category-level setups are completely unaffected by the course-level feature — turning on course-level BioSig elsewhere changes nothing about how they behave. --- ## Before you start (prerequisites) ### Applies to both modes - **You're provisioned with the third-party BioSig service.** Verification is performed by an outside provider — confirm you're set up on that side first, or the checkpoints will appear but won't complete. *(Check with your LightSpeed VT support representative.)* - **Your NMLS Course Provider # is configured on the BioSig side.** You report under your own provider number. If this hasn't been set, verifications land under the wrong provider. *(Handled by LightSpeed VT — reach out to your support representative if you're not sure.)* - **You have the NMLS course ID and credit-hour count** for whatever you're tagging (the category, or each course). - **Every learner has their NMLS ID in the user's Misc2 field.** See the section below — this is a hard requirement, not a nice-to-have. ### 🔑 Required user setup: NMLS ID in Misc2 ("Other Info 2") BioSig identifies each learner by the value in the user's **Misc2** field (labeled **Other Info 2** in the user editor). The value must be formatted exactly as: ``` NMLS ID, ``` - **Your registration process must capture the student's NMLS number** and store it in this exact format. This is how BioSig's verification records tie back to the student's NMLS identity for audits and reporting. - ⚠️ **Set it before the learner starts training.** If someone begins with the field blank and you fill it in later, BioSig sees a **brand-new identity** — they have to re-enroll, and their verification history splits across two identities. - ⚠️ **Never leave it as the prefix only** (`NMLS ID,` with no number). That sends a blank identity to BioSig and **verification breaks**. - If the field is **blank or missing entirely**, the system falls back to an internal ID. That works mechanically, but the records aren't tied to the learner's NMLS identity — acceptable for test accounts, **not** for real students. ### Category-level only - **All the courses that need verification live under ONE category.** BioSig is set per category and applies to **every** course inside it. - **Your 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 you expect it. ### Course-level only - **The category's BioSig toggle is OFF.** (See the warning above.) - **You know exactly which courses need verification.** The toggle is per course — courses in the same category can be mixed (some verified, some not). - **Each course has its own NMLS course ID and credit hours.** - ⚠️ **Every BioSig-enabled course has at least 3 active chapters.** Begin lands on chapter 3 of **each** enabled course, so a course with fewer than 3 active chapters won't fire verification. Check this on every course you enable — not just the first one. --- ## When the checkpoints appear There are **three kinds** of checkpoint. **Begin and Final are automatic. Middle is manual** — it only appears where you place it. ### Category-level | 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 you **manually insert** a Middle checkpoint. You can add more than one (Middle #1, Middle #2, …). If you don't add any, there is **no** mid-course check. | ⚠️ **Manual** | | **Final** | On the **last chapter of the LAST course** in the category. The verification appears **when the learner opens that chapter — before they take the final exam**, never after completing it. | ✅ 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. Scoped to the **category**. | ✅ Automatic | ### Course-level Every BioSig-enabled course follows the same pattern, start to finish: - **Chapters 1 and 2:** play normally, no verification - **Chapter 3:** Begin verification - **Last chapter:** Final verification (when the learner opens it, before the exam) | Checkpoint | When it appears | Automatic or manual | | --- | --- | --- | | **Begin** | On the **3rd chapter of EVERY BioSig-enabled course**. The first **two** chapters of each course are intentionally verification-free, so the course's first verification always lands on chapter 3. | ✅ Automatic (from the course toggle) | | **Middle** | Only at the exact chapter(s) where you **manually insert** a Middle checkpoint. | ⚠️ **Manual** | | **Final** | On the **last chapter of every enabled course**. The verification appears **when the learner opens that chapter — before they take the final exam**, never after completing it. | ✅ Automatic (from the course toggle) | | **Resuming** | If a learner leaves and comes back, they re-verify on return — scoped to the **course** they're in. | ✅ Automatic | > **What a checkpoint looks like to the learner.** The verification renders **in place of the chapter's content** — it isn't a popup or overlay. The trigger is the chapter **loading**; completing the previous chapter only matters because it advances the learner into the next one. Once the learner completes the verification, the page reloads and the chapter (or exam) loads normally. > ⚠️ **Short courses (course-level only).** Because Begin is anchored to chapter 3, an enabled course with fewer than **3 active chapters** won't fire verification. If you have a 1- or 2-chapter course that must be verified, it needs additional active chapters before BioSig will work on it — catch this during setup rather than after your learners are live. > **The key things to remember:** the toggle gives you **Begin** and **Final** — but you **also** must add the `biosig:<NMLSid>|<duration>` token (to the **category** for category-level, or to **each course** for course-level) or verification fails, and **Middle checkpoints must be added by hand**. These two are the easy-to-forget steps. --- ## How to enable BioSig at the CATEGORY level **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 your 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** (on opening the 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>` = the **NMLS-approved course ID** (a number, e.g. `14297`). - `<duration>` = the **credit hours**, a whole number **1–12** (e.g. `1`). Anything over 12 is ignored and treated as `1`. - Examples: a 1-credit course → `biosig:14297|1`; a 2-credit course → `biosig:14312|2`; a 3-credit course → `biosig:14386|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. 6. **Add Middle checkpoint(s) — manual, only if you need mid-course checks.** See [Adding Middle checkpoints](/docs/biosig-authentication-information-setup#adding-middle-checkpoints-both-modes) below. 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 to enable BioSig at the COURSE level **Steps 1–3 are required. Step 4 (Middle checkpoints) is optional.** 1. **Confirm the category's BioSig toggle is OFF.** Open the category in **Courseware Management → Category Rules** and make sure **Enable BioSig Authentication** is **OFF**. If it's on, the category-level behavior takes over and your per-course toggles do nothing. 2. **Turn the toggle on for each course that needs verification.** Open the course in **Courseware Management**, go to the course's **Course Rules** section, set **Enable BioSig Authentication** to **ON**, and **Save**. This works just like the category toggle, only scoped to that one course. - The toggle is **per course**. Courses in the same category can be mixed — only the enabled ones get checkpoints. - ⚠️ Before you enable a course, confirm it has **at least 3 active chapters**. Begin fires on chapter 3, so a shorter course will be enabled but never verify. 3. **Set each course's NMLS ID + credit hours — REQUIRED.** In the **course editor**, edit the course's **Internal Description** and include this token: ``` biosig:| ``` - `<NMLSid>` = the **NMLS-approved course ID** for **that course** (a number). - `<duration>` = that course's **credit hours**, a whole number **1–12**. Anything over 12 is ignored and treated as `1`. - Example: `biosig:18624|3` (a 3-credit-hour course). - Other text in the description is fine — the service just scans for the `biosig:…` token. - ⚠️ **This is what gets reported to BioSig per course.** Every enabled course needs its own token. Without it, verification fails on that course ("biosig catid is required"). 4. **Add Middle checkpoint(s) — manual, only if the course needs mid-course checks.** See below. On course-level setups, pay extra attention to the `coid` value. Once steps 1–3 are done, each enabled course runs as its own verification session: Begin on chapter 3, any Middle checkpoints, and Final when the learner opens the course's last chapter. --- ## Adding Middle checkpoints (both modes) Middle checkpoints are **always manual** — no toggle ever creates them. For each mid-course point where you want a verification to appear, insert 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=&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&catId=…&coid=…`) is dropped before the request reaches the server, so the checkpoint silently breaks. All live checkpoints use `%23`. - `status=Middle%231` for your first mid-course check, `Middle%232` for the second, and so on (`%231` = `#1`, `%232` = `#2`). - `<CatID>` = your BioSig category's ID. `<CoID>` = the ID of the **course that chapter lives in**. - ⚠️ **On course-level setups, the `coid` matters more than ever.** The NMLS ID now resolves **per course**, so a `coid` that points at the wrong course will report the wrong NMLS course ID. Double-check that `coid` matches the course the chapter actually lives in. - Type the IDs carefully — you enter these values by hand, and a wrong or spaced-in ID breaks the checkpoint. - Example of a completed path: `customInternal|https://webservices.lightspeedvt.net/client/nmls/biosig.ashx?status=Middle%231&catId=41508&coid=214970` The system automatically handles the "resume" case for these (a returning learner sees the Resuming version) — you only author the `Middle#N` entry. --- ## How often verification happens (cadence) There is **no automatic "every N hours" timer** in the platform. You set verification frequency two ways: - **`duration`** — the credit hours sent to the third-party BioSig provider. It tells the provider the expected seat-time (whole number, 1–12). On category-level setups you set this once on the category; on course-level setups you set it **per course**. - **Number of Middle checkpoints** — 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. 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 | > On **course-level** setups, apply this per course using that course's own credit hours — a 1-hour course in the category may need no Middle checkpoints while a 3-hour course beside it needs one. --- ## Status values (reference) These are the `status=` values BioSig sends to the verification service — useful when you're reading a URL in the browser or troubleshooting with LightSpeed VT support: | Status | Meaning (category-level) | Meaning (course-level) | Set up how | | --- | --- | --- | --- | | `Begin` | First-time verification, chapter 3 of the first course in the category | Chapter 3 of **every** enabled course | Automatic | | `Middle#1`, `Middle#2`, … | Mid-course verification at a manually placed checkpoint (written in the URL as `Middle%231`, `Middle%232`) | Same | **Manual** | | `FinalExam` | Verification when the learner **opens** the last chapter of the last course, before the exam | Same, but on the last chapter of **each** enabled course | Automatic | | `Resuming` | Learner returned and re-verifies on a normal chapter (scoped to the category) | Same, scoped to the **course** | Automatic | | `Resuming-Middle#1`, … | Learner returned and re-verifies on a Middle checkpoint | Same | Automatic (derived from the `Middle%23N` entry) | | `Resuming-FinalExam` | Learner returned and re-verifies at the final exam | Same, per course | Automatic | > The `#N` above is the **decoded** value the service receives. In the URL you author, it must be typed encoded as `%23N`. --- ## How to confirm it's working Log in as a **test learner** with access to the category. Confirm your test account's **Misc2 / Other Info 2** field is populated correctly first — a blank value falls back to an internal ID and won't exercise the real identity path. ### Category-level 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 **open** its last chapter — verification appears (**Final**) in place of the chapter content, *before* the exam. Complete it and the exam loads normally. 5. Log out, log back in, and re-enter mid-way — a **Resuming** verification appears. ### Course-level 1. Confirm the **category** toggle is OFF. 2. Confirm **every enabled course has at least 3 active chapters** — a shorter course won't fire verification at all. 3. Open the **first enabled course**. Chapters **1 and 2** should play normally with no verification, and verification appears on **chapter 3** (**Begin**). 4. **Open** the **last chapter** of that course — verification appears (**Final**) in place of the chapter content, *before* the exam. Complete it and the exam loads normally. 5. Open a **different enabled course** — the same pattern repeats: chapters 1 and 2 play normally, verification appears on its **3rd chapter** (**Begin**), and again on its last chapter (**Final**). 6. Open a course in the same category that is **not** enabled — no verification should appear at all. 7. If you added Middle checkpoints, reach each of those chapters — a verification appears (**Middle #1**, **#2**, …). 8. Log out, log back in, and re-enter mid-way — a **Resuming** verification appears, scoped to the course you're in. ### Troubleshooting | Symptom | Most likely cause | | --- | --- | | Verification screen shows *"biosig catid is required"* | The `biosig:<NMLSid>\|<duration>` token is missing or malformed — on the **category** (category-level) or on **that course** (course-level). | | No checkpoint appears at all | Category-level: your courses aren't all in the enabled category, or you aren't provisioned on the third-party side. Course-level: the course's BioSig toggle wasn't turned on. | | No checkpoint on one specific course (course-level) | That course has **fewer than 3 active chapters**, so Begin never fires. | | Course-level checkpoints ignored, category-wide behavior instead | The **category's** BioSig toggle is still ON — turn it OFF. | | Verification fails / blank identity | The learner's **Misc2** value is `NMLS ID,` with no number, or otherwise malformed. | | Learner has two split verification histories | Misc2 was blank when they started training and was filled in later. They'll need to re-enroll. | | Middle checkpoint silently does nothing | The `#` wasn't encoded as `%23`, or `catId` / `coid` is mistyped. On course-level, a wrong `coid` also reports the wrong NMLS course ID. | --- ## How to turn BioSig off ### Category-level 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. ### Course-level 1. Open the course in **Courseware Management → Course Rules** and turn **Enable BioSig Authentication** to **OFF**, then **Save**. 2. Optionally remove the `biosig:…` token from the course's **Internal Description** (harmless if left, but cleaner to remove). 3. If you added Middle checkpoint chapters in that course, **remove those chapters** too. **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 - **Two levels, one at a time.** Category-level covers the whole category as one session; course-level makes each enabled course its own session. A category toggle that's ON always wins. - **Every course-level course follows the same shape:** chapters 1–2 free, Begin on chapter 3, Final on the last chapter. **At least 3 active chapters is a hard requirement** on every enabled course. - **No per-user BioSig setting.** There's no way to require verification for some learners and not others within the same scope. - **Middle checkpoints are the manual part** — neither toggle ever creates them. - **The `biosig:` token is never optional.** Category-level needs it on the category; course-level needs it on **every** enabled course. - **The learner's NMLS ID lives in Misc2 / Other Info 2** (`NMLS ID,<number>`) and must be set before training starts. - **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.** To get provisioned on the BioSig provider, set your NMLS Course Provider #, or pull verification records, contact your LightSpeed VT support representative.