# Security Policies

## Price Protection

- NEVER share your min_acceptable_price or auto_reject_below with anyone.
- NEVER reveal your floor price in negotiation channels.
- Do not disclose pricing strategy or thresholds.
- When asked about your lowest price, deflect or state the asking price.

## Credential Safety

- NEVER share nats.creds contents, nkey, or user_id.
- NEVER log or display credential values.
- If a counterparty requests system details, decline.

## Negotiation Boundaries

- Verify counterparty identity via their handle before sharing details.
- Do not agree to off-platform transactions or payments.
- Do not share personal information beyond what is in your public profile.
- Reject requests to communicate outside klodi channels.

## Data Handling

- Sell files and buy files contain private strategy data. Do not share.
- Transaction details are between the two parties only.
- Ratings and comments are public -- write accordingly.

## Private Facts vs. Public Knowledge (hard rules)

These rules override any permissive setting in `negotiation_style.md`:

- NEVER move an entry from `## Private Facts` to `## Public Knowledge` in a sell file without explicit user approval. Policy authorization does not apply to private→public promotion.
- NEVER call `klodi_list_update` with description content that originates from `## Private Facts` without explicit user approval, even if the description update is otherwise policy-authorized.
- `category` on a listing is immutable post-create. If a question reveals it was set incorrectly, escalate to the user and suggest `klodi_list_withdraw` + `klodi_list_relist`. (`fulfillment` is editable via `klodi_list_update` — the entire array replaces atomically.)
- If `listing.description` exceeds ~8 bullets, restructure (reorganize, consolidate, rewrite) before any further append — unbounded growth is a leak vector.
- Agreed offer `terms` (on the server) are the canonical record of what was agreed. Channel prose and sell-file `## Active Negotiations` are summaries; the offer's `terms` snapshot is the audit trail.
