AuditX
Agentless server auditing and monitoring over SSH — native Android, web dashboard and public API.
Role
Full-stack developer (web + backend + Android)
Year
2026
- Kotlin
- Android
- Node.js
- Express
- SSH2
- Next.js 15
- Firebase
- PostgreSQL
AuditX answers an awkward question about monitoring: why should you install software on a server just to know how it’s doing? The whole design follows from answering that you shouldn’t — and from owning the consequences of a tool that holds someone else’s SSH credentials.
// The problem
A small-business sysadmin runs a mix of Linux, macOS and Windows machines, and checking on them means opening a terminal on each one. Off-the-shelf monitoring wants an agent installed on every server — permission that often doesn't exist, and a maintenance window nobody wants to ask for.
// Decisions
-
Decision
Agentless monitoring. AuditX connects over SSH and runs the commands the system already ships with; it installs nothing on the audited machine.
Impact
Any host that accepts SSH can be audited — Linux, macOS or Windows — with no install rights and no maintenance window. Removing AuditX leaves no trace on the server.
-
Decision
An intermediary backend is the only thing that opens SSH connections. Neither the Android app nor the web talks SSH directly.
Impact
There is one surface to audit instead of one per client, and a lost phone is not a server key.
-
Decision
Credentials are encrypted with AES-256-GCM against the Android KeyStore before leaving the device, and Firestore rules validate the ciphertext's format and minimum length.
Impact
Neither the database nor I as the developer can read an SSH credential. The encryption key never leaves the phone's hardware.
-
Decision
The public v1 API authenticates with a SHA-256-hashed API key and timing-safe comparison, and its endpoints return servers without credentials.
Impact
A third party can integrate the monitoring with no path through which the API hands back a secret.
// Results
- Product
- Native Android (19 Activities) · Next.js 15 dashboard · REST API
- Surface
- 6 public v1 endpoints · 9 PostgreSQL tables · per-owner Firestore rules
- Security
- AES-256-GCM in KeyStore · RSA JWT · biometrics with 15-min sessions
- Context
- Academic project · Web Programming · UPB 2026
// The product