What Gets Stored
CREATE TABLE user_style_profiles (
user_id VARCHAR(255) PRIMARY KEY,
avg_sentence_length FLOAT,
formality_score FLOAT, -- 0 (casual) to 1 (formal)
uses_contractions BOOLEAN,
emoji_frequency FLOAT,
top_phrases JSON, -- ["sounds good", "let me know", ...]
greetings JSON, -- ["Hey", "Hi", ...]
signoffs JSON, -- ["Thanks", "Cheers", ...]
sample_count INT,
updated_at TIMESTAMP
);
What Never Gets Stored
- Message content
- Transcripts
- Audio recordings
- Conversation history
How It Updates
Each time you accept a formatted message:
- Statistics are extracted from the approved text
- New stats are blended with existing profile
- Influence decreases as sample count increases (1st message = 100%, 100th message = ~1%)
- Profile stabilizes over time
The privacy angle: instead of storing your messages, it stores statistics. Enough to personalize formatting without keeping what you actually said. A style fingerprint, not a transcript.