# Feature - Awareness portal

**URL:** https://discussions.eramba.org/t/feature-awareness-portal/8420
**Category:** Forum - Software
**Created:** [March 24, 2026, 1:31pm UTC](https://discussions.eramba.org/t/feature-awareness-portal/8420 "2026-03-24T13:31:14Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![sam](https://discussions.eramba.org/letter_avatar_proxy/v4/letter/s/5f9b8f/32.png) [@sam](https://discussions.eramba.org/u/sam)
#### Post date: [March 24, 2026, 1:31pm UTC](https://discussions.eramba.org/t/feature-awareness-portal/8420/1 "2026-03-24T13:31:14Z")

</div>

**What’s New**

- **New portal UI**
- **Policy Attestation** - acknowledge selected Eramba policies inside the training
- **Questionnaire pool** - random questions, configurable per attempt
- **Direct video link** - embed via iframe, not just upload
- **New schedule** - Once or Recurring (recurring spawns Cycles)
- **Advanced reminders** - repeating After Start, Before End, Non-Completion

**User accounts:**

- the main fix here is that we will stop listing users in user lists when they do not have Main portal assigned - after we fix this it should resolve the performance of the system as well  
should be considered here: [Feature - Access Management Updates](https://discussions.eramba.org/t/feature-access-management-updates/8138)

**Final Field Names**

| Tab | Section | Field |
| --- | --- | --- |
| **General** | | Title |
| | | Description |
| | | Audience |
| **Content** | Policy Attestation | Associated Policies |
| | | Button Text |
| | Questionnaire | Questionnaire (upload) |
| | | Question Pool _(toggle)_ → Questions Per Attempt |
| | | Show Correct Answers _(toggle)_ |
| | | Set Passing Score _(toggle)_ → Passing Threshold, Max Attempts |
| | | Button Text |
| | Video | Video (upload) |
| | | Direct Link (iframe) |
| | | Button Text |
| | Disclaimer | Disclaimer Text (upload) |
| | | Button Text |
| **Portal Settings** | | Welcome Message _(toggle + rich text)_ |
| | | Thank You Message _(toggle + rich text)_ |
| | | Content Order _(drag & drop)_ |
| **Schedule** | | Type _(Once | Recurring)_ |
| | | Repeat every |
| | | Period |
| | | Start Date |
| | | End Date |
| **Notifications** | Invitation | Email subject |
| | | Email body |
| | After Start Reminder _(toggle)_ | First reminder after (days) |
| | | Repeat every (days) |
| | | Maximum reminders |
| | | Subject |
| | | Body |
| | Before End Reminder _(toggle)_ | Days before end date |
| | | Subject |
| | | Body |
| | Non-Completion Notification _(toggle)_ | Subject |
| | | Body |

Views:  
**Awareness Programs**  
Purpose  
what awareness programs exist and what state are they in?  
One row = one Awareness Program.

 ![image](https://discussions.eramba.org/uploads/default/original/2X/c/c3071cafcb762d5bbbb3e917f5c7c844e36a005a.png)

**Awareness Cycles**  
One row = one Awareness Cycle

 ![image](https://discussions.eramba.org/uploads/default/original/2X/d/dd85ecd8a950c291cbac7cf3edcdff6e172a6185.png)

**User Cycle Assignments**  
Purpose  
who did what, when, and with what result?  
One row = one User Cycle assignment.

 ![image](https://discussions.eramba.org/uploads/default/original/2X/c/c21887f0a44d85cc182c6118305012416df2f0eb.png)

**Notifications**  
One row = one reminder/notification  
who was notified and when?

 ![image](https://discussions.eramba.org/uploads/default/original/2X/1/183c08035a4a0a47ad284232a58088e497598fa3.png)

views prototype:  
[awareness\_program\_prototype.html](https://discussions.eramba.org/uploads/short-url/22YAyHV3wRpShjbWTQPSFjj0kvH.html) (8.3 KB)

Are we able to answer these questions?

- % of people compliance (this gives overal compiliance) - cycles view
- who (is|is not) compliant and to what “cycle” - User Cycle
- what notifications where sent to a user - Notification
- when a user completed a training - User Cycle

UI: [https://www.figma.com/design/NptSbK23ZHLEE0b55WJksv/Eramba-portals?node-id=3933-135511&p=f&t=hBgiqmmNdOm9IPwG-0](https://www.figma.com/design/NptSbK23ZHLEE0b55WJksv/Eramba-portals?node-id=3933-135511&p=f&t=hBgiqmmNdOm9IPwG-0)

Pause functionality:

 ![image](https://discussions.eramba.org/uploads/default/original/2X/8/867438b606f09fccaee8c52a30a3d014658d1c87.png)

Awareness program - start/pause/stop  
Cycles - finish current cycles

Not implementing - Open platforms ():

- [https://www.openlms.net/](https://www.openlms.net/)
- [https://moodle.org/](https://moodle.org/)
- SCORM (Sharable Content Object Reference Model)

Future improvements ideas:

- per-user deadline for onboarding programs
- out of the box programs
- direct integration with platforms as KnowBe4/Huntress/CanIPhish
- evidence import - possibility to simply add evidence instead of going through whole training

---

<div class="post-metadata">

### Author: ![dzl](https://discussions.eramba.org/letter_avatar_proxy/v4/letter/d/e56c9b/32.png) [@dzl](https://discussions.eramba.org/u/dzl)
#### Post date: [March 24, 2026, 5:26pm UTC](https://discussions.eramba.org/t/feature-awareness-portal/8420/2 "2026-03-24T17:26:01Z")

</div>

> [@sam](#):
>
> **Policy attestation**
> 
> - i would probably limit this to 3 or so
> - new content type, where user can select from policies existing in eramba
> - content can be shown the same way as it is on policy portal, we need button with customizable text (acknowledged, understood etc.)
> - stats will be defined the same way as disclaimer text today

This will be amazing and a great addition to Eramba 🙌

---

<div class="post-metadata">

### Author: ![sam](https://discussions.eramba.org/letter_avatar_proxy/v4/letter/s/5f9b8f/32.png) [@sam](https://discussions.eramba.org/u/sam)
#### Post date: [April 29, 2026, 12:42pm UTC](https://discussions.eramba.org/t/feature-awareness-portal/8420/3 "2026-04-29T12:42:55Z")

</div>

Testing in progress  
Form-Content:

 ![image](https://discussions.eramba.org/uploads/default/original/2X/1/1b932c48855b96c20c6d0d16d0a0421e038254f3.jpeg)  
Portal Main page:  
 ![image](https://discussions.eramba.org/uploads/default/original/2X/f/fc59dfe012985dcc0727197efd8518af4f856da8.jpeg)  
Questionaire:  
 ![image](https://discussions.eramba.org/uploads/default/original/2X/b/b69af411544cecccd89de5bee354fdc166ed51dc.jpeg)  
Policy Attestation:  
 ![image](https://discussions.eramba.org/uploads/default/original/2X/f/f041eaebd09c795d9700006906767ec92266e34e.jpeg)  
Video:  
 ![image](https://discussions.eramba.org/uploads/default/original/2X/d/d82d8cc452879d5865e383cc7e32062af29e3d36.jpeg)  
Disclaimer:  
TBD

---

<div class="post-metadata">

### Author: ![sam](https://discussions.eramba.org/letter_avatar_proxy/v4/letter/s/5f9b8f/32.png) [@sam](https://discussions.eramba.org/u/sam)
#### Post date: [June 7, 2026, 9:08am UTC](https://discussions.eramba.org/t/feature-awareness-portal/8420/4 "2026-06-07T09:08:03Z")

</div>

# Awareness Program - Scenarios

Two modes:  
**Once** (optional end date, evaluated on audience + completion count)  
**Cycles** (recurrence, repeats every N day/week/month/year).

| Scenario | Mode | Audience | Notifications | Evidence |
| --- | --- | --- | --- | --- |
| **1. Onboarding / continuous** | Once | Dynamic (synced group), joiners added over time | Invite on enrollment, after-start reminder | Running completion rate over current audience |
| **2. Event-driven / remedial** | Once | Static group, assigned manually (e.g. failed phishing, post-incident) | Same as Once | Same as Once |
| **3. Annual recertification** | Cycles | Dynamic or static | Invite, after-start, before-end | Scoped per cycle, each cycle its own record, history retained |
| **Role-based / contractor** | Once/Cycles | Static group | Same as above | Same as above |

---

<div class="post-metadata">

### Author: ![sam](https://discussions.eramba.org/letter_avatar_proxy/v4/letter/s/5f9b8f/32.png) [@sam](https://discussions.eramba.org/u/sam)
#### Post date: [August 26, 2026, 11:32am UTC](https://discussions.eramba.org/t/feature-awareness-portal/8420/6 "2026-08-26T11:32:48Z")

</div>

**Update - this shipped with release 3.31.0 (Enterprise).**

The final implementation follows the design in this thread, with a few changes worth flagging:

**What changed from the design above**

- The **Before End Reminder** and the **Maximum Reminders** cap did not make it. Notifications ended up as three types:
  - **Invitation** (sent when a user’s cycle starts, and automatically to anyone who joins the audience mid-cycle)
  - repeating **Reminder** (first one X days after the cycle starts, then every Y days until the user completes the training or the cycle ends)
  - **Non-Completion** notice (sent once, when a cycle closes with the training unfinished - requires an end date)

- Questionnaires are imported from a **CSV file** - a template and a filled example are downloadable from the form. The question pool serves N random questions on every attempt.
- **“User Cycle Assignments”** ended up as **User Records** - same object, better name.
- The Schedule tab got two things the design did not have: a **Start immediately** option, and a **“What will happen”** box that lists the exact cycles and dates before you save.
- Every program has a **Demo Mode** : you preview the whole training as a participant.

> ⚠ **If you used the old awareness module:** your existing programs are migrated as **read-only historic evidence**. Their cycles, user records and notification logs stay browsable for audits, and the uploaded content (video, questionnaire, disclaimer) can be retrieved with **Download Content**. To continue training, you create a new program from that material.

The mental model is exactly as described above - Programs → Cycles → User Records, with every email logged - and the four scenarios (onboarding, remedial, recertification, role-based) are the intended usage patterns. Both are covered in the documentation: **[TBD]**.

Thanks to our beta testers!
