# Where should I save some permanent information?

**URL:** <https://forum.inductiveautomation.com/t/where-should-i-save-some-permanent-information/111208>\
**Category:** Ignition\
**Tags:** ignition81\
**Created:** [October 6, 2025, 3:06pm UTC](https://forum.inductiveautomation.com/t/where-should-i-save-some-permanent-information/111208 "2025-10-06T15:06:42Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![dkhayes117](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dkhayes117/32/68344_2.png) [@dkhayes117](https://forum.inductiveautomation.com/u/dkhayes117)\
**Post date:** [October 6, 2025, 3:19pm UTC](https://forum.inductiveautomation.com/t/where-should-i-save-some-permanent-information/111208/5 "2025-10-06T15:19:33Z")

</div>

You could also use a dictionary held in the top-level of a project script. You can search on the forum about using `system.util.getGlobals()` for such a thing.

> [@\[IGN-6503\]Project Library Script Initialization Races](https://forum.inductiveautomation.com/t/ign-6503-project-library-script-initialization-races/98636/2):
>
> I should mention that the work-around shown above should NOT be placed in all of your project library scripts. It solves the multiple execution problem but at the risk of AB-BA deadlock across interdependent scripts. Some thoughts: Definitions of simple functions and simple assignments to top-level constants do not need this fix. While multiple executions will repeatedly replace top level objects, the replacements are identical to the first pass--no harm, no foul. Definitions of top-lev…

---

_[View the full topic](https://forum.inductiveautomation.com/t/where-should-i-save-some-permanent-information/111208)._
