# savedDataKeys [Built-ins](README.md) Canonical ID: `storage.keys`. Nederlands: `bewaardeSleutels`. Returns a list of the app-private keys in ascending [UTF-8](../concepts/utf-8.md) byte order. The order is deterministic and case-sensitive, not insertion order or locale-specific dictionary sorting. An empty store returns an empty list. Modifying the returned list does not rename or remove saved keys. ## Signature ```text savedDataKeys() ``` ## Arguments This call takes no arguments. Always write the parentheses. ## Return value `List`. ## Example ```pliro # language: en saveData("b", 2) saveData("a", 1) for key in savedDataKeys(): say key, loadData(key, none) ``` In a fresh store, prints `a 1` followed by `b 2`. Existing project data may add other keys. ## Notes and common mistakes Use the function name for your source language. Its [canonical ID](../concepts/canonical-identity.md) is a shared documentation label; you do not type that ID as a call. Giving your own variable or function the same name can hide the built-in. Supply the documented [arguments](../concepts/parameters-and-arguments.md) and value types. Pliro reports mismatches when checking can detect them, or when the call runs. Keys and saved text are not translated. Limits are 128 keys, 64 KiB per [JSON](../concepts/json.md) value, 512 KiB per document, 32 nesting levels, and 8,192 values/nodes per value. Functions, nonfinite numbers, and Maps with non-Text keys cannot be stored. A usable portable project identity enables durable data; loose source uses temporary session storage. See the storage guide for E4014–E4017 and copy/identity rules. ## Related entries [saveData](saveData.md) · [loadData](loadData.md) · [deleteData](deleteData.md) · [Programming guides](../guides/storage.md) · [Host support](../guides/hosts.md) · [Calls and arguments](../syntax/calls.md)