HeartSuite Core Secure Documentation
Complete guide for installing and configuring HeartSuite Core Secure security suite.
Overview: HeartSuite Core Secure enforces a default-deny policy — only explicitly approved programs can execute, access files, or make network connections. Any program not on the allowlist, including malware, is blocked at the kernel level before it can execute. The Dashboard guides you through a 7-phase setup journey, from system verification to Secure Mode activation.
HeartSuite Core Secure supports two paths: Cloud (pre-installed instances where the Dashboard appears immediately) and Local (manual installation with guided boot setup). Both paths converge at the Dashboard after Phase 1 (System Verification).
Learn About HeartSuite Core Secure
Understand key concepts to get the most out of HeartSuite Core Secure.
Get Started
Follow quick guides to install and test HeartSuite Core Secure.
Use and Manage
Perform common tasks and advanced configuration for ongoing security.
Troubleshoot and Reference
Get help and detailed info.
Subscription and Support
Ready to get started?
Get HeartSuite Core Secure running with the quick start guide. The Dashboard shows your current progress and suggests the next step.
Get Started
About this Documentation: Covers HeartSuite Core Secure v1.6.4.
1 - Getting Started
Quick guide to install and start using HeartSuite Core Secure.
HeartSuite Core Secure uses a 7-phase guided model to take your system from initial observation to full enforcement. The Dashboard tracks your progress and suggests each next step.
Overview: This guide covers both the Cloud Path and the Local Path for getting HeartSuite Core Secure running, verified, and ready for allowlisting.
The 7-Phase Model
HeartSuite Core Secure guides you through seven phases:
- System Verification — confirm HeartSuite Core Secure is active and in Setup Mode
- Program Allowlisting — approve the programs your system needs
- Script Launchers (if applicable) — configure Secure Script Launchers for interpreted scripts
- File Access Allowlisting — approve file read and write access
- Internet Access Allowlisting — approve internet destinations
- Alert Configuration — set up at least one notification channel
- Secure Mode — locked until phases 2-6 are complete
The Dashboard displays your current phase, pending event counts, and a Suggested Next Step at all times.
Cloud Path Quick Start
Users launching a pre-installed HeartSuite Core Secure cloud instance (AWS AMI, GCP image) boot directly into Setup Mode.
Launch your cloud instance and log in.
The Dashboard appears automatically on first login with a welcome message:
HeartSuite Core Secure is active.
Current mode: Setup Mode — events are logged, nothing is blocked.
Suggested: Review 1 pending program event → [p] Programs
Phase 1 (System Verification) completes automatically — no manual steps required.
Follow the Suggested Next Step on the Dashboard to begin Phase 2: Program Allowlisting.
Local Path Quick Start
Users installing HeartSuite Core Secure on bare-metal or custom VMs follow a longer installation sequence before reaching the Dashboard.
Download and Install
Download the tar file from heartsecsuite.com.
Extract and run the installer (as root):
tar xvf 6.18-HeartSuite-1.6.4.tar -m
sudo bash heartsuite-install-bundle.sh
Reboot, then select the HeartSuite Core Secure kernel from the GRUB menu:
At GRUB: Advanced options for Debian GNU/Linux → Linux 5.19.6-HeartSuite-1.0
If the GRUB menu does not show the HeartSuite Core Secure kernel, run update-grub and reboot again. See Installation for details.
OS Boot Setup
After booting into the HeartSuite Core Secure kernel, the management UI appears on the console automatically. The System Setup screen opens.
Press [a] to run the setup step. The UI reboots the system when the step completes — select the HeartSuite Core Secure kernel from GRUB each time and repeat until the setup screen shows Setup Complete (usually 3–5 cycles). This builds the initial allowlist for startup programs, preventing boot issues when Secure Mode is activated later.
Verify and Proceed
- Once the Installation screen confirms completion, the Dashboard shows your current phase. From here, the Cloud Path and Local Path merge — follow the Suggested Next Step to begin allowlisting.
The Dashboard
The Dashboard is your orientation point throughout the entire HeartSuite Core Secure journey. It displays:
- Safety Banner — current protection state (Setup Mode, Secure Mode, or Non-HS kernel)
- Phase Progress — which of the 7 phases are complete, in progress, or not started
- Pending/Denied counts — events grouped by category (Programs, File reads, File writes, Network)
- Suggested Next Step — one clear, actionable recommendation
- System Info Strip — kernel type, current mode, time in mode, lockdown status
The Suggested Next Step is always the recommended action. Follow it to proceed through each phase.
The Review Queues
The Dashboard organizes allowlisting into three review queues, each presented as a screen within the Dashboard:
- Programs queue (
[p]) — review pending program execution events (Phase 2) - File Access queue (
[f]) — review pending file read and write events (Phase 4) - Internet Access queue (
[i]) — review pending network connection events (Phase 5)
The Suggested Next Step directs you to the queue that needs attention. Select it to navigate directly to the review screen. For browsing or editing existing allowlist entries, use the Allowlist screen ([a]).
Switching to Secure Mode
When phases 2-6 are complete, the Dashboard unlocks Phase 7 and shows Secure Mode activation as the Suggested Next Step. Activation requires typing YES (case-sensitive) to confirm. After confirmation, the Dashboard offers two reboot options:
[r] Reboot — enforcement active, configuration remains editable[l] Reboot + Lockdown — enforcement active, configuration sealed with filesystem immutability
Both are valid configurations depending on your threat model. If the system does not boot correctly, reboot into the Non-HS kernel — the Dashboard resumes there and guides you through recovery.
Next Steps
1.1 - Before You Begin
System requirements and prerequisites for installing HeartSuite Core Secure.
Overview: Review system requirements and prerequisites before installing HeartSuite Core Secure, whether using a Cloud Path or Local Path.
System Requirements
- Operating System: Debian 11, 12, or 13; Ubuntu-derived; Alpine Linux; or RPM-based (RHEL, Fedora, CentOS, Rocky Linux, AlmaLinux, SUSE) — on x86 architecture.
- Access Level: Root access (sudo privileges).
- Skills: Basic familiarity with the Linux command line.
If your setup differs, check the Introduction for compatibility details.
Cloud Path vs Local Path
- Cloud Path: Launch a pre-installed HeartSuite Core Secure cloud instance (AWS AMI, GCP image). No download or kernel installation required — you boot directly into Setup Mode and the Dashboard appears on first login.
- Local Path: Download the installation package from heartsecsuite.com, extract, install the HeartSuite Core Secure kernel, and complete the Installation screen setup through multiple reboot cycles before reaching the Dashboard.
Both paths merge at the Dashboard after Phase 1 (System Verification) is complete.
2 - Introduction and Overview
Overview of HeartSuite Core Secure, setup process, and system requirements.
Overview: HeartSuite Core Secure enforces a default-deny policy — only explicitly approved programs can execute, access files, or make network connections. Any program not on the allowlist, including malware, is blocked at the kernel level before it can execute. The Dashboard guides you through a 7-phase journey from installation to Secure Mode, always showing your current progress and the suggested next step.
Key Topics
For detailed installation steps, see Installation. HeartSuite Core Secure supports both Cloud (pre-installed) and Local (manual install) paths — both converge at the Dashboard after Phase 1 (System Verification).
2.1 - HeartSuite Core Secure Overview
Core concepts and purpose of HeartSuite Core Secure security suite.
Overview: HeartSuite Core Secure enforces a default-deny policy at the kernel level — only explicitly approved programs can execute, access files, or make network connections. Any program not on the allowlist is blocked before it can execute, including malware and zero-day attacks that detection-based tools might miss.
How HeartSuite Core Secure Works
HeartSuite Core Secure uses a modified Linux kernel that enforces an allowlist-based security model. No program can execute, access files, or make network connections unless explicitly approved by an administrator. Even if malware is downloaded to a HeartSuite Core Secure server, the kernel prevents it from running or causing damage.
The Dashboard is the central interface. It tracks your progress through a 7-phase setup journey, shows pending events that need review, and always suggests the next step.
The 7-Phase Model
| Phase | Name | Purpose |
|---|
| 1 | System Verification | Confirm kernel and Dashboard are active |
| 2 | Program Allowlisting | Review and approve programs that need to run |
| 3 | Script Launchers | Configure interpreters for Python, Perl, PHP (if applicable) |
| 4 | File Access Allowlisting | Review and approve file read/write access for programs |
| 5 | Internet Access Allowlisting | Review and approve outbound internet connections |
| 6 | Alert Configuration | Set up notification channels (email, syslog, webhook) |
| 7 | Secure Mode | Activate enforcement — locked until phases 2–6 are complete |
Core Features
1. Program Allowlist
An allowlist entry defines what a program is permitted to do: which files it can access, which directories it can read or write, and which network connections it can make. The HeartSuite Core Secure kernel requires every program to have an allowlist entry before it is permitted to run.
The Dashboard review queues present pending events for approval:
- Programs queue (
[p]) — programs attempting to execute - File Access queue (
[f]) — programs attempting to read or write files - Internet Access queue (
[i]) — programs attempting outbound connections
Each queue uses a tiered review model to manage volume efficiently:
- Tier 1: Individual events shown one at a time with full metadata (package name, description, category, maintainer, install date)
- Tier 2: Grouped events (e.g., “847 file reads from /usr/lib/python3/”) with a representative sample shown
- Tier 3: Informational summary of what is ahead before reviewing
File access is divided into read access and write access. Write access always includes read access. These are approved separately — approving a file read event grants read access; approving a file write event upgrades to write access.
The caching mechanism loads only a single allowlist entry into memory for a running program, even with thousands of concurrent instances, minimising impact on kernel memory.
2. Setup Mode and Secure Mode
HeartSuite Core Secure operates in two modes:
- Setup Mode: The kernel logs all denied actions without blocking them. Use this mode to build the allowlist by reviewing queues and approving legitimate programs and access patterns. The Dashboard guides this process.
- Secure Mode: The kernel enforces the allowlist. Programs without an allowlist entry are blocked. Programs that exceed their permissions are blocked.
Activating Secure Mode requires all review queues to be empty, alerts to be configured, and an active subscription. The Dashboard presents a precondition checklist and requires typing YES (case-sensitive) to confirm.
3. Lockdown
Lockdown protects the integrity of allowlist entries by making them immutable. Once applied, no changes can be made to the allowlist while the server is running — preventing attackers from modifying the security configuration, even with root access.
After activating Secure Mode, the Dashboard offers two reboot options: [r] Reboot (enforcement active, configuration remains editable) or [l] Reboot + Lockdown (enforcement active, configuration sealed with filesystem immutability). Lockdown cannot be reversed at runtime. To make changes, the Dashboard’s Maintenance screen ([t]) guides you through the correct maintenance path — including a guided 3-step process when Lockdown requires booting the Non-HS kernel.
Because access permissions are enforced inside the HeartSuite Core Secure kernel itself, HeartSuite Core Secure cannot be circumvented by any program or user, including root.
4. File Backup and Versioning
HeartSuite Core Secure automatically backs up files in designated directories and prevents all programs from accessing the backups — only HeartSuite Core Secure itself can reach them. The version manager can restore any version of a backed-up file, regardless of whether it was encrypted, deleted, or modified.
5. Secure Script Launchers
Allowlist entries can be created for interpreted code such as Python, PHP, and Perl. HeartSuite Core Secure provides Secure Script Launchers that identify the specific script being run when an interpreter is launched, enabling per-script access control with the same granularity as compiled programs.
Two Setup Paths
Cloud Path: Launch a pre-installed cloud instance. The Dashboard appears immediately. Phase 1 (System Verification) auto-completes. Proceed directly to the review queues.
Local Path: Download from heartsecsuite.com, extract, install, and boot the HeartSuite Core Secure kernel. Run hs-os-boot-setup through multiple reboots (the Dashboard shows a step counter). After Phase 1 completes, the Dashboard appears and both paths merge.
2.2 - Setup Overview
Overview of HeartSuite Core Secure setup process and modes.
Overview: HeartSuite Core Secure must complete a guided setup journey in Setup Mode before it can enforce security in Secure Mode. This page explains why Setup Mode exists, what happens during each phase, and how to reach Secure Mode safely.
Why Setup Mode Is Necessary
HeartSuite Core Secure enforces a default-deny policy: every program, file access, and network connection must be explicitly approved before the system permits it. Immediately after installation, the allowlist is empty. If the system entered Secure Mode at this point, it would block the programs required for boot and shutdown, rendering the system inoperable.
Setup Mode solves this problem. In Setup Mode, HeartSuite Core Secure logs all activity without blocking anything. The administrator reviews events through the Dashboard queues, approves legitimate activity, and builds an allowlist that reflects the system’s actual workload. Once the allowlist is complete, the administrator transitions to Secure Mode with confidence that approved operations will continue uninterrupted.
Setup Mode is the default after installation. HeartSuite Core Secure’s automated backup system also operates during Setup Mode, providing an additional layer of protection even before enforcement begins.
The 7 Phases
HeartSuite Core Secure organizes the setup journey into seven phases. The Dashboard tracks progress through each phase and always displays a Suggested Next Step.
| Phase | Name | Description |
|---|
| 1 | System Verification | Confirms the HeartSuite Core Secure kernel is active and the system is in Setup Mode. Auto-completes on Cloud instances. |
| 2 | Program Allowlisting | Review and approve programs detected during observation from the Dashboard’s Programs queue ([p]). |
| 3 | Script Launchers | Configure Secure Script Launchers for interpreted scripts from the Dashboard’s Launchers screen ([l]), if applicable. |
| 4 | File Access Allowlisting | Review and approve file read and write access events from the Dashboard’s File Access queue ([f]). |
| 5 | Internet Access Allowlisting | Review and approve internet connection events from the Dashboard’s Internet Access queue ([i]). |
| 6 | Alert Configuration | Configure at least one push channel (email, syslog, or webhook) from the Dashboard’s Alert Settings screen ([e]). |
| 7 | Secure Mode | Locked until phases 2 through 6 are complete. Activate via the Dashboard’s Mode Switch screen ([m]). |
Cloud vs. Local Path
Cloud Path
Users who launch a pre-installed HeartSuite Core Secure cloud instance (AWS AMI, GCP image) boot directly into Setup Mode. Phase 1 completes automatically. The Dashboard appears on first login with the current system state and a Suggested Next Step. No manual verification is required.
Local Path
Users who install HeartSuite Core Secure on bare-metal or custom VMs follow a longer path:
- Download and extract the installation package.
- Prepare GRUB and install the HeartSuite Core Secure kernel.
- Run
hs-os-boot-setup, which handles multiple reboots with a step counter. - After Phase 1 completes, the Dashboard appears and the journey merges with the Cloud path.
Both paths converge at the Dashboard after Phase 1. From that point forward, the workflow is identical.
Setup Workflow
The following diagram shows the primary path through the Dashboard and the advanced CLI alternative.
graph TD
A[Install HeartSuite Core Secure] --> B{Cloud or Local?}
B -- Cloud --> C[Boot instance — Phase 1 auto-completes]
B -- Local --> D["Run hs-os-boot-setup — multiple reboots"]
D --> C
C --> E[Dashboard appears — Suggested Next Step]
E --> F["Phase 2: Programs queue — approve programs"]
F --> G["Phase 3: Script Launchers — if applicable"]
G --> H["Phase 4: File Access queue — approve file access"]
H --> I["Phase 5: Internet Access queue — approve connections"]
I --> J["Phase 6: Configure alerts"]
J --> K["Phase 7: Activate Secure Mode"]
K --> L["Lockdown: [r] Reboot or [l] Reboot + Lockdown"]
L --> M{Maintenance needed?}
M -- Yes --> N["Dashboard Maintenance wizard guides through steps"]
N --> K
M -- No --> O[System secured]Switching to Secure Mode
Warning
Complete all allowlisting phases in Setup Mode before switching to Secure Mode. If boot and shutdown programs have not been approved, the system will fail to start or shut down correctly.
When phases 2 through 6 are complete, Phase 7 unlocks on the Dashboard. The Suggested Next Step will prompt you to activate Secure Mode. The mode switch requires typing YES (case-sensitive) to confirm and displays an allowlist summary and pre-condition checklist before proceeding.
After activating Secure Mode, the Dashboard offers two reboot options: [r] Reboot (enforcement active, configuration remains editable) or [l] Reboot + Lockdown (enforcement active, configuration sealed with filesystem immutability). Both are valid configurations depending on your threat model. Lockdown can also be applied later from the Dashboard’s Mode Switch screen ([m]).
Maintenance in Secure Mode
To perform system maintenance after entering Secure Mode, select the Maintenance screen ([t]) from the Dashboard. The Dashboard detects whether Lockdown is active and guides you through the correct path:
- Without Lockdown: The Maintenance screen walks you through a safety checklist, switches to Setup Mode, and reboots. The HeartSuite Core Secure kernel stays active with logging and backups running. Make your changes, then return to Secure Mode from the Dashboard.
- With Lockdown: The Maintenance screen guides you through a 3-step process across two reboots — removing immutable flags on the Non-HS kernel, making changes, then returning to the HeartSuite Core Secure kernel to review new activity. The Dashboard resumes at the correct step after each reboot.
For full details, see Protecting During Maintenance.
2.3 - System Requirements
Hardware and software prerequisites for HeartSuite Core Secure compatibility.
Overview: HeartSuite Core Secure requires an x86 Linux system running a supported distribution — Debian/Ubuntu-derived, Alpine, or RPM-based (RHEL, Fedora, CentOS, Rocky Linux, AlmaLinux, SUSE). It ships with two HeartSuite Core Secure kernels (5.19 and 6.18) and a set of tools that enforce allowlist-based security at the kernel level.
| Component | Supported |
|---|
| Architecture | x86 (64-bit) |
| Distributions | Debian 11, 12, 13; Ubuntu-derived; Alpine Linux; RHEL, Fedora, CentOS, Rocky Linux, AlmaLinux, SUSE, openSUSE |
| Kernels | HeartSuite Core Secure kernel 5.19, HeartSuite Core Secure kernel 6.18 |
HeartSuite Core Secure supports Debian/Ubuntu-derived, Alpine, and RPM-based distributions (RHEL, Fedora, CentOS, Rocky Linux, AlmaLinux, SUSE, openSUSE) on x86.
Kernel
HeartSuite Core Secure is distributed with two HeartSuite Core Secure kernels based on mainline Linux: 5.19 and 6.18. One of these kernels must be booted for HeartSuite Core Secure to function. The Dashboard verifies kernel activation as part of Phase 1 (System Verification) and provides orientation on every boot.
3 - Obtaining and Installing HeartSuite Core Secure
Download, installation steps, and preliminary setup for virtual machines.
Overview: HeartSuite Core Secure installation follows one of two paths depending on your deployment method. Both paths end at the Dashboard, where Phase 1 (System Verification) confirms that the system is ready for allowlisting.
Cloud Path
Launch a pre-configured cloud instance (e.g., AWS AMI, GCP image). The HeartSuite Core Secure kernel is already installed and Phase 1 (System Verification) auto-completes on first boot. The Dashboard appears immediately — skip ahead to the allowlisting queues.
Local Path
Download the HeartSuite Core Secure installer, run it, and reboot multiple times to build the initial allowlist of startup and shutdown programs. This path involves:
- Obtaining HeartSuite Core Secure — Download the installer from the website.
- VM Preparation — Configure GRUB settings for virtual machines on clouds.
- Installation Part 1 — Run the installer and reboot to load the kernel.
- Installation Part 2 — Auto-allowlist startup programs with
hs-os-boot-setup.
After the final reboot cycle, the Dashboard appears and displays the Suggested Next Step to guide you into Phase 2 (Program Allowlisting).
3.1 - Obtaining HeartSuite Core Secure
Download and acquire HeartSuite Core Secure distribution.
Overview: HeartSuite Core Secure is distributed as a single tar file. Download it from the HeartSuite Core Secure website at heartsecsuite.com.
Note
Cloud users who launched a pre-configured instance (AWS AMI, GCP image) already have HeartSuite Core Secure installed. Skip this step and proceed directly to the Dashboard.
Access to the tar file via wget is disabled by the hosting provider. Use the download form on the website to obtain the file.
3.2 - VM Preparation
Preliminary setup for virtual machines in the cloud.
Overview: This step applies to the Local Path only. Cloud VMs provisioned from a pre-configured image do not require GRUB changes.
Installation of HeartSuite Core Secure requires rebooting several times. The installation procedure uses the GRUB boot loader, which can reference disks by labels or UUIDs. Using labels on cloud deployments can result in boot failures. Edit the GRUB settings for VMs provisioned in the cloud before proceeding.
Configuring GRUB Settings
Comment out the following line in /etc/default/grub:
GRUB_DISABLE_LINUX_UUID=true
by preceding it with a # symbol:
#GRUB_DISABLE_LINUX_UUID=true
Then rebuild GRUB:
Note
Cloud VMs may fail to boot due to GRUB settings. Correcting this ensures reliable reboots during the installation process.
3.3 - Installing HeartSuite Core Secure – Part 1
Extract the HeartSuite Core Secure tar file, run the installer, and reboot to load the HeartSuite Core Secure kernel.
Overview: Run the installer bundle and reboot to load the HeartSuite Core Secure kernel. This is the first step of Phase 1 (System Verification) on the Local Path.
Note
Cloud users skip this step entirely. The HeartSuite Core Secure kernel is pre-installed and Phase 1 auto-completes on first boot. Proceed directly to the Dashboard.
Untar the distribution tar file:
tar xvf 6.18-HeartSuite-1.6.4.tar -m
Run the Installer
Run the installer from the extracted directory (as root):
sudo bash heartsuite-install-bundle.sh
The installer sets up the HeartSuite Core Secure kernel, tools, and management UI. When it finishes, it displays === Bundle Installation Complete ===.
Reboot into the HeartSuite Core Secure Kernel
Reboot the system:
When the GRUB menu appears, select the HeartSuite Core Secure kernel:
- Select Advanced options for Debian GNU/Linux
- Select Debian GNU/Linux, with Linux 5.19.6-HeartSuite-1.0
Tip
If the GRUB menu does not appear automatically, hold Shift (BIOS) or press Esc immediately after the system starts.
After boot, the HeartSuite Core Secure management UI appears on the console. The Setup Wizard starts automatically — proceed to Installation Part 2.
If the Reboot Fails
If the system does not reboot or hangs, try these steps:
- Verify the installer completed without errors before rebooting.
- Check GRUB configuration for VMs (uncomment
GRUB_DISABLE_LINUX_UUID if needed and run update-grub). - Boot into recovery mode and run
fsck to check file systems. - After a successful boot, the Dashboard confirms the HeartSuite Core Secure kernel is loaded. The Safety Banner shows the current mode and the System Info Strip shows “Kernel: HS”.
3.4 - Installing HeartSuite Core Secure – Part 2
Auto-allowlisting essential startup programs with hs-os-boot-setup.
Overview: After rebooting into the HeartSuite Core Secure kernel, build the initial allowlist of startup and shutdown programs. This completes Phase 1 (System Verification) on the Local Path. The Dashboard then appears and guides you into Phase 2 (Program Allowlisting).
Note
Cloud users skip this step. Phase 1 auto-completes on a pre-configured cloud instance, and the Dashboard is ready immediately.
Building the Initial Allowlist
After booting into the HeartSuite Core Secure kernel, the management UI appears on the console automatically. The System Setup screen opens on first boot.
Each cycle follows the same pattern:
- Press
[a] to run the setup step — the UI scans startup and shutdown logs and adds the programs it finds to the allowlist. - When the step completes, the UI reboots the system automatically (5-second countdown — press any key to cancel if needed).
- At the GRUB menu, select the HeartSuite Core Secure kernel again.
- The System Setup screen resumes at the next step automatically.
Repeat until the setup screen shows Setup Complete in green — no manual commands are needed between cycles.
After three to five cycles (depending on the distribution), the setup screen confirms that all startup and shutdown programs have been allowlisted.
After Phase 1 Completes
When the setup screen shows the completion message, press [q] to return to the Dashboard. The Dashboard displays your current progress and the Suggested Next Step guides you into Phase 2 (Program Allowlisting).
If the UI Does Not Appear After Boot
If the management UI does not appear on the console after booting into the HeartSuite Core Secure kernel:
- Switch to TTY2 (
Ctrl+Alt+F2), log in as root, and check the service:systemctl status heartsuite-ui.service
- Verify the HeartSuite Core Secure kernel is loaded:Expected output:
5.19.6-HeartSuite-1.0 - If the wrong kernel booted, reboot and select the correct entry from the GRUB menu.
If the Setup Screen Does Not Progress
If after several cycles the setup screen does not show the completion message:
- Check the Dashboard’s Programs review queue (
[p]) for any pending events and approve missing programs. - Verify the HeartSuite Core Secure kernel is loaded (the Dashboard System Info Strip shows “Kernel: HS”).
Warning
Completing these reboot-and-review cycles is essential before switching to Secure Mode. If the initial allowlist is incomplete, the system may hang on boot or shutdown after the mode switch.
4 - Verifying Installation and Basic Setup
Checking HeartSuite Core Secure activation and initial configuration.
Overview: Phase 1 (System Verification) confirms that HeartSuite Core Secure is active and the system is ready for allowlisting. On most paths, this phase completes automatically.
What Phase 1 Checks
System Verification validates the following conditions:
- The HeartSuite Core Secure kernel is loaded and active
- The system is in Setup Mode (logging only, nothing blocked)
- Core HeartSuite Core Secure services are running
- The allowlist database is accessible
These checks confirm that the system is ready. No user action is required — Phase 1 completes automatically when all conditions are met.
Cloud vs Local Verification
Cloud Path: When you launch a pre-installed HeartSuite Core Secure cloud instance, Phase 1 completes automatically on first boot. The Dashboard appears with a welcome message confirming HeartSuite Core Secure is active and suggesting the next step.
Local Path: After completing the local installation process (download, GRUB preparation, kernel install, hs-os-boot-setup with its multiple reboots), the Dashboard appears once Phase 1 conditions are met. Both paths merge at the Dashboard after Phase 1.
Verifying via the Dashboard
The Dashboard provides immediate verification of activation, current mode, and phase status. It shows:
- Safety Banner: Displays current system state at the top of the screen
- Phase Progress: Shows Phase 1 as Complete, In Progress, or Not Started
- System Info Strip: Displays kernel type, current mode, time in mode, and lockdown status
- Suggested Next Step: Directs you to begin allowlisting once verification is complete
No manual verification command is required. The Dashboard surfaces HeartSuite Core Secure state automatically.
Safety Banner States
The Safety Banner appears as a full-width, high-contrast bar at the top of the Dashboard. Its content depends on the current system state:
| State | Banner |
|---|
| Setup Mode | SETUP MODE – logging only, nothing is blocked |
| Secure Mode (no Lockdown) | SECURE MODE – Lockdown not applied |
| Secure Mode + Lockdown | No banner (silence means safety) |
| Non-HS kernel | NON-HS KERNEL – HeartSuite Core Secure is not active. No enforcement. No logging. No backups. |
System Info Strip
Below the Safety Banner, the System Info Strip provides orientation at a glance:
Kernel: HS Mode: Setup — active for 3d 7h Lockdown: —
- Kernel:
HS (HeartSuite Core Secure kernel) or Non-HS (standard kernel) - Mode: Setup or Secure, with time in current mode
- Lockdown:
— (Setup Mode), Not applied (Secure Mode without Lockdown), or Applied (Secure Mode with Lockdown)
What to Do if Verification Fails
If Phase 1 does not complete, or the Safety Banner shows a state you did not expect (for example, “NON-HS KERNEL” when you intended to boot HeartSuite Core Secure):
Check the Dashboard’s System Info Strip — it shows the kernel type (HS or Non-HS). If it shows Non-HS, reboot and select the HeartSuite Core Secure kernel from the GRUB menu.
Check that the HeartSuite Core Secure systemd service is running:
systemctl status heartsuite
For local installations, verify that all hs-os-boot-setup steps completed. hs-os-boot-setup uses a step counter across reboots — run it again and check the output.
If the Dashboard shows “UNKNOWN STATE — protection status cannot be determined”, follow the Suggested Next Step displayed on the Dashboard.
If the issue persists, we’re happy to help — contact support at support@heartsecsuite.com.
Note
For advanced troubleshooting, you can verify kernel-level activation directly:
The Dashboard provides this same information in the Safety Banner and System Info Strip.
5 - Allowlisting Programs
Adding programs to the allowlist for secure execution.
Overview: Allowlisting defines which programs can run, which files they can access, and which network destinations they can reach. The Dashboard guides you through each allowlisting phase and tracks your progress.
graph TD
A[Dashboard] --> B[Phase 2: Programs queue]
A --> C[Phase 4: File Access queue]
A --> D[Phase 5: Internet Access queue]
B --> E[Approve or skip each event]
C --> E
D --> E
E --> F[Dashboard updates pending counts]Allowlisting spans three phases of the HeartSuite Core Secure setup process:
- Phase 2 – Program Allowlisting (
[p]): Approve which programs are permitted to execute. - Phase 4 – File Access Allowlisting (
[f]): Approve which files and directories each program can read or write. - Phase 5 – Internet Access Allowlisting (
[i]): Approve which outbound internet destinations each program can reach.
The Dashboard is the entry point for all three phases. It shows pending event counts for each queue and provides a Suggested Next Step that directs you to the queue that needs attention. Each review queue is a screen within the Dashboard that uses a tiered model: individual events with full metadata (Tier 1), grouped events with samples (Tier 2), and informational summaries (Tier 3).
Key Guides
5.1 - Allowlisting Basics
Overview and basic procedures for allowlisting programs in HeartSuite Core Secure.
Overview: HeartSuite Core Secure requires you to allowlist programs before they can execute, access files, or make network connections. The Dashboard and its review queues walk you through this process with full metadata and tiered grouping.
How Allowlisting Works
In Setup Mode, HeartSuite Core Secure logs every program execution, file access attempt, and outbound network connection without blocking anything. These logged events populate three review queues visible from the Dashboard:
- Programs queue (
[p]) – programs that attempted to execute - File Access queue (
[f]) – programs that attempted to read or write files - Internet Access queue (
[i]) – programs that attempted outbound connections
The Dashboard shows pending event counts for each queue and provides a Suggested Next Step directing you to the queue that needs attention first.
The Review Process
Starting a Review
The Dashboard displays pending counts for each queue. The Suggested Next Step directs you to the queue that needs attention first. Select a queue to begin reviewing.
Single-Key Actions
The footer shows the primary actions available at any point:
| Key | Action |
|---|
[a] | Approve the event |
[s] | Skip for now (defer without approving) |
[n] | Navigate to the next denied event — Secure Mode only |
[?] | Explain — what approving this event means |
[q] | Return to the Dashboard |
Two additional keys appear contextually, not in the footer:
| Key | When available |
|---|
[v] | View all — shown inline on Tier 2 grouped prompts; lists every event in the group before you approve |
[u] | Undo — available for 5 seconds after an approval; cancels the last approval and returns the event to the queue |
Every review item displays metadata directly in the primary prompt – you do not need to press a key to see it. The fields shown include:
| Field | Description |
|---|
| Package | Package name and version from the distro database |
| Description | One-line package summary |
| Category | Package section (e.g., “editors”, “web”, “python”) |
| Maintainer | Package maintainer string |
| Homepage | Package homepage URL |
| Installed | Date the package was installed or last updated |
When a program has no entry in any package database, HeartSuite Core Secure displays the raw file path with “(no package)” in the metadata fields. Missing metadata is never hidden – the absence of information is itself a signal.
Sort Cohort Labels
Within each queue, programs are grouped under cohort headers in the sidebar. These groups determine the order you encounter events, placing items that need the most investigation first:
| Cohort | Meaning |
|---|
| Unknown origin | Program has no entry in any known package database. No metadata beyond the file path. |
| Installed after OS | Program belongs to a package installed after the OS provisioning date. |
| Installed with OS | Program belongs to a package whose install date matches the inferred OS provisioning date. |
| HeartSuite Core Secure | File path falls under /.hs/. Origin is known; no investigation needed. Sorted last. |
The sort order is a workflow convenience that determines which programs appear first. It is not a trust ranking and does not affect the approval mechanism. Every program receives the same approve and skip options.
Tiered Review Model
The review queues use a tiered model to handle large numbers of events without requiring blind bulk approval. Volume is managed through intelligent grouping, not through approving things you cannot see.
Tier 1 – Individual Review
Each event is presented one at a time with full metadata. Example for a program execution event:
Program attempted to execute:
/usr/bin/nano
Package: nano 7.2-1 -- small, friendly text editor
Attempts: 3
This program has not been allowlisted.
[a] Approve execution
[s] Skip for now
[?] What does approving this mean?
Tier 2 – Grouped Review
Related events are grouped together (e.g., “847 file reads from /usr/lib/python3/”). HeartSuite Core Secure shows a sample of the grouped events so you can confirm the grouping makes sense before approving. The [v] View all option is shown inline on the grouped prompt for users who want complete visibility before approving.
When the volume of remaining events is large, HeartSuite Core Secure presents a summary of what is ahead — total counts and a breakdown by program — before you begin reviewing. This is an orientation view, not an approval surface. Press [a] or [Enter] to proceed into individual review.
Note
Tiers and cohort sort order are independent dimensions. A program in any cohort may appear in any tier. For example, a program with no package entry that generated 200 file read events would appear in the “Unknown origin” cohort (sorted first) but could be presented as a Tier 2 group (because the events are groupable by directory).
Programs Queue (Phase 2)
When a program executes without an allowlist entry, HeartSuite Core Secure logs it. The Programs queue presents these events for review. Example log entry:
[Setup Notice - Add program to Allowlist?] Not Whitelisted: /usr/bin/nano
From the Dashboard, select the Programs queue ([p]). Each program is presented with its package metadata. Press [a] to approve execution or [s] to skip.
File Access Queue (Phase 4)
After a program is allowlisted, HeartSuite Core Secure begins logging every file it accesses. Programs typically access shared libraries, configuration files, and data files. The File Access queue presents these events with two distinct permission levels:
- Read access – the default first approval level when approving a file read event.
- Write access – always includes read access. Granted when approving a file write event.
Example review prompt for a file read event:
/usr/bin/python3 attempted to read:
/usr/lib/python3/dist-packages/apt/__init__.py
Program: python3 3.11.2-1 -- interactive high-level object-oriented language
File owner: python3-apt 2.6.0
Attempts: 12
This file access has not been allowlisted.
[a] Approve read access
[s] Skip for now
[?] What does approving this mean?
Example review prompt for a file write event:
/usr/bin/journald attempted to write:
/var/log/journal/machine-id/system.journal
Program: systemd 252-19 -- system and service manager
File owner: systemd 252-19
Attempts: 3
This file access has not been allowlisted.
[a] Approve read and write access
[s] Skip for now
[?] What does approving this mean?
From the Dashboard, select the File Access queue ([f]).
Tip
Tier 2 grouped review handles the common case where a program reads many files from the same directory (e.g., /usr/lib/python3/). HeartSuite Core Secure groups these events together and shows a sample, so you can approve directory-level access without reviewing each file individually.
Internet Access Queue (Phase 5)
Programs that attempt outbound internet connections are logged with the destination IP address and reverse DNS hostname. The Internet Access queue presents these for review.
Example review prompt:
/usr/bin/curl attempted an outbound connection:
Destination: 93.184.216.34 -- example.com (Edgecast, US)
Program: curl 7.88.1-10 -- command line tool for transferring data with URL syntax
Attempts: 7
This destination has not been allowlisted for this program.
[a] Approve this connection for /usr/bin/curl
[s] Skip for now
From the Dashboard, select the Internet Access queue ([i]).
Note
This edition supports specific IPv4 and IPv6 addresses only.
Progress and Completion
While working through a queue, a progress indicator shows your position:
Programs: reviewing 3 of 7 ───────────────────────────────
When a queue is empty:
All program events resolved.
Returning to Dashboard…
The Dashboard automatically updates pending counts as you work. Allow several days to a week of observation in Setup Mode to capture events from systemd timers, cron jobs, and infrequent services before proceeding to Secure Mode.
Review Queues in Secure Mode
In Secure Mode the review queues are read-only. [a] and [s] do nothing — you cannot approve events while enforcement is active. The queues show denied events (actions HeartSuite Core Secure blocked), not pending events awaiting review.
Use [n] to navigate through denied events one by one. To approve a denied program, file access, or network destination, enter a maintenance period first via the Maintenance screen ([t]) — this switches to Setup Mode where the review queues become interactive again.
Note
Denied events in Secure Mode are a normal part of operation, not failures. A denied event means HeartSuite Core Secure blocked something that was not on the allowlist. Review it to decide whether to approve it or leave it blocked.
Advanced: Manual Allowlist Management
For users who prefer direct CLI manipulation, hs-manage-allowlist provides a browser and editor for existing allowlist entries. See its built-in help:
# hs-manage-allowlist --help
5.2 - Using HeartSuite Core Secure Log
Monitoring permission errors and adding program access via the HeartSuite Core Secure activity log.
Overview: The Dashboard and its review queues are the primary way to review and resolve permission events. The HeartSuite Core Secure activity log (/.hs/sys/hs-activity-log.txt) is available for advanced troubleshooting and for understanding what the review queues process behind the scenes.
The Dashboard shows pending event counts for each queue and provides a Suggested Next Step. Select a queue to begin reviewing.
The three review queues — Programs ([p]), File Access ([f]), and Internet Access ([i]) — parse log data automatically, enrich it with package metadata, and present events through the tiered review model. You do not need to read raw log files to complete allowlisting.
For details on the review process, single-key actions, and the tiered model, see Allowlisting Basics.
The HeartSuite Core Secure Activity Log (Advanced)
The activity log at /.hs/sys/hs-activity-log.txt records all permission events in text format. It is useful for:
- Confirming that a specific program or file access was logged
- Troubleshooting when the Dashboard shows zero pending events but a program still fails
- Scripting and automation workflows that need raw event data
Program execution events:
[Setup Notice - Add program to Allowlist?] Not Whitelisted: /usr/bin/nano
File access events:
[Setup Notice - Add to Allowlist?] File Access Attempt Logged: Program: /usr/bin/nano; File: /etc/ld.so.cache
Network connection events:
[Setup Notice - Add to Network Allowlist?] Network Connection Attempt Logged by /usr/bin/wget; IP: 45.60.22.168
Viewing the Log
The log requires root access to read:
# cat /.hs/sys/hs-activity-log.txt
To filter for specific programs:
# grep nano /.hs/sys/hs-activity-log.txt
Tip
The review queues process these same log entries automatically with metadata enrichment and tiered grouping. Use the raw log only when you need to verify specific entries or troubleshoot unexpected behavior.
When to Use the Raw Log
| Scenario | Recommended approach |
|---|
| Routine allowlisting | Dashboard and review queues |
| Checking whether a specific event was captured | Raw log with grep |
| Understanding why a program fails after allowlisting | Raw log to identify missing file or network permissions |
| Bulk scripting or automation | Raw log as input to batch_record_add.py (see Batch Allowlisting Tools) |
5.3 - Using the Kernel Log
Accessing permission errors in the kernel log with dmesg.
Overview: The Dashboard and its review queues automatically process kernel log events alongside HeartSuite Core Secure log events. The kernel log (dmesg) serves as a fallback for advanced troubleshooting when events do not appear in the HeartSuite Core Secure activity log.
Dashboard Handles Kernel Events Automatically
The Dashboard’s review queues (Programs [p], File Access [f], Internet Access [i]) collect events from both the HeartSuite Core Secure activity log and the kernel log. There is no need to read dmesg output manually during routine allowlisting — all events appear in the appropriate review queue with full metadata.
For details on the review process, see Allowlisting Basics.
When to Use the Kernel Log Directly
Depending on the distribution, some permission events may appear only in the kernel log rather than in /.hs/sys/hs-activity-log.txt. The kernel log is useful as a fallback when:
- A program fails but no corresponding event appears in the HeartSuite Core Secure activity log
- The HeartSuite Core Secure activity log has been cleared or rotated
- Troubleshooting requires correlating HeartSuite Core Secure events with other kernel messages
Reading HeartSuite Core Secure Messages from dmesg
To extract only HeartSuite Core Secure-related messages from the kernel log:
# dmesg | grep HEARTSUITE
The output format matches the HeartSuite Core Secure activity log entries. For example:
[Setup Notice - Add program to Allowlist?] Not Whitelisted: /usr/bin/nano
[Setup Notice - Add to Allowlist?] File Access Attempt Logged: Program: /usr/bin/nano; File: /etc/ld.so.cache
[Setup Notice - Add to Network Allowlist?] Network Connection Attempt Logged by /usr/bin/wget; IP: 45.60.22.168
Note
The kernel log is cleared on reboot. If events need to persist, the HeartSuite Core Secure activity log at /.hs/sys/hs-activity-log.txt retains entries across reboots.
Recommended Approach
| Scenario | Recommended approach |
|---|
| Routine allowlisting | Dashboard and review queues |
| Event missing from HeartSuite Core Secure log | Check dmesg for kernel-level entries |
| Correlating with other kernel messages | dmesg with broader filtering |
| Post-reboot investigation | HeartSuite Core Secure activity log (persists across reboots) |
Allow several days to a week of observation in Setup Mode. Systemd timers, cron jobs, and infrequent services may not generate events until they run. The review queues accumulate these events automatically as they occur.
5.4 - Batch Allowlisting Tools
Tools for bulk allowlisting programs and managing logs.
Overview: The Dashboard review queues handle high-volume allowlisting through Tier 2 grouped review, which is the modern equivalent of batch processing. Legacy batch scripts remain available for advanced users and automation workflows.
Tier 2 Grouped Review (Primary)
The review queues group related events automatically. For example, when a program generates hundreds of file read events from the same directory tree, Tier 2 presents them as a single group with a sample of the individual entries. This allows directory-level approval without reviewing each file individually – and without blind bulk approval, because a sample is always shown.
To start a grouped review session, select the queue with pending events from the Dashboard. The [v] View all action is always available within a grouped review for users who want complete visibility before approving.
For details on the tiered model and single-key actions, see Allowlisting Basics.
batch_record_add.py (Advanced / Legacy)
For automation workflows or environments where scripted allowlisting is preferred, the batch_record_add.py utility creates allowlist entries from the HeartSuite Core Secure activity log in bulk. This tool is located in /.hs/sys/.
# /.hs/sys/batch_record_add.py
Warning
batch_record_add.py processes raw log entries without the metadata enrichment and tiered grouping provided by the Dashboard review queues. Use it only when you have independently verified the events in the log and understand what you are approving.
hs-manage-allowlist (Advanced)
The hs-manage-allowlist command provides a browser and editor for existing allowlist entries. It is not a review tool – it operates on entries that have already been created. Use it to inspect, modify, or remove existing entries:
# hs-manage-allowlist --help
Root Access Considerations
The /.hs/sys directory is owned by root. When working with batch tools or direct allowlist management, start a root shell to avoid permission issues:
Exit the root shell by pressing Ctrl-D when finished.
Choosing the Right Approach
| Approach | Best for |
|---|
| Dashboard review queues (Tier 2 grouped) | High-volume allowlisting with metadata and samples |
| Dashboard review queues (Tier 1 individual) | Careful, per-event review with full context |
batch_record_add.py | Scripted automation, reproducible deployments |
hs-manage-allowlist | Inspecting or modifying existing allowlist entries |
6 - Network and Remote Access
Reviewing and approving internet destinations for each program.
Overview: HeartSuite Core Secure blocks all outbound network connections by default. No program can connect to any destination unless you have explicitly approved it. The Dashboard’s Internet Access queue ([i]) guides you through reviewing and approving destinations for each program as part of Phase 5.
How Network Allowlisting Works
In Setup Mode, HeartSuite Core Secure logs every outbound connection attempt without blocking it. These events appear in the Dashboard’s Internet Access queue. In Secure Mode, any connection to a destination not on the allowlist is blocked and an alert is generated.
Network permissions are per-program and per-destination. Approving 93.184.216.34 for curl does not allow wget to connect to the same address — each program must have its own approved destinations.
Using the Internet Access Queue
Select the Internet Access queue from the Dashboard ([i]). Each event shows:
- Program — the full path and package metadata (name, version, description, maintainer)
- Destination — the IP address with reverse DNS hostname (e.g.,
93.184.216.34 — example.com (Edgecast, US)) - Attempts — how many times this connection was attempted
Example review prompt:
/usr/bin/curl attempted an outbound connection:
Destination: 93.184.216.34 — example.com (Edgecast, US)
Program: curl 7.88.1-10 — command line tool for transferring data with URL syntax
Attempts: 7
This destination has not been allowlisted for this program.
[a] Approve this connection for /usr/bin/curl
[s] Skip for now
Press [a] to approve the destination for that program, or [s] to skip it for later. The Dashboard updates the pending count as you work.
When the Internet Access queue is empty, the Dashboard marks Phase 5 as complete and updates the Suggested Next Step.
Walkthrough: Allowlisting wget
Suppose wget is on the program allowlist but no network destinations have been approved. Running:
# wget https://example.com/agreement.html
produces a log event:
[Setup Notice - Add to Network Allowlist?] Network Connection Attempt Logged by /usr/bin/wget; IP: 45.60.22.168
This event appears in the Internet Access queue with the destination 45.60.22.168 — example.com. After you approve it, the same wget command completes without generating a new event for that IP address.
Reviewing Existing Network Permissions
To browse or edit network destinations that have already been approved, use the Allowlist screen ([a]) from the Dashboard. Existing entries are grouped by category — Programs, File Access, and Internet Access — so you can quickly find and modify network permissions.
Note
This edition supports specific IPv4 and IPv6 addresses only.
Advanced: Direct Allowlist Management
For automation workflows or bulk changes, hs-manage-allowlist provides direct CLI access:
# hs-manage-allowlist add -x /usr/bin/wget -n 45.60.22.168
Or look up the entry number first:
# hs-manage-allowlist list | grep wget
277
/usr/bin/wget
# hs-manage-allowlist add -r 277 -n 192.142.166.196
For general allowlisting concepts (program execution, file access, write permissions), see Allowlisting Basics.
7 - Script Launchers and Python Setup
Setting up secure launchers for scripts like Python and Perl.
Overview: Without Secure Script Launchers, every Python or Perl script would share the interpreter’s permissions — if python3 is allowed to access the network, every Python script can access the network. Secure Script Launchers solve this by giving each script its own allowlist entry, so you control exactly what each script can do. The Dashboard presents this as Phase 3 when script interpreters are detected on the system.
Key Guides
Dive into specific setup and reference areas:
7.1 - How Script Launchers Work
Explanation of HeartSuite Core Secure’s secure script launchers and their security benefits.
Overview: Without Secure Script Launchers, every script run by an interpreter (Python, Perl, PHP) shares the interpreter’s permissions. If python3 is allowed to access the network, every Python script inherits that access. Secure Script Launchers solve this by giving each script its own allowlist entry.
The Problem
Interpreter programs (Python, PHP, Perl, Bash) execute code from files. When you allowlist python3, you grant permissions to the interpreter — and every script it runs inherits those permissions. A malicious Python script would have the same file and network access as your legitimate scripts.
The Solution
Secure Script Launchers create a wrapper that applies the individual script’s allowlist entry instead of the interpreter’s:
- Each script is treated like a standalone program with its own permissions
- One script can have network access while another cannot
- Interpreters can be blocked entirely, ensuring only allowlisted scripts run
Using Launchers
HeartSuite Core Secure provides Secure Script Launchers for each supported interpreter (e.g., hs-python-launcher). Once activated via the Dashboard’s Launchers screen ([l]), every call to that interpreter automatically routes through the launcher — applying per-script permissions without any change to how you run scripts.
See Configuring Script Launchers for the activation steps.
7.2 - Configuring Script Launchers
Setting up HeartSuite Core Secure script launchers for secure script execution.
Overview: When the Dashboard detects script interpreters (Python, Perl, PHP) in use without launcher configuration, it presents Phase 3 as the Suggested Next Step. The Launchers screen ([l]) shows detected interpreters and activates launchers in one step.
Dashboard-Guided Setup
From the Dashboard, select the Launchers screen ([l]). The screen shows two panels:
- Script Launcher Status — how many interpreters were detected and how many launchers are pending activation
- Detected Interpreters — the list of interpreter paths found in the activity log, with their current launcher status
When launchers are pending, the status panel shows:
2 interpreter(s) found across 47 log event(s).
2 launcher(s) available but not yet activated.
[a] Activate [s] Skip
Press [a] to activate all pending launchers at once. HeartSuite Core Secure registers each interpreter with its Secure Script Launcher — from this point forward, every call to that interpreter automatically routes through the launcher, applying per-script permissions.
After activation, the result panel confirms which launchers were activated:
Activated 2 Secure Script Launcher(s): python3, perl.
Each interpreter now routes through its launcher. Scripts using
these interpreters will be reviewed on their own permission terms.
Press [q] to return to the Dashboard. Phase 3 is marked complete automatically.
If No Script Events Are Detected
If none of the known interpreters have appeared in the activity log yet, the screen shows:
No script interpreter log events detected.
You may proceed to the next phase without activating any launchers.
Phase 3 is not required if your system does not use script interpreters. The Dashboard updates the Suggested Next Step to proceed to Phase 4.
Skipping Launcher Setup
Press [s] to skip without activating. HeartSuite Core Secure notifies you:
Script launcher activation skipped.
Interpreters will remain blocked in Secure Mode until approved.
You can return to the Launchers screen ([l]) at any time to activate launchers before switching to Secure Mode.
Advanced: Testing a Launcher Directly
Before or after Dashboard activation, you can run a script through a specific launcher directly to verify it works under its own permissions:
# hs-python-launcher /path/to/your-script.py
This applies the script’s allowlist entry rather than the interpreter’s. Running the same script with python3 directly uses the interpreter’s broader permissions. This is useful for verifying per-script permissions in isolation before relying on them in Secure Mode.
7.3 - Included Script Launchers
List of available secure script launchers in HeartSuite Core Secure.
Overview: HeartSuite Core Secure ships with Secure Script Launchers for common interpreters. The Dashboard presents these during Phase 3 (if applicable) when the corresponding interpreters are detected on the system.
Available Launchers
- Python 3 (
hs-python-launcher) - Python 2 (
hs-python2-launcher) - Perl (
hs-perl-launcher) - PHP (
hs-php-launcher)
For questions about launcher support for other interpreters, contact us at support@heartsecsuite.com — we’re happy to help.
8 - Alert Configuration
Configuring push alert channels for security events in Secure Mode.
Overview: Phase 6 requires at least one push alert channel to be configured before Secure Mode can be activated. Alerts notify you of security-relevant events when no one is connected to the Dashboard. On a stable system in Secure Mode, expect roughly 1–5 email alerts per week — alert volume is intentionally low.
How Alerts Work
Alerts are a push channel for events that warrant immediate attention. They are not a secondary log stream and not a replacement for the Dashboard.
Alerts are suppressed entirely in Setup Mode. Setup Mode is a high-volume observation phase — logging everything without blocking. Alerting during this phase would produce constant noise before the allowlist is complete. Alerts become active only when Secure Mode is enabled.
Configuring Alerts
From the Dashboard, select the Alert Settings screen ([e]). The screen has two tabs: Email and Fleet.
Email Tab
Configure SMTP credentials to receive email alerts directly. Required fields:
- Node ID — defaults to the system hostname; set a recognisable identifier (e.g.,
prod-web-03) so email subjects immediately identify the source machine when managing multiple servers - SMTP server and Port (default 587)
- Sender and Recipient addresses
- Password (masked on entry; never displayed after saving)
Select Save to store the configuration. HeartSuite Core Secure validates all fields but does not attempt a live connection at save time. Select Test to send a test email — this is the only moment where SMTP connectivity is verified. If the test fails, the exact SMTP error code is shown:
Test email failed: [535 Authentication credentials invalid]
Check your credentials and try again. No alerts have been sent.
Once configured, the tab shows current settings with the password displayed as (set). Select Edit to modify — the password field is always blank when editing. You must re-enter the password to prevent credentials from appearing in the terminal scroll buffer.
Fleet Tab
Configure syslog and webhook delivery for fleet and SIEM integrations. All channels are independent — enable any combination.
Syslog — A toggle (Enabled/Disabled). When enabled, HeartSuite Core Secure writes all alert events to the system log via /dev/log, using the heartsuite-alert ident, LOG_AUTH facility, and LOG_WARNING severity. No additional configuration is needed on the HeartSuite Core Secure node. After enabling, the Alert Settings screen provides an rsyslog forwarding rule example for your SIEM.
Verify syslog delivery with:
journalctl -t heartsuite-alert --since "1 minute ago"
To forward to a SIEM, configure an rsyslog output rule in /etc/rsyslog.d/heartsuite.conf. See the rsyslog omfwd forwarding module documentation for forwarding syntax, and your SIEM’s own documentation for the receiving end:
Webhook — Enter an HTTPS URL. HeartSuite Core Secure POSTs a JSON payload to this URL on every alert event. HTTP (non-TLS) URLs are rejected. Example payload:
{
"node_id": "prod-web-03",
"event_type": "new_program_blocked",
"timestamp": "2026-03-31T14:22:00Z",
"mode": "Secure Mode",
"lockdown": false,
"paths": ["/tmp/dropper", "/tmp/payload"],
"count": 2
}
To receive this payload, create an integration in your incident management tool and paste the endpoint URL into the Webhook field:
Status JSON — A passive monitoring surface at /.hs/sys/hs-status.json, updated every 60 seconds. Ansible, Nagios, and Zabbix can read this file via SSH pull. No configuration required — always active when the alert daemon is running. This is read-only; it does not push notifications.
Tip
At fleet scale, syslog is the primary integration path: enable syslog on all nodes, forward via rsyslog to your SIEM, and alert centrally from the SIEM’s own rule engine. Webhook covers incident management tools (PagerDuty, OpsGenie). Status JSON covers Ansible health checks. Email is for single-machine deployments or as a supplementary channel.
When Phase 6 is complete — at least one push channel configured — the Dashboard marks Phase 6 as complete and unlocks Phase 7 (Secure Mode).
What Triggers an Alert
Tier 1 — Administrative State Changes
These events fire immediately on every configured channel, regardless of accumulation windows or digest mode:
| Event | When it fires |
|---|
| Mode switch (Setup → Secure or Secure → Setup) | Immediately on mode change |
| Lockdown activated or deactivated | Immediately on state change |
| New allowlist file pushed while Lockdown is active | On detection |
Tier 2 — Anomalous Activity in Secure Mode
These events apply a threshold filter and are active in Secure Mode only:
| Event | Trigger condition |
|---|
| Previously unseen program blocked | A program path appears in the denial log that has never appeared in any prior log session |
| Network burst to new destinations | A single program generates blocked connections to previously unseen destinations within a 2-hour window |
| Critical file version created outside maintenance | A new backup version is created for a file under /etc/, /bin/, /usr/bin/, /sbin/, /lib/, or /usr/lib/ while in Secure Mode with no maintenance window open |
Never alerted under any circumstances:
- Any event in Setup Mode
- Repeated blocks of the same program–destination pair already seen in the current session
- File version activity under
/tmp/, /var/tmp/, or /dev/shm/ - Dashboard sessions opened or closed
- Successful allowlist approvals
How Alerts Are Delivered
Email — 5-Minute Accumulation Window
Tier 2 events are grouped before delivery. A dropper that installs 40 payloads in 90 seconds produces one email — “40 previously unseen programs blocked in 90 seconds” — not 40 individual messages. Volume and velocity are the attack signal; 40 separate emails fragment that signal into noise.
- The 5-minute window starts on the first Tier 2 event of a given type
- Additional events of the same type within that window are added to the pending bundle
- At window close, one email is dispatched covering all accumulated events
- Events of different types accumulate independently — a network burst does not delay a file modification alert
Digest mode: If more than 3 Tier 2 emails are dispatched within a single hour, HeartSuite Core Secure switches to digest mode for the remainder of that hour. All further Tier 2 events are queued and delivered as one digest email at the hour’s end. Tier 1 events are never held — mode switches and lockdown changes are always delivered immediately.
The 5-minute window and hourly cap are fixed, not user-configurable.
Syslog and webhook emit every event immediately, without grouping or windowing. SIEM platforms (Splunk, Elastic) and incident management tools (PagerDuty, OpsGenie) apply their own correlation and deduplication — grouping events before they reach these systems removes information they need.
Note
Alerts begin flowing only after Secure Mode is activated. If a configured channel appears silent during Setup Mode, that is expected — not a misconfiguration.
9 - Licensing and Subscription
Activating subscriptions for Secure Mode.
Overview: A subscription is required to activate Secure Mode (Phase 7). The Dashboard shows your current subscription status alongside phase progress and alerts.
Subscription
A subscription is required before you can switch from Setup Mode to Secure Mode. Phase 7 (Secure Mode) is locked until phases 2-6 are complete and a valid subscription is activated.
The subscription is a simple text file. One subscription can cover up to 9999 servers – at the time of purchase, you specify how many servers the subscription covers. You can purchase additional subscriptions if needed.
After downloading the subscription file, copy it to each server it covers. Regardless of the original filename, it must be copied as HS_license.txt in the /.hs/sys directory. For example:
# sudo cp MyCompany_HS_subscription_3-10-26.txt /.hs/sys/HS_license.txt
After copying the subscription file, activate it using hs-activate-subscription. The command requires the IP address of the HeartSuite Core Secure Activation Server and the port number (6121). At the time of this writing, the IP is 172.232.3.4. Check the HeartSuite Core Secure website for current connection details.
# sudo /.hs/sys/hs-activate-subscription 172.232.3.4 6121
If activation is successful, the program creates an activation key and displays a confirmation message. If an error occurs, an error message is displayed. You need to activate each server only once.
Dashboard Subscription Status
The Dashboard shows subscription status when it requires attention — an expired subscription appears as a warning in the reference panel with a direct link to the upgrade page. A valid, active subscription is not displayed separately; the absence of a warning confirms that the subscription is in good standing. Phase 7 (Secure Mode) unlocks when phases 2-6 are complete.
10 - Mode Switching and Lockdown
Switching between Setup and Secure modes, including lockdown features.
Overview: HeartSuite Core Secure guides you through mode switching via the Dashboard. The system state depends on which kernel is booted and whether Lockdown is applied — the Dashboard shows you the current state and suggests the appropriate next action.
System States
HeartSuite Core Secure has two modes: Setup Mode and Secure Mode. Both run on the HeartSuite Core Secure kernel. Lockdown is a separate decision you make after activating Secure Mode — it seals the configuration with filesystem immutability. Both running Secure Mode without Lockdown and running Secure Mode with Lockdown are valid configurations depending on your threat model. Lockdown can only be applied within Secure Mode; it is not a separate mode. Booting the original non-HS kernel is not a HeartSuite Core Secure mode at all; it is the system running without HeartSuite Core Secure.
| HeartSuite Core Secure kernel loaded | Enforcement | Logging | Backups | Dashboard and features |
|---|
| Setup Mode | Yes | No — logs only | Yes | Yes | Dashboard and all features available |
| Secure Mode | Yes | Yes — blocks | Yes | Yes | Dashboard and all features available |
| Secure Mode + Lockdown | Yes | Yes — blocks | Yes | Yes | Dashboard and all features available; configuration sealed with filesystem immutability |
| Non-HS kernel (not a HeartSuite Core Secure mode) | No — HeartSuite Core Secure absent | No | No | No | File-only tools only (see Protecting During Maintenance) |
In Setup Mode and Secure Mode, HeartSuite Core Secure’s kernel module is active. Backups, logging, and the Dashboard all function normally in both. Booting the non-HS kernel means HeartSuite Core Secure is completely absent — the module is not loaded, no enforcement or logging takes place, and backups do not run.
The Dashboard provides orientation for these states. The Safety Banner displays the current state, and the Suggested Next Step guides you toward the appropriate action.
Safety Banner States
The Dashboard displays a Safety Banner reflecting the current system state:
| State | Safety Banner |
|---|
| Setup Mode | SETUP MODE — logging only, nothing is blocked |
| Secure Mode (no Lockdown) | SECURE MODE — Lockdown not applied |
| Secure Mode + Lockdown | Silent (blank) |
| Non-HS kernel | NON-HS KERNEL — HeartSuite Core Secure is not active. No enforcement. No logging. No backups. |
Setup vs Secure Mode
At some point, you need to switch to Secure Mode to prevent malicious programs from starting, or to restrict the files and remote computers such programs may access. Secure Mode activation (Phase 7) is locked until all prior phases (2 through 6) are finished. The Dashboard tracks your progress through these phases and will indicate when Secure Mode activation is available as the Suggested Next Step.
Note
The Dashboard prevents Secure Mode activation until all preconditions are met — including completion of all setup phases and boot configuration via hs-os-boot-setup. If any precondition is not satisfied, the Mode Switch screen ([m]) displays “Mode switch is not available yet” and lists what remains.
If you have not added the necessary access permissions or network address permissions to allowlist entries, HeartSuite Core Secure will actively block programs from accessing those files and network addresses when you switch to Secure Mode.
Once HeartSuite Core Secure has been configured, consider continuing in Setup Mode for several days. During that time, the review queues will capture additional file and network access activity. This information is valuable for further allowlist configuration before activating Secure Mode.
When installing new software, you must return to Setup Mode. For example, the Debian package manager dpkg creates temporary directories during installation. In Secure Mode, this generates a permission error and the installation halts. The temporary directory is removed before it can be added to an allowlist entry. Switch to Setup Mode before using dpkg, add any additional access permissions needed, then return to Secure Mode.
graph TD
A["Dashboard: Phase Progress complete"] --> B["Review queues empty — ready for Secure Mode"];
B --> C["Dashboard Mode Switch screen — type YES to confirm"];
C --> D{"Choose reboot option"};
D --> |"[r] Reboot"| E["Secure Mode active\nConfiguration remains editable"];
D --> |"[l] Reboot + Lockdown"| F["Secure Mode + Lockdown active\nConfiguration sealed"];
E --> G{Maintenance needed?};
F --> G;
G --> |"No Lockdown"| H["Maintenance [t] → safety checklist → switch to Setup Mode\nHeartSuite Core Secure still active — logs, backups, Dashboard all run"];
G --> |"Lockdown active"| I["Maintenance [t] → guided 3-step process\nStep 1: Boot Non-HS kernel, [u] remove flags\nStep 2: Make changes\nStep 3: Boot HS kernel, review new activity"];
H --> J["Make changes, update allowlist from Dashboard"];
I --> J;
J --> N["Return to Secure Mode from Dashboard"];
N --> D;Switching Between Modes
Dashboard-First Mode Switch
The Dashboard is the primary interface for mode switching. When all preconditions are met, the Suggested Next Step will offer Secure Mode activation. The precondition checklist includes:
- All review queues are empty (Programs
[p], File Access [f], Internet Access [i]) - Boot configuration is complete (
hs-os-boot-setup) - Phase 7 is unlocked (phases 2 through 6 complete)
When preconditions are satisfied, the Dashboard presents the activation option.
Activating Secure Mode
From the Dashboard, select the Mode Switch screen ([m]). The screen displays a precondition checklist, an observation period summary, and a review of your allowlist. When all preconditions are met, type YES (case-sensitive) to confirm activation.
After confirming, the Dashboard offers two reboot options:
[r] Reboot — enforcement active, configuration remains editable[l] Reboot + Lockdown — enforcement active, configuration sealed with filesystem immutability
Both are valid configurations depending on your threat model. HeartSuite Core Secure will boot in Secure Mode from that point forward until you switch back to Setup Mode.
Returning to Setup Mode
From the Dashboard, use the Mode Switch screen ([m]) to return to Setup Mode for maintenance. You must return to Setup Mode before installing packages or making configuration changes that Secure Mode would block.
Advanced: CLI Mode Switch
When booted into a Non-HS kernel (where the Dashboard’s mode switch is not available), use the CLI to pre-configure the mode for the next HeartSuite Core Secure kernel boot:
# sudo hs-mode-switch setup
Lockdown: Securing Your System in Secure Mode
Overview: Lockdown seals HeartSuite Core Secure’s configuration with filesystem immutability, preventing tampering during production operation. The Dashboard displays the current lockdown status and provides the Suggested Next Step for managing it.
Lockdown is a separate decision you make after activating Secure Mode. Both running Secure Mode without Lockdown and running Secure Mode with Lockdown are valid configurations — the choice depends on your threat model. The table below summarises what changes when you apply Lockdown.
| Secure Mode | Secure Mode + Lockdown |
|---|
| Blocks unauthorised programs, file access, and network access | Yes | Yes |
| Logging | Yes | Yes |
| Backups | Yes | Yes |
| Can root edit allowlist entries or HeartSuite Core Secure config files? | Yes | No — immutable (attempting to write returns errno:1) |
| Can an attacker with root tamper with security settings? | Possible | No — protected by immutability |
| Can you modify files made immutable by Lockdown? | Yes | No — until hs-unlock is run after reboot |
Maintenance tools (e.g. rm) optionally restricted? | No | Optional — can be made non-executable for additional hardening (see Avoiding Configuration Gaps) |
| Can Lockdown be engaged in Setup Mode? | N/A | No — Secure Mode is required first |
| How long does Lockdown last? | N/A | Until the next reboot |
| How do you exit Lockdown? | N/A | Boot the Non-HS kernel, or run hs-unlock after a reboot without Lockdown |
What Lockdown Does
Once Lockdown is engaged, HeartSuite Core Secure prevents any changes to the allowlist entries and other settings. Lockdown makes HeartSuite Core Secure configuration files and directories immutable using chattr +i. For additional hardening, the lockdown script can optionally be configured to make tools like rm non-executable — see Avoiding Configuration Gaps.
Once Lockdown is engaged, the HeartSuite Core Secure kernel disables chattr entirely — no user or program, including root, can change the immutability flags. This means no allowlist entries, configuration files, or protected directories can be modified, deleted, or added while Lockdown is active.
Lockdown lasts until the next time your server is booted; there is no direct way to turn Lockdown off. Lockdown cannot be engaged in Setup Mode; if you attempt to do so, an error message is written to the kernel log. The filesystem immutability applied by Lockdown via chattr +i is a filesystem-level attribute, not a kernel-module state. This means that immutable flags set during Lockdown persist across reboots, including reboots into the Non-HS kernel. If you boot the Non-HS kernel for maintenance after Lockdown was active, you must run hs-unlock before attempting to modify any files that were made immutable.
Automatic Lockdown on Boot
Lockdown can be configured to re-engage automatically on every HeartSuite Core Secure kernel boot. When you choose [l] Reboot + Lockdown from the Mode Switch screen, the startup script applies Lockdown each time the HeartSuite Core Secure kernel starts. Once enabled, rebooting will always engage Lockdown before you can prevent it.
The Dashboard’s Maintenance screen ([t]) detects automatic re-engagement and presents a guided choice: [d] Disable automatic Lockdown re-engagement or [k] Keep it. You do not need to edit any scripts manually. To disengage Lockdown when automatic re-engagement is active, boot to the Non-HS kernel; this procedure is discussed in Protecting During Maintenance.
Restoring Mutability After Lockdown
Files and directories may be made mutable again once Lockdown is no longer active. The Dashboard’s Maintenance screen ([t]) handles this automatically during the guided maintenance process — Step 1 of 3 offers [u] Remove immutable flags. For manual recovery outside the maintenance wizard, run hs-unlock from the CLI.
If you try to write to an immutable file without removing the flags first, you will encounter the error “could not open file; errno:1.”
You must have either physical or serial port access to your server to reboot to the Non-HS kernel — attackers cannot remotely reboot to bypass HeartSuite Core Secure, providing another layer of defense.
The underlying CLI tools are available for advanced configuration and automation:
hs-activate-lockdown — makes files and directories immutable, then engages the lockdown program. Strongly recommended over running hs-lockdown directly.hs-lockdown — engages lockdown without setting immutability flags. Use hs-activate-lockdown instead for complete protection.hs-unlock — reverses all immutability set by Lockdown so you can make configuration changes.hs-unlock-progs — restores mutability for HeartSuite Core Secure files only (subset of what hs-unlock does).
11 - Advanced Configuration and Maintenance
Cache adjustments, file system modifications, and maintenance procedures.
Overview: Use these procedures to configure advanced settings and perform maintenance safely, avoiding security gaps and protecting against attacks. The Dashboard displays the current system state — including lockdown status — and provides the Suggested Next Step throughout maintenance.
Maintenance is a time period during which you temporarily reduce HeartSuite Core Secure’s protection to make changes. It is not a separate mode. HeartSuite Core Secure has two modes: Setup Mode and Secure Mode. During maintenance, you either switch to Setup Mode or boot the Non-HS kernel depending on whether Lockdown is active — the Dashboard’s Maintenance screen ([t]) detects this automatically and guides you through the correct path.
The Maintenance screen appears only when the system is in Secure Mode, Secure Mode + Lockdown, or on the Non-HS kernel. It is not shown in Setup Mode — because in Setup Mode, you are already in the maintenance-ready state and the Dashboard’s review queues and Suggested Next Step are the workflow.
Key Maintenance Areas
Explore detailed guides for specific tasks:
11.1 - Avoiding Configuration Gaps
Strategies to prevent security gaps during maintenance and configuration.
Overview: This is an advanced hardening guide. Lockdown seals HeartSuite Core Secure’s configuration with filesystem immutability, but programs like file editors and rm remain executable by default. For high-security environments, you can optionally restrict these tools during Lockdown to close additional attack surfaces. The Dashboard’s Maintenance screen ([t]) guides you through maintenance workflows, and the Mode Switch screen ([m]) manages Lockdown status.
Locking Down Maintenance Tools
- Programs like
rm often need broad write access for maintenance. - In production (lockdown), disable or restrict them to block misuse via vulnerabilities.
Example: Remove execution privileges from rm and make it immutable when Lockdown is applied. Restore access with hs-unlock for maintenance. The Dashboard displays the current lockdown status and guides you through unlocking when maintenance is needed.
Warning
Run hs-unlock before maintenance to avoid errors like “could not open file; errno:1.”
Handling Programs Needing Write Access in Lockdown
- Database servers need write permissions to their data files/directories.
- Limit to specific paths—do not allow universal writes.
- Note: Database security is handled by the program itself, not HeartSuite Core Secure.
Optional Hardening: Programs Requiring Broad Access During Lockdown
Some programs (e.g., shutdown routines) need rm during operation, but you may want to restrict the full rm binary.
- Solution: Create a limited copy (
limited_rm) with restricted permissions. - Configure scripts to use the copy during Lockdown.
Setup steps:
- Copy
rm to limited_rm and rename original to rm-orig:# sudo cp /usr/bin/rm /usr/bin/limited_rm
# sudo mv /usr/bin/rm /usr/bin/rm-orig
# sudo ln -sf /usr/bin/limited_rm /usr/bin/rm
- Reboot and allowlist
limited_rm from the Dashboard’s Programs queue ([p]). - Update the Lockdown configuration to disable
rm-orig and make both immutable. - Update
hs-unlock configuration to restore access.
Restore full rm for maintenance:
# sudo mv /usr/bin/rm-orig /usr/bin/rm
Now, scripts call limited_rm with restricted access during lockdown.
11.2 - Protecting During Maintenance
Securing your server during maintenance windows to prevent attacks.
Overview: Maintenance — such as installing packages, editing files, or applying updates — is the period during which you temporarily reduce HeartSuite Core Secure’s protection to make changes. The Dashboard’s Maintenance screen ([t]) guides you through the entire process, from safety preparation to returning to Secure Mode. The Maintenance screen appears only when the system is in Secure Mode, Secure Mode + Lockdown, or on the Non-HS kernel — it is not shown in Setup Mode, because in Setup Mode you are already in the maintenance-ready state.
Starting Maintenance
From the Dashboard in Secure Mode, select the Maintenance screen ([t]). The Dashboard automatically detects whether Lockdown is active and presents the correct path — you do not need to determine this yourself.
Safety Checklist
Before any mode change, the Maintenance screen presents a safety checklist. The Dashboard auto-detects system state where possible and shows the status of each item:
- Network isolation — disable network interfaces or restrict firewall rules to prevent remote access during maintenance
- Server processes — shut down daemons (e.g., web servers) to close attack vectors
- SSH access — no root login, key-based auth only, source IP restriction
The Dashboard shows green checkmarks for items that pass and amber warnings for items that need attention. Press [c] Confirmed to proceed or [s] Skip to continue without completing the checklist. If you skip, the Dashboard displays a persistent reminder throughout the maintenance period — it does not disappear until you return to Secure Mode.
Note
The safety checklist is more critical for the Lockdown path (Option 2), where HeartSuite Core Secure will be completely absent. For the standard path (Option 1), HeartSuite Core Secure continues logging and running backups.
Option 1: Switch to Setup Mode (No Lockdown)
This is the standard maintenance path. The HeartSuite Core Secure kernel stays active. Logging and backups remain fully operational.
After completing the safety checklist, the Maintenance screen explains what will change:
- Enforcement changes from blocking to logging only
- The HeartSuite Core Secure kernel remains active
- Backups continue running
- The existing allowlist is preserved
- New activity is logged, not blocked — it will appear in the review queues when you return to Secure Mode
Type YES (case-sensitive) to confirm the switch. The Dashboard reboots to apply the mode change.
After rebooting, the Dashboard shows Setup Mode is active with a Suggested Next Step. If the safety checklist was skipped, a persistent reminder appears. Make your changes — install packages, edit configuration, update software. HeartSuite Core Secure logs all new activity silently.
When finished, return to Secure Mode from the Dashboard. New events from the maintenance period appear in the review queues. Review and approve them through the standard allowlisting flow before enforcement resumes.
Option 2: Boot the Non-HS Kernel (Lockdown Active)
When Lockdown is active, the Maintenance screen does not offer the Setup Mode switch. Instead, it explains the situation and guides you through a 3-step process. This is the most complex journey in the product — it involves two reboots, a kernel selection at GRUB where the Dashboard cannot guide you, and a period where HeartSuite Core Secure is completely absent.
Step 1 of 3: Boot Non-HS Kernel and Remove Immutable Flags
After the safety checklist and typing YES to confirm, the Dashboard prepares you for the GRUB boot menu — the one moment where it cannot provide guidance. It shows the exact Non-HS kernel name to select and warns you not to select the HeartSuite Core Secure kernel. Press [r] to reboot.
The Dashboard saves your maintenance session state before rebooting. This state persists across reboots and kernel changes — the step counter (“Step X of 3”) follows you throughout the process.
After selecting the Non-HS kernel from GRUB, the Dashboard resumes automatically on login. It detects the absence of the HeartSuite Core Secure kernel module and adjusts its interface — actions that require the HeartSuite Core Secure kernel are hidden entirely, not greyed out. The Dashboard shows:
- “Non-HS kernel active. HeartSuite Core Secure is not loaded.”
- “No enforcement. No logging. No backups.”
- “Maintenance step 1 of 3: Remove immutable flags.”
Press [u] to remove the immutable flags set by Lockdown. After the flags are removed, the Dashboard presents the automatic Lockdown re-engagement choice:
[d] Disable automatic Lockdown re-engagement — the startup script will no longer apply Lockdown on boot. You can re-enable this later. This simplifies future maintenance.[k] Keep automatic re-engagement — Lockdown will re-apply on every HeartSuite Core Secure kernel boot. Future maintenance will require this same process.
Both options carry equal weight — neither is recommended over the other. The choice depends on your operational needs.
Note
If you accidentally select the wrong kernel at GRUB (the HeartSuite Core Secure kernel instead of the Non-HS kernel), the Dashboard detects this and guides you to reboot and select the correct kernel.
Step 2 of 3: Make Your Changes
The Dashboard transitions to the maintenance workspace:
- “Maintenance step 2 of 3: Make your changes.”
- “You are on the Non-HS kernel. HeartSuite Core Secure is not active. Changes made now will not be logged.”
Make your changes — install software, update packages, modify configuration files. When finished, press [f] to prepare the return to the HeartSuite Core Secure kernel. The Dashboard pre-configures Setup Mode for the next boot.
Step 3 of 3: Boot HeartSuite Core Secure Kernel and Review
Select the HeartSuite Core Secure kernel from GRUB. The Dashboard appears automatically, showing Setup Mode is active and displaying the maintenance step counter. Software installed during maintenance may generate new log events — these appear in the review queues. Review and approve them, then return to Secure Mode from the Dashboard. If Lockdown was previously active and you kept automatic re-engagement, Lockdown will re-apply on the next reboot.
Warning
The Non-HS kernel provides no HeartSuite Core Secure protection whatsoever. The safety checklist is critical for this path.
Note
You must have physical or serial port access to select the Non-HS kernel at the GRUB menu. This is intentional — it prevents an attacker from remotely booting to bypass HeartSuite Core Secure.
Lockdown and Filesystem Immutability
When Lockdown makes files immutable using chattr +i, those flags are stored at the filesystem level and persist across reboots — including reboots to the Non-HS kernel. If you attempt to modify a file that was made immutable during a previous Lockdown session, you will encounter an error such as “could not open file; errno:1.” The Maintenance screen’s [u] Remove immutable flags handles this automatically during Step 1 of the Lockdown path. For manual recovery outside the maintenance wizard, run hs-unlock.
11.3 - Adjusting the Cache Size
Tuning HeartSuite Core Secure’s allowlist cache for optimal performance.
Overview: HeartSuite Core Secure caches allowlist entries in kernel memory for performance. Each cache slot holds one unique program or script. The default size works for most systems; adjust it only if you have an unusually large number of concurrent programs.
This is an advanced CLI tool — no Dashboard equivalent exists.
- Range: 10-255 entries.
- Tune based on your server’s needs (more entries for varied workloads).
11.4 - File Backup and Versioning
Automatic backups for designated directories and version restoration to protect against malware.
Overview: Every time a file in a protected directory is modified, HeartSuite Core Secure automatically creates a versioned backup with a timestamp and file size. Only HeartSuite Core Secure can access the backups — no other program, including malware running as root, can read or destroy them. Versions are never automatically deleted.
How Backup Works
HeartSuite Core Secure monitors a list of protected directories. When any file in those directories (including subdirectories) is written, HeartSuite Core Secure silently creates a new versioned backup before the write completes. This runs automatically in both Setup Mode and Secure Mode — protection begins from first boot, before you have reviewed a single event.
By default, /home is configured for backup. You can add or remove directories from the Dashboard’s Backup screen.
Configuring Protected Directories
From the Dashboard, select the Backup screen ([b]). The screen shows your current backup configuration — which directories are protected and when they were last backed up.
From this screen you can:
- Add directories (
[n]) — protect additional directories (e.g., /var/www, /etc, /usr/lib) - Remove directories (
[r]) — stop backing up a directory (removing a directory does not delete existing backups; existing versions are retained)
Recommended directories include those containing user documents, executable files, configuration, and shared libraries. Avoid high-churn directories like log directories — backup creates a new version on every write.
Note
Backup is optional. You can remove all directories, disabling backup entirely. Mode Switch does not require backup to be configured.
Restoring File Versions
If a file is compromised — for example, encrypted by ransomware — the Dashboard’s Backup screen lets you browse version history and restore any previous version of any file in a protected directory. The Backup screen offers two browse modes:
- File-first (
[f]) — navigate by directory and file, then view versions of the selected file - Timeline (
[t]) — navigate by date, showing all files modified on a given day
To restore a single file, select it and choose the version to restore. Each version shows its timestamp and file size.
For ransomware recovery where many files were modified on the same date, use the Timeline view ([t]), press [d] to filter by date, review the affected files, and press [b] to batch restore all of them in one operation.
Lockdown and Backup
When Lockdown is active, the backup configuration file is sealed — no user or program, including root, can add or remove directories. This prevents an attacker who compromises a running process from silently disabling backup. To change the backup configuration, enter a maintenance period first (see Protecting During Maintenance).
Advanced: CLI Backup Management
For automation workflows, the underlying CLI tools are available:
# hs-backup-config-manager add /var/www
# hs-backup-config-manager remove /home
# hs-backup-config-manager list
# hs-version-manager list /home/user/document.txt
# hs-version-manager restore /home/user/document.txt --version 2023-11-01
12 - Troubleshooting and Logs
Log management, dmesg analysis, and common issues.
Overview: If issues arise, start with the Dashboard — the Safety Banner shows the current system state, and the Suggested Next Step tells you what to do. The kernel log is available for advanced diagnostics when needed.
graph TD;
A[System issue occurs] --> B{System fails to boot?};
B -->|Yes| C[Boot into recovery mode or Non-HS kernel];
C --> D["Dashboard resumes — follow Maintenance wizard steps"];
D --> E[Boot HeartSuite Core Secure kernel — Dashboard shows pending events];
B -->|No| F[Check the Dashboard];
F --> G{Safety Banner shows wrong mode or Non-HS kernel?};
G -->|Yes| H[Check System Info Strip for mode, kernel, lockdown];
H --> I[Follow the Suggested Next Step];
G -->|No| J{Review queues show pending or denied events?};
J -->|Yes| K[Approve missing items from the review queues];
J -->|No| L["Check dmesg | grep HEARTSUITE for raw kernel events"];
E --> K;
K --> M[Test operation];
I --> M;
L --> M;Dashboard-First Diagnostics
The Dashboard is the primary diagnostic tool. Before checking log files, review:
- Safety Banner: Confirms the current system state. If it shows “SETUP MODE”, “SECURE MODE – Lockdown not applied”, or “NON-HS KERNEL”, you immediately know what protection level is active.
- System Info Strip: Shows kernel type (
HS or Non-HS), current mode with uptime, and lockdown status. - Pending/Denied counts: In Setup Mode, these are pending events awaiting review. In Secure Mode, these are denied actions that may need allowlisting.
- Suggested Next Step: Provides a single, actionable recommendation based on the current system state.
Tip
If you suspect a program is being blocked, check the Dashboard first. Denied events appear as structured counts in the Pending/Denied panel, grouped by category (Programs, File reads, File writes, Network). For example, if nano is blocked from executing, the Dashboard shows Programs: 1 denied and the Programs queue ([p]) presents the event with full metadata for approval.
Log Management
HeartSuite Core Secure captures all permission events and presents them through the Dashboard’s three review queues: Programs ([p]), File Access ([f]), and Internet Access ([i]). The Dashboard shows pending event counts for each queue and groups events by category, so you always know what needs attention. The Maintenance screen ([t]) provides guided workflows for common maintenance tasks.
The review queues are the primary way to see and resolve events. The underlying activity log is a temporary buffer — once all three review queues are empty, the Dashboard automatically clears the log on its next refresh. No manual action is required.
Allow several days to a week of observation in Setup Mode. Systemd timers, cron jobs, and infrequent services generate events only when they run — the review queues accumulate these automatically.
Kernel Log (Advanced)
The Dashboard’s review queues automatically collect events from both the HeartSuite Core Secure activity log and the kernel log. During normal operation, you do not need to read dmesg directly.
The kernel log is useful for advanced troubleshooting — for example, confirming kernel-level activation or correlating HeartSuite Core Secure events with other kernel messages:
The Dashboard presents the same event data with metadata enrichment and grouping. The Dashboard is accessible on both the HeartSuite Core Secure kernel and the Non-HS kernel — on the Non-HS kernel, the Safety Banner shows “NON-HS KERNEL” and enforcement is inactive.
Reporting Issues
If you encounter a bug, open an issue on GitHub using the Bug Report template. Include your HeartSuite Core Secure version, kernel version, the Safety Banner state, and steps to reproduce. For security vulnerabilities, email support@heartsecsuite.com — we’re happy to help.
13 - FAQs
Common questions and answers for HeartSuite Core Secure.
Quick answers to common setup, usage, and troubleshooting questions. For detailed guides, see the full documentation.
General
How is HeartSuite Core Secure different from other anti-malware solutions?
A: HeartSuite Core Secure enforces security at the kernel level — not through signatures, behavior prediction, or eBPF filters that attackers routinely bypass. The HeartSuite Core Secure kernel blocks any program execution, file access, or network connection that has not been explicitly approved through the Dashboard’s review process. Because enforcement happens inside the kernel itself, it cannot be circumvented by any program or user, including root.
Why is kernel-level enforcement better than eBPF or agent-based security?
A: Many security products — including Falco, Cilium Tetragon, and CrowdStrike Falcon on Linux — rely on eBPF filters or user-space agents that run alongside programs. Malware with sufficient privileges can disable, bypass, or unload them. HeartSuite Core Secure’s enforcement is compiled into the kernel itself. There is no agent to kill, no filter to detach, and no module to unload. If the HeartSuite Core Secure kernel is running, enforcement is active. This is the difference between a lock on the door and a guard standing next to it.
How is HeartSuite Core Secure itself protected from attacks? How do I know that HeartSuite Core Secure won’t be targeted or compromised?
A: Lockdown makes all allowlist entries and configuration files immutable at the filesystem level, then disables the ability to change immutability flags at the kernel level. This means not even root can modify, delete, or add allowlist entries while Lockdown is active — the kernel itself prevents it. To make changes, the Dashboard’s Maintenance screen ([t]) guides you through a 3-step process that includes booting the Non-HS kernel to remove the immutable flags. The Dashboard confirms Lockdown status after every reboot.
What are the system requirements for HeartSuite Core Secure?
A: Debian 11, 12, or 13; any Ubuntu-derived distribution; Alpine Linux; or RPM-based distributions (RHEL, Fedora, CentOS, Rocky Linux, AlmaLinux, SUSE, openSUSE) — all on x86 architecture. HeartSuite Core Secure ships with two HeartSuite Core Secure kernel versions: 5.19 and 6.18.
How can I download HeartSuite Core Secure?
A: Download the tar file from heartsecsuite.com – wget is disabled, so use the website form.
Is technical support available for HeartSuite Core Secure customers?
A: Yes. Email support@heartsecsuite.com or visit the tech support page on heartsecsuite.com. We’re happy to help.
How do I report a bug or security issue?
A: For bugs, open an issue on GitHub using the Bug Report template. Include your HeartSuite Core Secure version, kernel version, the Safety Banner state shown on your Dashboard, and steps to reproduce. For security vulnerabilities, do not use a public issue — email support@heartsecsuite.com for responsible disclosure.
Can HeartSuite Core Secure automatically backup files?
A: Yes. Every time a file in a configured directory is modified, HeartSuite Core Secure automatically creates a new versioned backup with a timestamp and file size. Only HeartSuite Core Secure can access the backups — no other program, including malware running as root, can read or destroy them. Versions are never automatically deleted. Use the Dashboard’s Backup screen ([b]) to add or remove directories, browse version history, and restore any previous version of a file.
Will HeartSuite Core Secure flood me with alerts?
A: No. Most security products generate high volumes of alerts because they flag suspicious patterns — leading to alert fatigue where real threats get lost in the noise. HeartSuite Core Secure only alerts on genuinely unauthorized activity: a program attempting to execute without approval, or an outbound connection to an unapproved destination. Events are deduplicated and batched in 5-minute windows, with an hourly cap on email alerts. In Secure Mode with a complete allowlist, alerts are rare — because the allowlist already covers all legitimate activity. Configure alerts through the Dashboard’s Alert Settings screen ([e]) (email, syslog, or webhook).
What are the limitations of the ‘free trial’?
A: Secure Mode and Lockdown require a subscription. Setup Mode provides insights for decisions without full protection.
I work remotely a lot; can I still access a HeartSuite Core Secure server remotely?
A: Yes, HeartSuite Core Secure allows remote access like SSH – allowlist necessary programs and IPs.
What is the Dashboard?
A: The Dashboard is the primary interface for managing HeartSuite Core Secure. It shows your current mode (Setup or Secure), progress through each setup phase, pending or denied event counts, and a Suggested Next Step that tells you exactly what to do next. The Safety Banner at the top confirms the current protection state at a glance. The Dashboard appears automatically on first login.
How does HeartSuite Core Secure guide me through setup?
A: The Dashboard walks you through seven phases, from verifying your installation to activating full protection. Each phase focuses on one task — approving programs ([p]), configuring script launchers ([l]), approving file access ([f]), approving internet access ([i]), and setting up alerts ([e]). The Dashboard tracks your progress and always shows the next step. Secure Mode (full enforcement) unlocks only after all prior phases are complete.
Installation
Once I’ve installed HeartSuite Core Secure, can a program access files without adding the directories to the allowlist entry?
A: No. In Secure Mode, a program can only access files and directories that have been explicitly approved through the Dashboard’s File Access review queue. After allowlisting a program’s execution in Phase 2, you approve its file access in Phase 4 — the Dashboard shows every file the program attempted to read or write.
Why do I need to reboot multiple times during installation?
A: The HeartSuite Core Secure kernel must be loaded during the installation process. Each reboot allows hs-os-boot-setup to capture and allowlist additional startup and shutdown programs. Skipping reboots can leave essential programs unapproved, which would cause the system to hang in Secure Mode.
If the reboot after Part 1 fails, what should I do?
A: Check GRUB settings (e.g., uncomment GRUB_DISABLE_LINUX_UUID for VMs), verify installation logs, and try recovery mode.
hs-os-boot-setup doesn’t show success after many runs—what next?
A: Check the Dashboard’s Suggested Next Step — it will indicate what remains. Ensure you are running as root and that you have rebooted between each run of hs-os-boot-setup.
Allowlisting
A new program is being blocked in Secure Mode — what should I do?
A: In Secure Mode, any program not on the allowlist is blocked. This typically happens after installing new software or a system update that introduces programs HeartSuite Core Secure has not seen before. To resolve it, select the Maintenance screen ([t]) from the Dashboard — it guides you through switching to Setup Mode, where the new program appears as a pending event. Approve it from the review queues, then return to Secure Mode.
Can I allowlist directories instead of files?
A: Yes. When the Dashboard’s File Access review queue presents grouped events from the same directory, you can approve directory-level access rather than approving each file individually. For example, if Python reads 200 files from /usr/lib/python3/, the review queue groups them and lets you approve access to the entire directory at once.
How do I activate Secure Mode?
A: The Dashboard unlocks Secure Mode when all prior phases are complete and shows it as the Suggested Next Step. Activation requires typing YES (case-sensitive) to confirm.
How do I add network access for a program?
A: HeartSuite Core Secure blocks all outbound connections by default. When a program attempts a connection, the event appears in the Dashboard’s Internet Access review queue with the destination IP, reverse DNS, and program metadata. Approve the connection from there.
Modes and Security
When should I switch to Secure Mode?
A: After the Dashboard shows all review phases complete. Take your time in Setup Mode — allow several days to a week for systemd timers, cron jobs, and infrequent services to appear in the review queues. The Dashboard’s System Info Strip shows how long Setup Mode has been active (e.g., “Setup Mode — active for 3d 7h”), so you can easily track your observation period. Switching too early will block programs that have not been approved.
What is Lockdown, and when to use it?
A: Lockdown makes all allowlist entries and configuration files immutable (chattr +i), then disables the ability to change immutability flags at the kernel level. No user or program — including root — can modify, delete, or add allowlist entries while Lockdown is active. Use it in production after confirming all programs work correctly in Secure Mode.
How do I activate Lockdown?
A: Once Secure Mode is active and verified, activate Lockdown from the Dashboard. This requires typing YES (case-sensitive) to confirm.
How do I make configuration changes after entering Lockdown?
A: Select the Maintenance screen ([t]) from the Dashboard. It detects that Lockdown is active and guides you through a 3-step process: booting the Non-HS kernel to remove immutable flags ([u]), making your changes, then rebooting back to the HeartSuite Core Secure kernel to review new activity and return to Secure Mode. The Dashboard resumes at the correct step after each reboot.
How do I maintain or update in Secure Mode?
A: Select the Maintenance screen ([t]) from the Dashboard. It detects whether Lockdown is active and guides you through the correct path — either a simple switch to Setup Mode, or a guided 3-step process across two reboots if Lockdown requires the Non-HS kernel. The Dashboard handles all steps including a pre-maintenance safety checklist.
Troubleshooting
How do I check if HeartSuite Core Secure is active?
A: The Dashboard’s Safety Banner at the top of the screen immediately shows whether HeartSuite Core Secure is active and what mode it is in. The Dashboard appears automatically on login.
The system hangs—what’s first?
A: Reboot into a Non-HS kernel (select it from GRUB). The Dashboard resumes automatically on the Non-HS kernel and guides you through the maintenance steps. Once back on the HeartSuite Core Secure kernel, the Dashboard will show any pending events that caused the hang.
How to clear HeartSuite Core Secure logs?
A: The Dashboard automatically clears the activity log when all review queues are empty — no manual action is required.
For support, visit heartsecsuite.com or email support@heartsecsuite.com.
14 - Appendices
List of included HeartSuite Core Secure tools.
Overview: HeartSuite Core Secure includes a set of tools for system management, allowlisting, and security enforcement. The Dashboard is the primary interface for most users; the tools listed below are available for advanced use or specific cases.
With exception of the Secure Script Launchers, all tools are located in the /.hs/sys directory. The HeartSuite Core Secure installation routine does NOT add this directory to the PATH environment variable. The Secure Script Launchers are located in /usr/bin because it is in the default PATH. Programs and scripts that write data to HeartSuite Core Secure databases must be run as root.
Tip
The Dashboard is the primary interface — it appears automatically on login. The CLI tools below are for advanced workflows and recovery scenarios.
These are the tools most users interact with, organized by phase.
Dashboard and Review (Phases 1-5)
- Dashboard – the primary interface for HeartSuite Core Secure. Displays phase progress, pending/denied event counts, Safety Banner, System Info Strip, and Suggested Next Step. Appears automatically on login. Launch manually with
sudo python3 main.py. - Programs queue (
[p]) – Dashboard screen to review and approve pending program execution events (Phase 2). Presents events with full metadata, grouped intelligently. - File Access queue (
[f]) – Dashboard screen to review and approve pending file access events (Phase 4). Handles read access and write access approvals separately. - Internet Access queue (
[i]) – Dashboard screen to review and approve pending internet access events (Phase 5). Allows allowlisting specific IPs per program. - Allowlist screen (
[a]) – Dashboard screen to browse and edit existing allowlist entries. - Browser View (
[w]) – Dashboard screen to enable or disable browser-based access to HeartSuite Core Secure via SSH tunnel. - Launchers (
[l]) – Dashboard screen to configure Secure Script Launchers (Phase 3).
Alert Configuration (Phase 6)
- Alert Settings (
[e]) – Dashboard screen to configure alert channels (email, syslog, or webhook). At least one channel must be configured before Secure Mode activation. See Alert Configuration.
Mode Switching and Security (Phase 7)
- Mode Switch (
[m]) – Dashboard screen for Secure Mode activation. Shows precondition checklist, observation period, and review summary. After activation, offers [r] Reboot or [l] Reboot + Lockdown. hs-activate-lockdown – makes HeartSuite Core Secure configuration files and directories immutable using chattr +i, then engages the lockdown program. Requires Secure Mode to be active. Requires typing YES to confirm.hs-unlock – reverses Lockdown by making HeartSuite Core Secure files mutable again. This is the counterpart to hs-activate-lockdown.hs-mode-switch – change whether HeartSuite Core Secure starts in Setup or Secure Mode on next boot. Used from a Non-HS kernel during recovery. View --help for details.
Maintenance and Backup
- Maintenance (
[t]) – Dashboard screen for guided maintenance workflows. Detects Lockdown status automatically, presents a safety checklist ([c]/[s]), and guides through mode switching or the 3-step Lockdown maintenance process ([u]/[d]/[k]/[f]). Appears only in Secure Mode, Secure+Lockdown, and Non-HS kernel states — hidden in Setup Mode by design. - Backup (
[b]) – Dashboard screen to manage file backup and versioning. Offers File-first ([f]) and Timeline ([t]) browse modes, date filtering ([d]), batch restore ([b]), directory management ([n] add, [r] remove), and [tab] to switch panels. hs-manage-allowlist – CLI tool to browse and edit allowlist entries directly. For advanced workflows and automation. View --help for details.
activate_HS – turns HeartSuite Core Secure service on. The installation routine adds a systemd service that runs this automatically at startup.hs-cache-size – change the maximum number of allowlist entries cached simultaneously. View --help for details.hs-backup-config-manager – specify directories for automatic file backup (e.g., /home). Only files in designated directories are backed up when modified. Prefer the Dashboard’s Backup screen ([b]) for directory management.hs-curfew – stops HeartSuite Core Secure from backing up files before shutdown. A systemd service executes this automatically before shutdown or reboot.hs-secure-script-launcher-manager – configures interpreter names for Secure Script Launchers. View --help for details.hs-activate-subscription – activates the server using your HeartSuite Core Secure subscription. Required before Secure Mode can be enabled.hs-version-manager – restore prior versions of backed-up files. Prefer the Dashboard’s Backup screen ([b]) for version browsing and restoration. View --help for details.hs-unlock-progs – switches all HeartSuite Core Secure files back to mutable state (after Lockdown).
Secure Script Launchers (Phase 3)
Located in /usr/bin (in the default PATH):
hs-python-launcher – Secure Script Launcher for Python 3hs-python2-launcher – Secure Script Launcher for Python 2hs-perl-launcher – Secure Script Launcher for Perlhs-php-launcher – Secure Script Launcher for PHP
Python Scripts
Each script displays help information when started without arguments.
hs-os-boot-setup.py – used internally by the Installation screen during local installation to scan logs and build allowlist entries for startup programs. Not for direct user invocation.batch_record_add.py – (legacy/advanced) adds programs listed in a file to allowlist entries with basic directory access. Prefer the Dashboard review tools for standard workflows.batch_record_add_read_all.py – (legacy/advanced) adds programs listed in a file to allowlist entries with read access to all files. Use with caution. Prefer the Dashboard review tools.batch_record_add_write_all.py – (legacy/advanced) adds programs listed in a file to allowlist entries with write access to all files. Use with extreme caution. Prefer the Dashboard review tools.
Shell Scripts
These scripts do not include help information but are simple to read.
hs-clear-logs – manually clears the HeartSuite Core Secure activity log. In normal operation, the Dashboard auto-clears the log when all review queues are empty, so manual clearing is rarely needed.init_base_records.sh – used by the installation script to add Linux Standard Base (LSB) programs to allowlist entries. Used only once during Part 1 of installation.HS_startup.sh – called by the systemd heartsuite.service unit immediately after booting. Activates HeartSuite Core Secure automatically. The Dashboard’s Maintenance screen ([t]) manages Lockdown re-engagement settings in this script.