Privacy Notice
This notice explains what CRank stores, how long it is kept, and how you can control or delete your data.
Data We Store
| Data | Purpose | Retention |
|---|---|---|
| Account identity (email, name from Google) | Authentication | Until account deletion |
| Structured preferences (JSON) | Deterministic job matching | Until reset or account deletion |
| Conversation messages (your role + text) | Multi-turn agent interaction | Until archived, deleted, or account deletion |
| Job matches (rank, rationale, state) | Presenting recommendations | Until dismissed or account deletion |
| Agent run summaries (counts, status) | Operational observability | Per operational retention policy |
Data We Do Not Store
- Raw LLM system prompts or hidden instructions.
- API keys or provider credentials.
- Complete external API responses beyond normalized scores and listings.
- Provider reasoning or chain-of-thought data.
- Profile data from sources you have not interacted with.
How Preferences Work
Preferences are stored as a versioned JSON document — the canonical source of truth. A server-generated markdown projection is used for prompts and your review, but is never trusted as input. Preferences are created on first agent interaction, not at OAuth login.
Recommendation Rationale
Recommendations use deterministic filtering of your structured preferences against organization scores and job listings. The LLM may explain why a result matches, but it is never the sole filter or ranking mechanism. Recommendations always reference organization IDs returned by server-side queries.
Export Your Data
Use the conversation export API to download your conversation data:
GET /api/agent/conversations/<conversation_id>/export/
This returns your conversation messages in a structured format. You must be authenticated and own the conversation.
Reset Preferences
Reset your preferences to defaults through the conversation reset API:
POST /api/agent/conversations/<conversation_id>/reset/
This clears your stored preferences back to the default empty document.
Delete Your Data
- Delete a conversation:
DELETE /api/agent/conversations/<conversation_id>/delete/ - Delete all data: Account deletion cascades to all preferences, conversations, and matches.
Security Controls
- All preference, conversation, and match APIs require authentication and enforce ownership.
- Admin access is auditable.
- Secrets are supplied through environment-backed configuration, never checked into source control.
- External content is treated as untrusted data and cannot modify prompts, tool policy, or source configuration.
Reporting a Privacy Concern
Open an issue on the GitHub issue tracker or contact the project maintainers directly.
Owner: CRank maintainers · Last reviewed: 2026-08-12 · Help home · Version/change process: architecture documentation