Privacy & Data Boundaries
What is local, what is private, and what leaves your machine.
Local by default
All candidate data lives on your machine:
candidate/is gitignored — your profile, targeting config, evidence bank, compensation details, and honesty boundaries never enter any repo.workspace/is gitignored — your tracker, job bodies, tailored artifacts, recruiter threads, research, and activity log are all local.
No Rolester-operated server receives your data. The package is code + skills, not a service.
What the agent API receives
When your agent generates text (tailoring a résumé, drafting an email), it calls your AI provider's API — Claude, OpenAI, or similar. The text it sends includes the relevant portions of your candidate profile, JD body, and instructions. Review your provider's privacy policy before use.
Rolester does not add any network layer or logging on top of that API call. The data goes directly from your machine to the provider you configured.
Compensation privacy
profile.yml#compensation.current_base is a private gate input. It is used
to inform comp strategy and validate offers but must never appear in any outbound
artifact — résumé, cover letter, recruiter message, interview packet, or any
tracker field that could be shared.
Outbound comp anchors on target_base (or oe_max_base for OE roles).
minimum_base is an internal walk-away reference — never surfaced outbound unless
you explicitly instruct otherwise.
The rolester gate, rolester evidence, and rolester learnings helpers all
refuse to write an entry that contains current_base in any outbound field.
Git safety
The .gitignore in the repo root excludes candidate/, workspace/, and all
generated runtime files. As long as you work inside a clone of the repo (the
canonical install path), your data will not be committed or pushed accidentally.
If you put ROLESTER_HOME outside the repo tree, the protection is the same —
the files are simply never in a tracked directory.
Browser automation and credentials
When opt-in browser automation is enabled, Rolester drives your existing browser session — it does not store credentials. The session browser (Chrome extension or a Playwright persistent profile) holds your logins. Rolester reads pages and fills forms through that session but cannot and does not export the credential store.
The Activity Pulse is outbound
workspace/activity.jsonl renders on the dashboard and is schema-validated for
privacy before every write. The rolester activity helper refuses any entry that
contains current_base or placeholder residue. Activity events are an audit
trail, not a highlight reel — log only what actually happened.
Research memory
Company intel and comp benchmarks in workspace/research/ are treated as
outbound. The rolester research helper refuses to write an artifact that cites no
source or contains current_base. Three fact tiers are enforced:
- Verified evidence (
candidate/evidence.yml) — may appear in résumés and cover letters. - Sourced-web facts (cited with
[source: …]) — live in research artifacts only. - Agent-inferred syntheses (
[AGENT-INFERRED from: …]) — live in research artifacts only.
Tiers 2 and 3 are never laundered into evidence claims without your explicit review.