Are option sets accessible to anyone or only based on usage?

I’m needing to use option sets to store data type schemas so I can use them in conditional logic. However, I want to first be sure I’m being privacy-conscious, so here’s my question:

Can any option set be accessed by a user at any time (like CSS styling can be viewed in the browser’s Inspector), or are option sets only accessible to a user if/when the set is used on the page or in a workflow?

Basically, I’m wanting to know if I’m “safe” to use option sets as long as I regulate who can access the page in my app where they are invoked.

@cal, since you were the poster for the Option Set announcement, wanted to see if you had any insight.

Hey there @eLPDev,

Check out this Bubble Manual Article. They state one of the cons is not having any privacy rules compared to custom types:

@johnny , thanks for the reply and the link.

I understand that there are no true privacy settings for option sets (though I wish there were).

My question is more about whether or not option sets are loaded on each page or if they are only loaded when invoked. Kind of the difference between a variable that is only defined and populated when run in a function vs. a global var that is always defined on page load.

Does that distinction make sense?

From some prior interaction with Bubble support I believe option sets are only loaded on the pages where they are used. But my belief is that they are loaded with a page’s content (that’s kind of the whole purpose of them, that they are loaded as part of the initial page load and therefore don’t require a database call).

If the above is correct (and I’m not 100% sure it is), that would mean the option set wouldn’t be on your landing page for example, but it would be on the page where the option set is used in searching and displaying data. I’d suggest running your scenario by Bubble support and let us know.


Cannot point a source as to where this can be confirmed, but I can safely suggest that you should operate with the assumption that option sets are loaded to the browser.