A fresh owner hides who wrote a record. The record itself can still give the writer away: an
unusual size, an odd lifetime, an exact timestamp, a precise location, or a rare combination of
ordinary values. Arkognito removes the signals it can and warns about the rest.
Removed automatically
Warned about
check() runs on every write and returns warnings; with strict: true the write is refused instead.
The last one is a k-anonymity check: a record with district: "tiny-village" stands out even with
a fresh owner if nobody else in the app wrote from there.
Safer values
What no code can fix
Content that identifies a person by itself, such as the only report ever filed from a small
village or a payload that names someone, stays identifying. Design your schema so that what is
public is coarse, and put anything personal in an encrypted payload. Last modified on October 12, 2026