https://github.com/thevoiceguy/siphon-ai
· scanned 2026-06-16 00:34 UTC (2 months, 2 weeks ago)
33 raw signals (0 security + 33 graph)
Last scanned 2 months, 2 weeks ago · v1 · 29 actionable findings from 1 signal source. 4 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 414 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
rust-toolchain.toml |
software | healthy | rust-toolchain.toml |
Cargo.toml |
software | healthy | Cargo.toml |
README.md |
software | healthy | README.md |
rustfmt.toml |
software | healthy | rustfmt.toml |
CLAUDE.md |
software | healthy | CLAUDE.md |
Cargo.lock |
software | healthy | Cargo.lock |
CHANGELOG.md |
software | healthy | CHANGELOG.md |
Dockerfile |
software | healthy | docker/Dockerfile |
local-dev.toml |
software | healthy | docker/local-dev.toml |
compose.yaml |
software | healthy | docker/compose.yaml |
DIALPLAN.md |
software | healthy | docs/DIALPLAN.md |
PROTOCOL.md |
software | healthy | docs/PROTOCOL.md |
DEV_PLAN_0.5.0.md |
software | healthy | docs/DEV_PLAN_0.5.0.md |
RECORDING.md |
software | healthy | docs/RECORDING.md |
PARK.md |
software | healthy | docs/PARK.md |
INTEGRATIONS_TWILIO.md |
software | healthy | docs/INTEGRATIONS_TWILIO.md |
HEP.md |
software | healthy | docs/HEP.md |
DEV_PLAN.md |
software | healthy | docs/DEV_PLAN.md |
SPIKE_MEDIA_TAP.md |
software | healthy | docs/SPIKE_MEDIA_TAP.md |
OPERATIONS.md |
software | healthy | docs/OPERATIONS.md |
DEV_PLAN_0.6.0.md |
software | healthy | docs/DEV_PLAN_0.6.0.md |
DEV_PLAN_0.7.0.md |
software | healthy | docs/DEV_PLAN_0.7.0.md |
OUTBOUND.md |
software | healthy | docs/OUTBOUND.md |
EXAMPLES.md |
software | healthy | docs/EXAMPLES.md |
CONFERENCE.md |
software | healthy | docs/CONFERENCE.md |
DEV_PLAN_0.6.1.md |
software | healthy | docs/DEV_PLAN_0.6.1.md |
SECURITY_FAIL2BAN.md |
software | healthy | docs/SECURITY_FAIL2BAN.md |
DESIGN_0.7.0_PARK.md |
software | healthy | docs/DESIGN_0.7.0_PARK.md |
DEPLOY.md |
software | healthy | docs/DEPLOY.md |
BOT_LOCALHOST_SETUP.md |
software | healthy | docs/BOT_LOCALHOST_SETUP.md |
SECURITY_STIR_SHAKEN.md |
software | healthy | docs/SECURITY_STIR_SHAKEN.md |
REGISTRATION.md |
software | healthy | docs/REGISTRATION.md |
DEV_PLAN_0.4.1.md |
software | healthy | docs/DEV_PLAN_0.4.1.md |
DEV_PLAN_0.3.0.md |
software | healthy | docs/DEV_PLAN_0.3.0.md |
DEV_PLAN_0.4.0.md |
software | healthy | docs/DEV_PLAN_0.4.0.md |
DEV_PLAN_0.2.0.md |
software | healthy | docs/DEV_PLAN_0.2.0.md |
INSTALL_DEBIAN13.md |
software | healthy | docs/INSTALL_DEBIAN13.md |
CONFIG.md |
software | healthy | docs/CONFIG.md |
FREESWITCH_INTEGRATION.md |
software | healthy | docs/FREESWITCH_INTEGRATION.md |
install-debian13.sh |
software | healthy | scripts/install-debian13.sh |
install-fail2ban.sh |
software | healthy | scripts/install-fail2ban.sh |
install-bot-debian13.sh |
software | healthy | scripts/install-bot-debian13.sh |
Cargo.toml |
software | healthy | crates/recording/Cargo.toml |
frame.rs |
software | healthy | crates/recording/src/frame.rs |
lib.rs |
software | healthy | crates/recording/src/lib.rs |
writer.rs |
software | healthy | crates/recording/src/writer.rs |
config.rs |
software | healthy | crates/recording/src/config.rs |
control.rs |
software | healthy | crates/recording/src/control.rs |
Cargo.toml |
software | healthy | crates/security/Cargo.toml |
lib.rs |
software | healthy | crates/security/src/lib.rs |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
_deepgram_url |
software | healthy | examples/transcription-server-py/server.py:99 |
_open_deepgram |
software | healthy | examples/transcription-server-py/server.py:113 |
_extract_transcript |
software | healthy | examples/transcription-server-py/server.py:123 |
handle |
software | healthy | examples/transcription-server-py/server.py:154 |
_drain_deepgram |
software | healthy | examples/transcription-server-py/server.py:171 |
_emit |
software | healthy | examples/transcription-server-py/server.py:303 |
make_request_handler |
software | healthy | examples/transcription-server-py/server.py:325 |
process_request |
software | dead | examples/transcription-server-py/server.py:333 |
parse_args |
software | healthy | examples/transcription-server-py/server.py:348 |
main |
software | healthy | examples/transcription-server-py/server.py:414 |
requireKey |
software | healthy | examples/deepgram-llm-bot-node/server.js:requireKey |
makeCallMetrics |
software | healthy | examples/deepgram-llm-bot-node/server.js:makeCallMetrics |
elapsed |
software | healthy | examples/deepgram-llm-bot-node/server.js:elapsed |
emit |
software | healthy | examples/deepgram-llm-bot-node/server.js:emit |
makeTurnMetrics |
software | healthy | examples/deepgram-llm-bot-node/server.js:makeTurnMetrics |
diff |
software | healthy | examples/deepgram-llm-bot-node/server.js:diff |
bytesPerFrame |
software | healthy | examples/deepgram-llm-bot-node/server.js:bytesPerFrame |
makePlayout |
software | healthy | examples/deepgram-llm-bot-node/server.js:makePlayout |
pump |
software | healthy | examples/deepgram-llm-bot-node/server.js:pump |
start |
software | healthy | examples/deepgram-llm-bot-node/server.js:start |
stop |
software | healthy | examples/deepgram-llm-bot-node/server.js:stop |
handleCall |
software | healthy | examples/deepgram-llm-bot-node/server.js:handleCall |
log |
software | healthy | examples/deepgram-llm-bot-node/server.js:log |
openDeepgramStt |
software | healthy | examples/deepgram-llm-bot-node/server.js:openDeepgramStt |
onSttResults |
software | healthy | examples/deepgram-llm-bot-node/server.js:onSttResults |
requestTransfer |
software | healthy | examples/deepgram-llm-bot-node/server.js:requestTransfer |
maybeTransfer |
software | healthy | examples/deepgram-llm-bot-node/server.js:maybeTransfer |
onUtteranceEnd |
software | healthy | examples/deepgram-llm-bot-node/server.js:onUtteranceEnd |
speakStreaming |
software | healthy | examples/deepgram-llm-bot-node/server.js:speakStreaming |
handleUserTurn |
software | healthy | examples/deepgram-llm-bot-node/server.js:handleUserTurn |
speakPhrase |
software | healthy | examples/deepgram-llm-bot-node/server.js:speakPhrase |
slot |
software | healthy | examples/deepgram-llm-bot-node/server.js:slot |
parse_twilio_verstat |
software | healthy | examples/verstat-compare-py/server.py:37 |
our_verdict |
software | healthy | examples/verstat-compare-py/server.py:56 |
compare |
software | healthy | examples/verstat-compare-py/server.py:77 |
handle |
software | healthy | examples/verstat-compare-py/server.py:108 |
main |
software | healthy | examples/verstat-compare-py/server.py:128 |
_start_msg |
software | healthy | examples/echo-ws-server-python/test_smoke.py:31 |
running_server |
software | healthy | examples/echo-ws-server-python/test_smoke.py:55 |
handler |
software | healthy | examples/echo-ws-server-python/test_smoke.py:58 |
_opts |
software | healthy | examples/echo-ws-server-python/test_smoke.py:73 |
_bound_port |
software | healthy | examples/echo-ws-server-python/test_smoke.py:96 |
test_start_then_audio_round_trip_then_stop |
software | healthy | examples/echo-ws-server-python/test_smoke.py:107 |
test_echo_marks_emits_mark_after_start |
software | healthy | examples/echo-ws-server-python/test_smoke.py:138 |
test_unsupported_version_closes_with_1003 |
software | healthy | examples/echo-ws-server-python/test_smoke.py:154 |
test_auth_token_required_when_configured |
software | healthy | examples/echo-ws-server-python/test_smoke.py:170 |
test_invalid_json_is_ignored_not_fatal |
software | healthy | examples/echo-ws-server-python/test_smoke.py:198 |
make_request_handler |
software | healthy | examples/echo-ws-server-python/server.py:88 |
process_request |
software | dead | examples/echo-ws-server-python/server.py:95 |
handle |
software | healthy | examples/echo-ws-server-python/server.py:118 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
docker |
software | healthy | docker |
docs |
software | healthy | docs |
scripts |
software | healthy | scripts |
crates |
software | healthy | crates |
recording |
software | healthy | crates/recording |
src |
software | healthy | crates/recording/src |
security |
software | healthy | crates/security |
src |
software | healthy | crates/security/src |
config |
software | healthy | crates/config |
tests |
software | healthy | crates/config/tests |
src |
software | healthy | crates/config/src |
http |
software | healthy | crates/http |
src |
software | healthy | crates/http/src |
routes |
software | healthy | crates/routes |
tests |
software | healthy | crates/routes/tests |
src |
software | healthy | crates/routes/src |
media-glue |
software | healthy | crates/media-glue |
tests |
software | healthy | crates/media-glue/tests |
common |
software | healthy | crates/media-glue/tests/common |
src |
software | healthy | crates/media-glue/src |
core |
software | healthy | crates/core |
tests |
software | healthy | crates/core/tests |
common |
software | healthy | crates/core/tests/common |
src |
software | healthy | crates/core/src |
bridge |
software | healthy | crates/bridge |
tests |
software | healthy | crates/bridge/tests |
src |
software | healthy | crates/bridge/src |
cdr |
software | healthy | crates/cdr |
src |
software | healthy | crates/cdr/src |
sip-glue |
software | healthy | crates/sip-glue |
tests |
software | healthy | crates/sip-glue/tests |
src |
software | healthy | crates/sip-glue/src |
webhooks |
software | healthy | crates/webhooks |
src |
software | healthy | crates/webhooks/src |
telemetry |
software | healthy | crates/telemetry |
src |
software | healthy | crates/telemetry/src |
stir-shaken |
software | healthy | crates/stir-shaken |
examples |
software | healthy | crates/stir-shaken/examples |
src |
software | healthy | crates/stir-shaken/src |
examples |
software | healthy | examples |
homer-stack |
software | healthy | examples/homer-stack |
transcription-server-py |
software | healthy | examples/transcription-server-py |
twilio-trunk |
software | healthy | examples/twilio-trunk |
deepgram-llm-bot-node |
software | healthy | examples/deepgram-llm-bot-node |
verstat-compare-py |
software | healthy | examples/verstat-compare-py |
echo-ws-server-python |
software | healthy | examples/echo-ws-server-python |
openai-realtime-bridge-py |
software | healthy | examples/openai-realtime-bridge-py |
test-harness |
software | healthy | test-harness |
tls |
software | healthy | test-harness/tls |
lib |
software | healthy | test-harness/tls/lib |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | README.md |
1.1.1.1 |
network | healthy | scripts/install-debian13.sh |
1.2.3.4 |
network | healthy | scripts/install-fail2ban.sh |
192.0.2.1 |
network | healthy | scripts/install-fail2ban.sh |
203.0.113.10 |
network | healthy | crates/config/tests/load.rs |
10.0.0.10 |
network | healthy | crates/config/tests/load.rs |
10.0.1.0 |
network | healthy | crates/config/tests/load.rs |
10.0.0.1 |
network | healthy | crates/config/tests/load.rs |
10.0.0.2 |
network | healthy | crates/config/tests/load.rs |
10.0.0.0 |
network | healthy | crates/config/tests/load.rs |
10.0.0.5 |
network | healthy | crates/config/tests/load.rs |
10.0.0.255 |
network | healthy | crates/config/tests/load.rs |
203.0.113.11 |
network | healthy | crates/config/tests/load.rs |
10.20.30.40 |
network | healthy | crates/config/tests/load.rs |
10.0.0.6 |
network | healthy | crates/config/tests/load.rs |
203.0.113.4 |
network | healthy | crates/config/tests/load.rs |
192.168.1.10 |
network | healthy | crates/media-glue/tests/setup.rs |
198.51.100.20 |
network | healthy | crates/media-glue/src/setup.rs |
198.51.100.10 |
network | healthy | crates/media-glue/src/sdp.rs |
203.0.113.7 |
network | healthy | crates/media-glue/src/sdp.rs |
8.1.1.4 |
network | healthy | crates/core/src/registry.rs |
192.0.2.10 |
network | healthy | crates/core/src/acceptor.rs |
192.0.2.99 |
network | healthy | crates/core/src/acceptor.rs |
10.0.0.99 |
network | healthy | crates/core/src/acceptor.rs |
192.168.42.5 |
network | healthy | crates/core/src/acceptor.rs |
8.2.6.1 |
network | healthy | crates/sip-glue/tests/handler_dispatch.rs |
10.99.0.1 |
network | healthy | bins/siphon-ai/tests/startup.rs |
10.99.0.2 |
network | healthy | bins/siphon-ai/tests/startup.rs |
17.1.1.3 |
network | healthy | bins/siphon-ai/src/runtime.rs |
10.0.1.5 |
network | healthy | bins/siphon-ai/src/runtime.rs |
203.0.113.99 |
network | healthy | bins/siphon-ai/src/runtime.rs |
10.0.0.11 |
network | healthy | bins/siphon-ai/src/runtime.rs |
10.0.5.1 |
network | healthy | bins/siphon-ai/src/runtime.rs |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::test-harness/sipp-scenarios/README.md |
security | healthy | test-harness/sipp-scenarios/README.md |
auth::examples/verstat-compare-py/server.py |
security | healthy | examples/verstat-compare-py/server.py |
auth::crates/security/src/verstat.rs |
security | healthy | crates/security/src/verstat.rs |
auth::crates/core/src/acceptor.rs |
security | healthy | crates/core/src/acceptor.rs |
auth::crates/config/src/raw.rs |
security | healthy | crates/config/src/raw.rs |
auth::crates/stir-shaken/examples/gen_test_passport.rs |
security | healthy | crates/stir-shaken/examples/gen_test_passport.rs |
auth::crates/stir-shaken/src/fetch.rs |
security | healthy | crates/stir-shaken/src/fetch.rs |
auth::crates/security/src/config.rs |
security | healthy | crates/security/src/config.rs |
auth::crates/stir-shaken/src/lib.rs |
security | healthy | crates/stir-shaken/src/lib.rs |
auth::test-harness/sipp-scenarios/run-all.sh |
security | healthy | test-harness/sipp-scenarios/run-all.sh |
auth::examples/verstat-compare-py/README.md |
security | healthy | examples/verstat-compare-py/README.md |
auth::README.md |
security | healthy | README.md |
auth::Cargo.toml |
security | healthy | Cargo.toml |
auth::crates/stir-shaken/src/verifier.rs |
security | healthy | crates/stir-shaken/src/verifier.rs |
| Label | Layer | Status | Path |
|---|---|---|---|
port:5070 |
network | healthy | docker/Dockerfile |
port:8765 |
network | healthy | docker/compose.yaml |
port:9091 |
network | healthy | docker/compose.yaml |
port:40100 |
network | healthy | docker/compose.yaml |
port:40000 |
network | healthy | docker/compose.yaml |
port:5072 |
network | healthy | crates/config/tests/load.rs |
port:5060 |
network | healthy | crates/config/src/env.rs |
port:9060 |
network | healthy | examples/homer-stack/compose.yaml |
port:9090 |
network | healthy | examples/homer-stack/compose.yaml |
port:9080 |
network | healthy | examples/homer-stack/compose.yaml |
port:80 |
network | healthy | examples/homer-stack/compose.yaml |
| Label | Layer | Status | Path |
|---|---|---|---|
image::docker/Dockerfile |
hardware | healthy | docker/Dockerfile |
image::examples/echo-ws-server-python/Dockerfile |
hardware | healthy | examples/echo-ws-server-python/Dockerfile |
image::examples/openai-realtime-bridge-py/Dockerfile |
hardware | healthy | examples/openai-realtime-bridge-py/Dockerfile |
echo-ws |
hardware | healthy | docker/compose.yaml |
siphon-ai |
hardware | healthy | docker/compose.yaml |
homer-db |
hardware | healthy | examples/homer-stack/compose.yaml |
heplify-server |
hardware | healthy | examples/homer-stack/compose.yaml |
homer-webapp |
hardware | healthy | examples/homer-stack/compose.yaml |
| Label | Layer | Status | Path |
|---|---|---|---|
Options |
software | healthy | examples/transcription-server-py/server.py:84 |
EchoServerSmokeTest |
software | healthy | examples/echo-ws-server-python/test_smoke.py:105 |
Options |
software | healthy | examples/echo-ws-server-python/server.py:49 |
ResamplerTests |
software | healthy | examples/openai-realtime-bridge-py/test_smoke.py:29 |
CliTests |
software | healthy | examples/openai-realtime-bridge-py/test_smoke.py:78 |
Options |
software | healthy | examples/openai-realtime-bridge-py/server.py:78 |
SessionContext |
software | healthy | examples/openai-realtime-bridge-py/server.py:195 |
| Label | Layer | Status | Path |
|---|---|---|---|
password_literal::crates/config/tests/load.rs |
security | healthy | crates/config/tests/load.rs |
password_literal::crates/config/tests/load.rs |
security | healthy | crates/config/tests/load.rs |
password_literal::bins/siphon-ai/tests/startup.rs |
security | healthy | bins/siphon-ai/tests/startup.rs |
password_literal::bins/siphon-ai/tests/startup.rs |
security | healthy | bins/siphon-ai/tests/startup.rs |
| Label | Layer | Status | Path |
|---|---|---|---|
postgres |
data | healthy | docker/compose.yaml |
postgresql |
data | healthy | examples/homer-stack/compose.yaml |
| Label | Layer | Status | Path |
|---|---|---|---|
loadbalancer |
network | healthy | examples/openai-realtime-bridge-py/README.md |
nginx |
network | healthy | bins/siphon-ai/src/runtime.rs |
| Label | Layer | Status | Path |
|---|---|---|---|
lint-and-test |
cicd | healthy | .github/workflows/test.yml |
sipp |
cicd | healthy | .github/workflows/test.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-0ym70nq4 |
software | healthy | /tmp/repobility-clone-0ym70nq4 |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::aws |
hardware | healthy | Cargo.lock |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::test |
cicd | healthy | .github/workflows/test.yml |
This page is publicly accessible at:
https://repobility.com/scan/08b615c5-500d-42df-8ce4-9e3d15b278d9/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/08b615c5-500d-42df-8ce4-9e3d15b278d9/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.