Public scan — anyone with this URL can view this analysis. Sign up to track your own repos privately, run scheduled re-scans, and get AI fix prompts via your dashboard.
167 of your 259 findings came from Repobility's proprietary detections. ✓ Repobility tags below mark them.

Scan timing: clone 25.69s · analysis 9.68s · 36.1 MB · GitHub API rate-limit (preflight)

zylon-ai/private-gpt

https://github.com/zylon-ai/private-gpt · scanned 2026-06-05 09:58 UTC (5 days, 16 hours ago) · 10 languages

675 raw signals (243 security + 432 graph) 11/13 scanners ran 77th percentile · Python · large (100-500K LoC) System graph score 74 (higher by 10)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

Last scanned 5 days, 16 hours ago · v2 · 280 actionable findings from 2 signal sources. 159 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.

JSON
Score breakdown â 2026-05-18-v5
Component Sub-score Weight Contribution
structure_score 60.0 0.15 9.00
security_score 100.0 0.25 25.00
testing_score 90.0 0.20 18.00
documentation_score 86.0 0.15 12.90
practices_score 85.0 0.15 12.75
code_quality 61.0 0.10 6.10
Overall 1.00 83.8
security_score may be inflated — optional security scanners were skipped on this fast scan
Severity distribution — click a segment to filter
Active filters: excluding tests × Reset all

All 6083 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.

LabelLayerStatusPath
_as_module software healthy tests/conftest.py:10
test_injector_is_shared_across_loops_when_global_root_exists software healthy tests/test_di.py:16
__init__ software healthy tests/test_di.py:134
operation software healthy tests/test_di.py:26
rollback_fn software healthy tests/test_di.py:38
run_task_in_thread software healthy tests/test_di.py:43
thread_func software healthy tests/test_di.py:55
async_task software healthy tests/test_di.py:62
test_global_fallback_injector software healthy tests/test_di.py:132
test_clean_global_injector software healthy tests/test_di.py:151
run_in_loop software healthy tests/test_di.py:155
test_environment_variables_are_loaded software healthy tests/settings/test_settings_loader.py:10
test_environment_defaults_variables_are_loaded software healthy tests/settings/test_settings_loader.py:20
test_environment_defaults_variables_are_loaded_with_duplica… software healthy tests/settings/test_settings_loader.py:28
test_environment_without_defaults_fails software healthy tests/settings/test_settings_loader.py:36
test_load_models_from_env software healthy tests/settings/test_settings_loader.py:45
test_multiple_environment_variables_fallback software healthy tests/settings/test_settings_loader.py:61
test_multiple_environment_variables_without_default_fails software healthy tests/settings/test_settings_loader.py:82
test_settings_are_loaded_and_merged software healthy tests/settings/test_settings.py:5
test_settings_can_be_overriden software healthy tests/settings/test_settings.py:9
create_text_delta software healthy tests/engines/test_processor_citations.py:25
create_document software healthy tests/engines/test_processor_citations.py:29
generate_events software healthy tests/engines/test_processor_citations.py:35
test_process_citations_with_citations software healthy tests/engines/test_processor_citations.py:41
test_process_citations_without_documents software healthy tests/engines/test_processor_citations.py:70
test_process_citations_with_error software healthy tests/engines/test_processor_citations.py:88
test_multiple_citations_processing software healthy tests/engines/test_processor_citations.py:102
test_english_financial_table software healthy tests/engines/test_term_extractor.py:6
test_spanish_financial_table software healthy tests/engines/test_term_extractor.py:24
test_numbered_list software healthy tests/engines/test_term_extractor.py:42
test_mixed_content_extraction software healthy tests/engines/test_term_extractor.py:60
test_empty_content software healthy tests/engines/test_term_extractor.py:84
test_numeric_content software healthy tests/engines/test_term_extractor.py:92
test_only_numeric_content software healthy tests/engines/test_term_extractor.py:103
test_length_constraints_none software healthy tests/engines/test_term_extractor.py:110
test_length_constraints_combinations software healthy tests/engines/test_term_extractor.py:119
test_multilingual_content software healthy tests/engines/test_term_extractor.py:133
test_unique_terms_across_texts software healthy tests/engines/test_term_extractor.py:153
test_unique_terms_simple_case software healthy tests/engines/test_term_extractor.py:186
test_unique_terms_with_overlap software healthy tests/engines/test_term_extractor.py:197
test_unique_terms_with_case_variations software healthy tests/engines/test_term_extractor.py:214
test_unique_terms_with_empty_text software healthy tests/engines/test_term_extractor.py:227
test_unique_terms_with_numbers software healthy tests/engines/test_term_extractor.py:238
test_unique_terms_with_special_characters software healthy tests/engines/test_term_extractor.py:248
test_unique_terms_scoring_priority software healthy tests/engines/test_term_extractor.py:259
test_unique_terms_length_constraints software healthy tests/engines/test_term_extractor.py:287
test_unique_terms_multilingual software healthy tests/engines/test_term_extractor.py:303
_noop_tool software healthy tests/engines/test_chat_agent_engine.py:33
base_request software healthy tests/engines/test_chat_agent_engine.py:38
test_loop_emits_text_and_stop software healthy tests/engines/test_chat_agent_engine.py:46

Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.

LabelLayerStatusPath
IdentifiableService software healthy tests/test_di.py:17
MarkerService software healthy tests/test_di.py:133
TestRegistryCompleteness software healthy tests/models/anthropic/test_registry_completeness.py:51
TypeMapping software healthy tests/models/anthropic/registry.py:51
TestFieldParity software healthy tests/models/anthropic/test_field_parity.py:66
TestSDKParse software healthy tests/models/anthropic/test_sdk_parse.py:30
TestOpenAPISchemaCompatibility software healthy tests/models/anthropic/test_openapi_schema.py:296
MockProgressStep software healthy tests/celery/test_notify.py:12
TestProgressStatus software healthy tests/celery/test_notify.py:171
CallbackInput software healthy tests/celery/test_tasks.py:28
CallbackResponse software healthy tests/celery/test_tasks.py:33
_FunctionCallingZylonLLM software healthy tests/fixtures/mock_function_llm.py:21
MockInjector software healthy tests/fixtures/mock_injector.py:14
IngestHelper software healthy tests/fixtures/ingest_helper.py:15
TestMarkdownParser software healthy tests/components/transforms/test_markdown_node_transform.py…
DummyTextSplitter software healthy tests/components/transforms/test_sentence_node_parser.py:16
MockFlexibleModel software healthy tests/components/multimodality/test_describe_image.py:19
MockLLM software healthy tests/components/multimodality/test_describe_image.py:33
MockFlexibleModel software healthy tests/components/multimodality/test_describe_audio.py:21
MockLLM software healthy tests/components/multimodality/test_describe_audio.py:35
PatchAudioBlock software healthy tests/components/multimodality/test_describe_audio.py:62
Config software healthy tests/components/multimodality/test_describe_audio.py:65
MockLLM software healthy tests/components/multimodality/test_multimodality.py:40
TestImagePreprocessing software healthy tests/components/multimodality/test_multimodality.py:231
TestAudioPreprocessing software healthy tests/components/multimodality/test_multimodality.py:286
TestMultimodalPreprocessing software healthy tests/components/multimodality/test_multimodality.py:341
TestHistoryPreprocessing software healthy tests/components/multimodality/test_multimodality.py:422
TestTypeChecking software healthy tests/components/multimodality/test_multimodality.py:499
TestParametrizedPreprocessing software healthy tests/components/multimodality/test_multimodality.py:530
TestTLDRBlockModel software healthy tests/components/chat/test_tldr_side.py:29
TestTrimToLastTLDR software healthy tests/components/chat/test_tldr_side.py:66
TestBuildCondensedHistory software healthy tests/components/chat/test_tldr_side.py:223
TestTLDRSideEdgeCases software healthy tests/components/chat/test_tldr_side.py:324
TestCondensationInterceptor software healthy tests/components/chat/test_tldr_side.py:453
ProcessingContext software healthy tests/components/interceptors/test_base_interceptors.py:13
ProcessingConfig software healthy tests/components/interceptors/test_base_interceptors.py:34
BaseParserInterceptor software healthy tests/components/interceptors/test_base_interceptors.py:38
ParsedText software healthy tests/components/interceptors/test_base_interceptors.py:46
_Message software healthy tests/components/interceptors/test_base_interceptors.py:50
ParsedReasoning software healthy tests/components/interceptors/test_base_interceptors.py:59
ParsedTool software healthy tests/components/interceptors/test_base_interceptors.py:64
TextInterceptor software healthy tests/components/interceptors/test_base_interceptors.py:73
ReasoningInterceptor software healthy tests/components/interceptors/test_base_interceptors.py:104
ToolInterceptor software healthy tests/components/interceptors/test_base_interceptors.py:146
TestTextInterceptorNewlines software healthy tests/components/interceptors/test_base_interceptors.py:295
TestReasoningInterceptorNewlines software healthy tests/components/interceptors/test_base_interceptors.py:337
TestToolThenTextPipeline software healthy tests/components/interceptors/test_base_interceptors.py:388
TestToolThenReasoningPipeline software healthy tests/components/interceptors/test_base_interceptors.py:443
TestBraveProviderErrorHandling software healthy tests/components/web_search/test_brave_provider.py:80
TestWebSearchServiceConfiguration software healthy tests/components/web_search/test_web_search_service.py:93

Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.

LabelLayerStatusPath
settings-test.yaml software healthy settings-test.yaml
README.md software healthy README.md
settings.yaml software healthy settings.yaml
Dockerfile software healthy Dockerfile
settings-mock.yaml software healthy settings-mock.yaml
pyproject.toml software healthy pyproject.toml
Makefile software healthy Makefile
CHANGELOG.md software healthy CHANGELOG.md
__init__.py software healthy tests/__init__.py
conftest.py software healthy tests/conftest.py
test_di.py software healthy tests/test_di.py
test_settings_loader.py software healthy tests/settings/test_settings_loader.py
test_settings.py software healthy tests/settings/test_settings.py
test_processor_citations.py software healthy tests/engines/test_processor_citations.py
test_term_extractor.py software healthy tests/engines/test_term_extractor.py
test_chat_agent_engine.py software healthy tests/engines/test_chat_agent_engine.py
test_citation_engine.py software healthy tests/engines/test_citation_engine.py
openapi_drift_whitelist.json software healthy tests/models/anthropic/openapi_drift_whitelist.json
test_registry_completeness.py software healthy tests/models/anthropic/test_registry_completeness.py
registry.py software healthy tests/models/anthropic/registry.py
test_field_parity.py software healthy tests/models/anthropic/test_field_parity.py
test_sdk_parse.py software healthy tests/models/anthropic/test_sdk_parse.py
test_openapi_schema.py software healthy tests/models/anthropic/test_openapi_schema.py
test_notify.py software healthy tests/celery/test_notify.py
test_tasks.py software healthy tests/celery/test_tasks.py
test_base_task.py software healthy tests/celery/test_base_task.py
fast_api_test_client.py software healthy tests/fixtures/fast_api_test_client.py
auto_close_qdrant.py software healthy tests/fixtures/auto_close_qdrant.py
__init__.py software healthy tests/fixtures/__init__.py
async_loop.py software healthy tests/fixtures/async_loop.py
mock_function_llm.py software healthy tests/fixtures/mock_function_llm.py
mock_injector.py software healthy tests/fixtures/mock_injector.py
ingest_helper.py software healthy tests/fixtures/ingest_helper.py
test_markdown_node_transform.py software healthy tests/components/transforms/test_markdown_node_transform.py
test_sentence_node_parser.py software healthy tests/components/transforms/test_sentence_node_parser.py
test_describe_image.py software healthy tests/components/multimodality/test_describe_image.py
test_describe_audio.py software healthy tests/components/multimodality/test_describe_audio.py
test_multimodality.py software healthy tests/components/multimodality/test_multimodality.py
test_prev_next_replacement.py software healthy tests/components/postprocessor/test_prev_next_replacement.py
test_split_subtrees.py software healthy tests/components/postprocessor/tree/test_split_subtrees.py
__init__.py software healthy tests/components/postprocessor/tree/__init__.py
test_document_expander.py software healthy tests/components/postprocessor/tree/test_document_expander.…
test_paper_distance.py software healthy tests/components/postprocessor/tree/test_paper_distance.py
test_tldr_side.py software healthy tests/components/chat/test_tldr_side.py
test_dabatase_not_supported_types.py software healthy tests/components/database/test_dabatase_not_supported_types…
test_dabatase_query_generator.py software healthy tests/components/database/test_dabatase_query_generator.py
test_base_interceptors.py software healthy tests/components/interceptors/test_base_interceptors.py
test_df_preprocessor.py software healthy tests/components/processors/test_df_preprocessor.py
test_brave_provider.py software healthy tests/components/web_search/test_brave_provider.py
test_web_search_service.py software healthy tests/components/web_search/test_web_search_service.py

Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.

LabelLayerStatusPath
tests software healthy tests
settings software healthy tests/settings
engines software healthy tests/engines
models software healthy tests/models
anthropic software healthy tests/models/anthropic
celery software healthy tests/celery
fixtures software healthy tests/fixtures
components software healthy tests/components
transforms software healthy tests/components/transforms
multimodality software healthy tests/components/multimodality
postprocessor software healthy tests/components/postprocessor
tree software healthy tests/components/postprocessor/tree
chat software healthy tests/components/chat
database software healthy tests/components/database
interceptors software healthy tests/components/interceptors
processors software healthy tests/components/processors
web_search software healthy tests/components/web_search
readers software healthy tests/components/readers
files software healthy tests/components/readers/files
nodes software healthy tests/components/readers/nodes
memory software healthy tests/components/memory
workflows software healthy tests/components/workflows
others software healthy tests/components/workflows/others
tools software healthy tests/components/tools
prompts software healthy tests/components/prompts
skills software healthy tests/components/skills
transformations software healthy tests/components/transformations
llm software healthy tests/components/llm
tokenizers software healthy tests/components/llm/tokenizers
models software healthy tests/components/llm/tokenizers/models
decorators software healthy tests/components/llm/decorators
sse software healthy tests/sse
server software healthy tests/server
models software healthy tests/server/models
events software healthy tests/server/events
primitives software healthy tests/server/primitives
utils software healthy tests/server/utils
ingest software healthy tests/server/ingest
chat software healthy tests/server/chat
interceptors software healthy tests/server/chat/interceptors
anthropic software healthy tests/server/chat/anthropic
embeddings software healthy tests/server/embeddings
content software healthy tests/server/content
skills software healthy tests/server/skills
ui software healthy ui
docs software healthy ui/docs
scripts software healthy scripts
private_gpt software healthy private_gpt
settings software healthy private_gpt/settings
celery software healthy private_gpt/celery

Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.

LabelLayerStatusPath
GET /health api healthy private_gpt/celery/healthcheck.py
GET /models api healthy private_gpt/server/models/models_router.py
GET /models/{model_id} api healthy private_gpt/server/models/models_router.py
POST /search api healthy private_gpt/server/primitives/primitives_router.py
POST /ingest api healthy private_gpt/server/ingest/ingest_router.py
POST /ingest/async api healthy private_gpt/server/ingest/ingest_router.py
GET /ingest/async/{task_id} api healthy private_gpt/server/ingest/ingest_router.py
GET /list api healthy private_gpt/server/ingest/ingest_router.py
POST /delete api healthy private_gpt/server/ingest/ingest_router.py
POST /delete/async api healthy private_gpt/server/ingest/ingest_router.py
GET /delete/async/{task_id} api healthy private_gpt/server/ingest/ingest_router.py
POST /messages api healthy private_gpt/server/chat/chat_router.py
POST /messages/count_tokens api healthy private_gpt/server/chat/chat_router.py
POST /messages/validate api healthy private_gpt/server/chat/chat_router.py
POST /embeddings api healthy private_gpt/server/embeddings/embeddings_router.py
POST /content api healthy private_gpt/server/content/content_router.py
POST /chunked-content api healthy private_gpt/server/content/content_router.py
POST /tools/semantic-search api healthy private_gpt/server/tools/tool_router.py
POST /tools/tabular-data-analysis api healthy private_gpt/server/tools/tool_router.py
POST /tools/database-query api healthy private_gpt/server/tools/tool_router.py
POST /tools/web-fetch api healthy private_gpt/server/tools/tool_router.py
POST /tools/web-search api healthy private_gpt/server/tools/tool_router.py
GET /{message_id}/stream api healthy private_gpt/server/chat_async/chat_async_router.py
GET /{message_id}/status api healthy private_gpt/server/chat_async/chat_async_router.py
POST /{message_id}/cancel api healthy private_gpt/server/chat_async/chat_async_router.py
DELETE /{message_id}/delete api healthy private_gpt/server/chat_async/chat_async_router.py
POST / api healthy private_gpt/server/skills/skill_router.py
GET / api healthy private_gpt/server/skills/skill_router.py
GET /{skill_id} api healthy private_gpt/server/skills/skill_router.py
DELETE /{skill_id} api healthy private_gpt/server/skills/skill_router.py
POST /{skill_id}/versions api healthy private_gpt/server/skills/skill_router.py
GET /{skill_id}/versions api healthy private_gpt/server/skills/skill_router.py
GET /{skill_id}/versions/{version} api healthy private_gpt/server/skills/skill_router.py
DELETE /{skill_id}/versions/{version} api healthy private_gpt/server/skills/skill_router.py
POST /complete api healthy private_gpt/server/completion/completion_router.py

LabelLayerStatusPath
update cicd healthy .github/workflows/update-claude-specs.yml
release-please cicd healthy .github/workflows/release-please.yml
build-and-publish-package cicd healthy .github/workflows/generate-release.yml
publish-package-index cicd healthy .github/workflows/generate-release.yml
build-and-push-image cicd healthy .github/workflows/generate-release.yml
update-homebrew-tap cicd healthy .github/workflows/generate-release.yml
fern-check cicd healthy .github/workflows/fern-check.yml
publish-docs cicd healthy .github/workflows/publish-docs.yml
preview-docs cicd healthy .github/workflows/preview-docs.yml
checks cicd healthy .github/workflows/tests.yml
test cicd healthy .github/workflows/tests.yml
all_checks_passed cicd healthy .github/workflows/tests.yml
update-openapi cicd healthy .github/workflows/post-release-please.yml
update-uv-lock cicd healthy .github/workflows/post-release-please.yml
stale cicd healthy .github/workflows/stale.yml

LabelLayerStatusPath
DOCKER_USERNAME cicd healthy
GITHUB_TOKEN cicd healthy
FERN_TOKEN cicd healthy
HOMEBREW_TAP_GITHUB_TOKEN cicd healthy
HOMEBREW_TAP_REPOSITORY cicd healthy
REGISTRY cicd healthy
DOCKER_PASSWORD cicd healthy
PACKAGE_FILES_URL cicd healthy
PAT cicd healthy
IMAGE_NAME cicd healthy
RELEASE_PACKAGE_EXTRA cicd healthy

LabelLayerStatusPath
gha::update-claude-specs cicd healthy .github/workflows/update-claude-specs.yml
gha::release-please cicd healthy .github/workflows/release-please.yml
gha::generate-release cicd healthy .github/workflows/generate-release.yml
gha::fern-check cicd healthy .github/workflows/fern-check.yml
gha::publish-docs cicd healthy .github/workflows/publish-docs.yml
gha::preview-docs cicd healthy .github/workflows/preview-docs.yml
gha::tests cicd healthy .github/workflows/tests.yml
gha::post-release-please cicd healthy .github/workflows/post-release-please.yml
gha::stale cicd healthy .github/workflows/stale.yml
gha::action cicd healthy .github/workflows/actions/install_dependencies/action.yml

LabelLayerStatusPath
migrations.py data healthy private_gpt/components/persistence/migrations.py
migrations.py data healthy private_gpt/components/skills/migrations.py
__init__.py data healthy private_gpt/components/migrations/__init__.py
models.py data healthy private_gpt/components/migrations/models.py
runner.py data healthy private_gpt/components/migrations/runner.py
__init__.py data healthy private_gpt/components/migrations/backend/__init__.py
sqlalchemy_backend.py data healthy private_gpt/components/migrations/backend/sqlalchemy_backen…
base.py data healthy private_gpt/components/migrations/backend/base.py

LabelLayerStatusPath
schema_migrations data healthy private_gpt/components/persistence/migrations.py
skills data healthy private_gpt/components/skills/migrations.py
skill_versions data healthy private_gpt/components/skills/migrations.py
SkillBase data healthy private_gpt/components/skills/models/sqlalchemy_models.py
skills data healthy private_gpt/components/skills/models/sqlalchemy_models.py
skill_versions data healthy private_gpt/components/skills/models/sqlalchemy_models.py

LabelLayerStatusPath
sqlite data healthy settings-test.yaml
postgres data healthy settings.yaml
redis data healthy settings.yaml
mysql data healthy Dockerfile
postgresql data healthy tests/components/database/test_dabatase_query_generator.py

LabelLayerStatusPath
127.0.0.1 network healthy settings.yaml
0.2.1.1 network healthy pyproject.toml
4.10.0.84 network healthy pyproject.toml
6.0.12.12 network healthy pyproject.toml
0.9.9.4 network healthy pyproject.toml

LabelLayerStatusPath
vps::aws hardware healthy tests/server/ingest/test_ingest_routes.py
vps::azure hardware healthy private_gpt/components/web/web_search/providers/mock.py
vps::gcp hardware healthy private_gpt/components/web/web_search/providers/mock.py

LabelLayerStatusPath
celery data healthy settings-test.yaml
rabbitmq data healthy settings.yaml

LabelLayerStatusPath
port:8080 network healthy settings.yaml
port:03 network healthy .github/workflows/update-claude-specs.yml

LabelLayerStatusPath
repobility-clone-ikoeb76s software healthy /tmp/repobility-clone-ikoeb76s

LabelLayerStatusPath
image::Dockerfile hardware healthy Dockerfile

LabelLayerStatusPath
gpu (detected) hardware healthy private_gpt/settings/settings.py
For AI agents: Voting guide (TP/FP) MCP manifest Stdio wrapper SARIF Integrate Findings queue Vote TP/FP on findings to calibrate the engine.
For AI agents + API integrations
Email me when this repo regresses
Free. We re-scan periodically; new criticals → your inbox. No signup required for the scan itself.
API access

This page is publicly accessible at: https://repobility.com/scan/236a1059-41c1-4798-8b77-d160d63718b9/

To check status programmatically (no auth required):

curl -s https://repobility.com/api/v1/public/scan/236a1059-41c1-4798-8b77-d160d63718b9/

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.