other
- Location
openapi.json:83- Finding
Mandatory Tracking Identifiers Create Excessive Data Collection and Privacy Risk
- Content
View full analysis
Vulnerability Details
File Location:
openapi.json:83-183; related external-service documentation atSKILL.md:23-51,SKILL.md:126-138, andSKILL.md:213-215
Vulnerability Type: Excessive Data Collection and Privacy Risk
Risk Level: MediumThe API requires a numeric user identifier, an outer session identifier and timestamp, and duplicate session and timestamp values inside the assessment data. These tracking fields are combined with potentially identifying educational and professional profile information and submitted to an externally operated API.
Relevant request example from
SKILL.md:23-51:json { "assessmentData": { "education": { "degree": "Bachelor of Science in Psychology", "institution": "State University", "graduationYear": "2023" }, "interests": [ "Clinical Psychology", "Mental Health Counseling", "Research" ], "experience": [ "Internship at community mental health center (6 months)", "Research assistant in cognitive psychology lab (1 year)" ], "skills": [ "Patient assessment", "Data analysis", "Research methodology", "Active listening", "Report writing" ], "goals": { "shortTerm": "Obtain licensure as Licensed Professional Counselor (LPC)", "longTerm": "Establish private practice specializing in trauma therapy" }, "sessionId": "sess_20240115_abc123", "timestamp": "2024-01-15T10:30:00Z" }, "sessionId": "sess_20240115_abc123", "userId": 42, "timestamp": "2024-01-15T10:30:00Z" }The corresponding required fields in
openapi.json:83-183include:json "AssessmentData": { "properties": { "education": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Education" }, "interests": { "items": { ...[truncated 3921 chars]- Remediation
View remediation
Remediation Suggestions
- Remove
userIdfrom the required request fields unless a documented, essential operational requirement exists. - Eliminate duplicate
sessionIdand timestamp fields. Retain only one request-scoped identifier where necessary. - Use short-lived, random, non-user-derived request identifiers rather than stable identifiers.
- Make all tracking identifiers optional for anonymous roadmap generation.
- Define strict schema limits for strings, arrays, and objects to reduce unnecessary submission of personal information.
- Add user-facing guidance warning against entering names, precise addresses, confidential clinical details, or other unnecessary sensitive information.
- Clearly document the external data recipient, processing purpose, retention period, deletion procedure, access controls, and any secondary use or sharing.
- Obtain explicit informed consent before transmitting assessment data to the external service.
- Apply server-side access controls, encryption in transit and at rest, retention limits, audit logging, and deletion enforcement.
- Conduct a privacy and data-protection review before collecting stable identifiers alongside educational and professional profile data.
- Remove
