Welcome to the official BastionGuard™ Platform and API Documentation.
This documentation describes the public interfaces, architecture, integration points, configuration formats, build systems, and supported extension mechanisms of the BastionGuard security platform.
BastionGuard is organized as a modular GNU/Linux security suite composed of several interoperable projects:
Where a component exposes a public C++ interface, the documented classes, headers, methods, and contracts are considered part of the supported BastionGuard integration surface.
Architecture, deployment, configuration, and operational documentation is also provided for components that are integrated through executables, services, sockets, configuration files, or external build systems.
Platform Components
BastionGuard Endpoint
BastionGuard Endpoint is the central protection component of the platform.
It provides modular system-security capabilities including:
- real-time filesystem monitoring
- ransomware detection and response
- malware scanning and quarantine management
- DNS and IP-based threat filtering
- anti-phishing protection
- firewall management
- USB device monitoring
- privacy controls
- alert and policy orchestration services
- password-management integration
- secure browsing and payment workflows
The Endpoint documentation covers the public C++ classes, headers, internal modules, service interfaces, and supported integration points exposed by the BastionGuard core.
BastionGuard Backup
BastionGuard Backup provides system snapshot and restoration capabilities for GNU/Linux.
Its documentation covers:
- RSYNC-based incremental snapshots
- native Btrfs snapshots
- hourly, daily, weekly, monthly, boot, and manual schedules
- snapshot retention policies
- system restoration workflows
- online and offline restore operations
- restore hooks
- supported storage and filesystem configurations
- command-line and graphical interfaces
- build and installation procedures
BastionGuard Backup is primarily designed to protect operating-system files, installed applications, and system configuration.
BastionGuard Secure Connection
BastionGuard Secure Connection is an interactive, application-aware firewall for GNU/Linux.
Its documentation covers:
- daemon and graphical-interface architecture
- Unix domain socket communication
- the length-prefixed JSON wire protocol
- nftables and NFQUEUE integration
- /proc-based connection monitoring fallback
- application and process identification
- temporary and persistent verdicts
- firewall rule formats
- connection history and statistics
- DNS resolution
- proxy detection
- service configuration
- daemon and UI integration
The daemon and user interface are separate processes. Their communication protocol and configuration formats form part of the supported integration surface.
BastionGuard Recovery Data
BastionGuard Recovery Data is a filesystem-aware data-recovery engine written in C++20.
Its documentation covers:
- block-device and disk-image analysis
- filesystem detection
- live-file extraction
- deleted-file recovery
- damaged-metadata analysis
- lost-partition discovery
- filesystem-independent file carving
- recovery metadata and integrity reporting
Supported filesystem families include:
- FAT32
- exFAT
- NTFS
- ext4
- Btrfs
- XFS
- HFS+ and HFSX
The Recovery Data reference also documents advanced recovery mechanisms such as NTFS $LogFile processing, $MFTMirr fallback, $I30 directory-index analysis, ext4 journal handling, Btrfs compressed extents, XFS V5 FINOBT recovery, and HFS+ compressed-file processing.
Documentation Scope
This reference is intended for:
- developers integrating BastionGuard into applications or services
- contributors extending the BastionGuard platform
- Linux distribution package maintainers
- security engineers and system integrators
- administrators deploying BastionGuard services
- developers building tools around BastionGuard protocols and configuration formats
- organizations adopting BastionGuard as an endpoint-protection and recovery platform
Depending on the component, the documentation may include:
- public C++ API references
- class and namespace documentation
- service architecture
- communication protocols
- configuration schemas
- command-line interfaces
- build and packaging instructions
- deployment procedures
- supported extension points
API Stability and Compatibility
BastionGuard follows an additive-first API evolution model for documented public interfaces:
- Existing public method signatures are not modified or removed within the same major version.
- New methods, classes, modules, configuration options, and protocol fields may be introduced in minor releases.
- Breaking API or protocol changes may occur only in major version increments.
- Deprecated interfaces are documented before removal.
- Unknown optional protocol fields should be ignored when forward compatibility is supported.
API compatibility follows semantic-versioning principles.
ABI stability applies only to interfaces explicitly documented as ABI-stable. Internal implementation details, private headers, and undocumented symbols are not part of the compatibility contract.
Quick Navigation
- Main Page – platform overview and documentation entry point
- Namespaces – logical organization of the C++ modules
- Classes – public classes and interface contracts
- Files – documented public headers and source-level references
- BastionGuard Endpoint – endpoint-protection modules and core APIs
- BastionGuard Backup – snapshots, scheduling, restoration, and hooks
- BastionGuard Secure Connection – firewall daemon, UI, rules, and wire protocol
- BastionGuard Recovery Data – filesystem recovery, disk analysis, and file carving
- Build and Packaging – CMake, Meson, DEB, RPM, and Arch packaging
- Configuration – supported service and application configuration formats
Open-Source Development
BastionGuard is free and open-source software distributed under the GNU General Public License v3.
Developers may inspect, build, modify, and redistribute the source code in accordance with the applicable license terms.
Individual bundled components and third-party libraries retain their respective compatible licenses.
The BastionGuard™ name, logo, and visual identity are project trademarks and are not licensed under the GNU GPL.