You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: PRIVACY.md
+74-10Lines changed: 74 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
# Privacy Policy
2
2
3
3
**Effective Date:** October 18, 2025
4
-
**Last Updated:** January 9, 2026
4
+
**Last Updated:** January 25, 2026
5
5
6
6
## Introduction
7
7
@@ -51,6 +51,56 @@ For privacy inquiries, contact us at the email above.
51
51
52
52
**Fallback:** If your device does not have a lock screen configured, learned words are stored without encryption, and you will see a warning about this in the app.
53
53
54
+
### 1A. Word Frequency Tracking (Encrypted)
55
+
56
+
**What:** Per-word usage frequency counters stored separately from learned words.
57
+
58
+
**Purpose:** To rank suggestions by your actual typing patterns and boost frequently used words.
59
+
60
+
**Storage:** Encrypted local SQLCipher database on your device using hardware-backed encryption (Android Keystore).
61
+
62
+
**Details Stored:**
63
+
- Word (normalized)
64
+
- Language code
65
+
- Frequency counter (incremented on each use)
66
+
- Timestamp (last used)
67
+
68
+
**What We Don't Store:**
69
+
- Typed sentences or context
70
+
- Which app you used the word in
71
+
- Any identifying information
72
+
73
+
**Data Persistence:** Word frequency data is NOT included in dictionary exports. It remains local-only and is deleted on app uninstall.
74
+
75
+
**Encryption:** Same AES-256 encryption as learned words. Protected by Android Keystore and device lock screen.
76
+
77
+
### 1B. Next-Word Prediction Bigrams (Encrypted)
78
+
79
+
**What:** Word pairs (bigrams) that track which words you commonly type after other words.
80
+
81
+
**Purpose:** To provide context-aware next-word predictions. For example, if you frequently type "thank you," the keyboard learns this pattern and suggests "you" after "thank."
82
+
83
+
**Storage:** Encrypted local SQLCipher database on your device using hardware-backed encryption (Android Keystore).
84
+
85
+
**Details Stored:**
86
+
- First word (normalized)
87
+
- Second word (normalized)
88
+
- Language code
89
+
- Frequency counter (how often this pair occurs)
90
+
- Timestamp (last used)
91
+
92
+
**What We Don't Store:**
93
+
- Full sentences or paragraphs
94
+
- Word triplets or longer sequences
95
+
- Which app you typed the words in
96
+
- Any identifying information
97
+
98
+
**Technical Implementation:** The bigram model is local-only with no external queries. Predictions are generated using indexed database lookups ordered by frequency. Debounced batch writes (300ms) minimize database operations.
99
+
100
+
**Data Isolation:** Bigram data is NOT included in dictionary exports. It remains strictly local and is deleted on app uninstall. Standard dictionary words from SymSpell corpus are not tracked in bigrams.
101
+
102
+
**Encryption:** Same AES-256 encryption as learned words. Protected by Android Keystore and device lock screen.
103
+
54
104
### 2. Clipboard History (Encrypted)
55
105
56
106
**What:** Text content copied to your device's system clipboard from any app.
@@ -192,20 +242,26 @@ For privacy inquiries, contact us at the email above.
192
242
- Last ~200 typed words (automatically cleared after 5 minutes)
193
243
- Spell check results cache
194
244
- Dictionary lookup cache
245
+
- User word frequency cache (LRU cache, max 1000 entries)
246
+
- Bigram prediction cache (LRU cache, max 500 entries)
247
+
- Preloaded top bigrams (in-memory map, cleared on language switch)
195
248
196
249
**Lifecycle:** Automatically cleared when:
197
-
- Data expires (5-minute time-to-live)
250
+
- Data expires (5-minute time-to-live for typed words)
251
+
- Cache size limits exceeded (LRU eviction)
198
252
- You switch languages
199
253
- You switch to a different app
200
254
- The keyboard service stops
201
255
202
-
**Secure Fields:** When you type in password fields or other secure inputs, all processing is bypassed. No text is cached, spell-checked, or learned.
256
+
**Secure Fields:** When you type in password fields or other secure inputs, all processing is bypassed. No text is cached, spell-checked, or learned. Bigram predictions are not recorded.
203
257
204
258
## How We Use Your Data
205
259
206
260
All data processing occurs locally on your device:
207
261
208
262
-**Learned Words:** Generate personalized suggestions and autocorrect
263
+
-**Word Frequency Tracking:** Rank suggestions by your actual usage patterns
264
+
-**Next-Word Prediction Bigrams:** Provide context-aware predictions based on word pairs
209
265
-**Clipboard History:** Quick access to recently copied text for re-use
210
266
-**Recent Emoji Selections:** Display frequently used emojis first in emoji picker
211
267
-**Custom Key Mappings:** Insert your assigned symbols on long-press
@@ -219,6 +275,7 @@ All data processing occurs locally on your device:
219
275
- Sell or share your data with third parties
220
276
- Build user profiles or track behavior
221
277
- Use analytics or telemetry services
278
+
- Track standard dictionary words in bigram or frequency tables
222
279
223
280
## Data Storage and Security
224
281
@@ -244,14 +301,14 @@ The keyboard automatically detects password fields, credit card inputs, email ad
244
301
245
302
## Data Retention
246
303
247
-
### Learned Words
304
+
### Learned Words, Word Frequencies, and Bigram Predictions
248
305
-**Retention:** Indefinite, until you manually delete them or uninstall the app
- Your learned words, word frequencies, bigram predictions, clipboard history, and custom key mappings are stored locally on your device in an encrypted database
371
+
-**Note:** Word frequency counters and bigram prediction data are used internally for suggestion ranking and cannot be viewed directly through the UI
311
372
312
373
2.**Delete Your Data**
313
374
- Clear specific learned words: Long-press suggestions to remove
314
375
- Clear specific clipboard items: Long-press symbols key → tap × button
315
376
- Clear all clipboard unpinned items: Long-press symbols key → Recent tab → Delete All
0 commit comments