ai-diabetes-coach
ReviewAudited by ClawScan on May 11, 2026.
Overview
No hidden exfiltration or destructive behavior is evident, but this health/insulin coaching service should be reviewed before use because important personalization fields are inconsistently documented and implemented.
Use this only as a local, single-user educational tool unless the profile-field mismatch is fixed and a clinician has validated the dosing logic. Keep the API key secret, do not expose the service directly to the internet, and do not rely on insulin outputs without medical review.
Findings (3)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
Insulin reference calculations may use default target, correction factor, or carb ratio instead of the user’s intended clinician-provided settings.
The documentation tells users to set clinically important personalization fields using names that the implementation does not update. For an insulin-reference workflow, this can make users over-trust outputs that are still based on defaults.
app.py: "if 'target' in data ... if 'cf' in data ... if 'ratio' in data"; USE_GUIDE.md example sends "target_glucose", "correction_factor", "carb_ratio"
Align the API documentation and code, reject unknown profile fields instead of silently ignoring them, and clearly show which dosing parameters are actually being used.
Anyone who has the API key can read or modify any profile or record by choosing a user_id.
All protected endpoints rely on one shared API key, and the deployment guide acknowledges there is no user isolation. This is purpose-aligned for a single-user local tool but important for sensitive health data.
app.py: "if request.headers.get(\"X-API-Key\") != API_KEY"; DEPLOY.md: "不用于多用户场景(无用户隔离)"
Use only for local or single-user scenarios unless per-user authentication and authorization are added; keep the API key strong and private.
Sensitive health records remain accessible within the running process until restart, and any holder of the shared API key can retrieve data for a known user_id.
The service stores glucose, carbohydrate, exercise, insulin, and profile data in shared in-process memory for later risk and summary responses. This is disclosed and purpose-aligned, but the data is sensitive.
core.py: "user_profiles = {}" and "user_records = {}"; app.py: "user_records.setdefault(uid, []).append(rec)"Keep the service local, avoid using real multi-user identifiers, and add retention controls, encryption, and user-level authorization before broader deployment.
