Skip to content
All projects
Case study

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 — Agentless server auditing and monitoring over SSH — native Android, web dashboard and public API.

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

  1. 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.

  2. 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.

  3. 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.

  4. 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

Capabilities section with the SSH Monitoring, Macros & Terminal, and Smart Diagnostics cards.
Four capabilities named after what they do. The connection pool and the 5-minute cron are the heart of agentless monitoring.
The same page on a 375 px wide phone.
The site was designed alongside the Android app; at 375 px the whole pitch still lands in one glance.
Mobile metrics strip — 247 processes, 99.9% uptime, 5-minute cycle, 1.2 s SSH tunnel.
The product's numbers on mobile. 1.2 s is how long the SSH tunnel takes to come up before measuring starts.
Next project E-DIGNA