Skip to main content

pyauditd

Transparent audit daemon. Write files however you want — pyauditd handles integrity.

echo "hello" > $STORE/greeting       # you just write files
# aud sees CLOSE_WRITE via inotify   # ctypes, no subprocess
# → HMAC chain appended              # hmac+hashlib, no fork
# → hooks notified                   # persistent subprocess, hot-reload

Zero pip dependencies. One process. Any language for hooks.

Install

pip install pyauditd

Usage

aud watch [store_dir]            # watch and audit
aud verify [store_dir]           # verify all chains
aud verify [store_dir] <key>     # verify one chain
aud status [store_dir]           # show daemon status
aud install [store_dir]          # set up privilege separation (root)
aud watch-audit [store_dir]      # real-time chain monitor (auditor)

Privilege Separation

aud (daemon)  → writes chains     → uid=aud, 700
agent         → writes data       → gid=aud-agents, 1773 sticky
auditor       → read-only verify  → gid=aud-auditor, 750

Three users, three roles. The auditor and the audited cannot be the same person.

Hooks

Drop any executable into $STORE/hooks/. Hot-reload via inotify.

daemon → stdin:  {"event":"write","path":"doc","sha256":"a948...","size":12}
hook   → stdout: {"skip":true}     (optional, skip default audit)

Part of the pythond ecosystem

See pythond for the core runtime.

Release files for pyauditd 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyauditd 0.1.0
File Size Uploaded
pyauditd-0.1.0.tar.gz 11.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyauditd 0.1.0
File Interpreter ABI Platform
pyauditd-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 24.8 kB

Release files / pyauditd-0.1.0.tar.gz

Download URL pyauditd-0.1.0.tar.gz
Size 11.9 kB
Tags Source
SHA-256 checksum
How to use checksums
809132b9e60d80339a105011ed28f166bba94f388bcbcd3df4d8d349f5e5b69c
BLAKE2b-256 checksum
How to use checksums
4a879aa51cef0225a3a4f37d8a436bee51197d83bcc025aac4a74075011359f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.6

Release files / pyauditd-0.1.0-py3-none-any.whl

Download URL pyauditd-0.1.0-py3-none-any.whl
Size 12.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f37933d83f4d26e2b71015ef5735c1aa2a6733122e241d3914d03509f7df3b3a
BLAKE2b-256 checksum
How to use checksums
e0126c01638678bb5f6a80c982304f0fcefd48166c9f2dfd964b5d7e082154c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.6

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page