Return to Today’s Story

Privacy Policy & Data Practices

Last updated: September 2026 • Compliant with minimalist data protection principles.

1. Anonymous by Default

Just Another Salaryman does not require account registration, passwords, emails, or personal identifiers. Anyone can read the narrative, propose suggestions, and vote freely.

2. Salted HMAC-SHA256 IP Hashing

To prevent bot flooding and enforce the rate limit (1 submission, 5 votes per 30-minute turn), incoming client IP addresses are immediately hashed in-memory using HMAC-SHA256 with a dedicated secret key managed in GCP Secret Manager. Your raw IP address is never stored in any database or written to disk.

3. Nickname Cookie (Functional & Optional)

If you optionally choose to enter a nickname when proposing a story suggestion, a functional cookie (user_nickname) is saved in your browser with SameSite=Laxand a 30-day expiration so you do not have to retype it. We do not use third-party tracking, advertising, or profiling cookies.

4. Data Deletion & Redaction Requests

If a submission contains personal information, copyrighted text, or offensive material, any user may click the “Report” button or contact the administrators to trigger immediate redaction via our automated post-publish redaction tools.

Memory Lab: Variant B Inspector

Live inspection of Kenji’s 5-layer modular context

0 chars~0 tokensUpdated: Live
5-Layer Structured State

Why Structured State vs. Rolling Summaries?

Standard long-horizon AI agents rely on Variant A (lossy rolling summaries), which suffer from rapid narrative amnesia and catastrophic drift by Turn 10. Variant B splits memory into five immutable or isolated compartments, eliminating context bloat and hallucinated departures.

Layer 0: premise.md0 chars

Kenji’s immutable salaryman anchor: age 38, Section 3 Accounting, commuter habits, and ordinary daily routine. Never altered by turn events.

Layer 1: week_theme.md0 chars

Admin-curated weekly genre overlay. Kenji never stops being an ordinary salaryman; he interprets genre phenomena through the lens of commuter practicality.

Layer 2: daily_arc.md0 chars

Today’s progression across 32 half-hour intervals (06:00 to 22:00) with a mandatory home-bookend soft goal enforced at day’s closure.

Layer 3: accumulated.md0 chars

Persistent facts, inventory items, and relationships that have survived end-of-day promotion by the automated extractor.

Layer 4: chronicle/*Retrieved on-demand

Vector index + BM25 keyword retrieval pulling the top-3 historically relevant turns dynamically into the prompt.