{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":681,"path":"api-reference/scripts/script-sandbox.md","title":"Script sandbox evaluator","bundle":null,"doc_type":null,"release":"australia","body":"\n# Script sandboxevaluator\n\nThe script sandbox evaluator helps prevent executing untrusted scripts on an instance by limiting the APIs available to scripts.\n\nScripts that run in the script sandbox evaluator can use features supported by the JavaScript engine and the sandbox environment, except for certain restricted methods. Untrusted scripts are processed by the script sandbox evaluator under the following conditions:\n\n-   A script has been granted a guarded-script exemption \\(manually or automatically\\).\n-   When guarded script is in Phase 1: Detection, and a script is sent to the server by an authenticated user.\n\nFor more information about guarded-script exemptions and enforcement phases, see [Guarded script evaluator](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/scripts/guarded-script.md).\n\n## Restricted methods with the script sandboxevaluator\n\nThe script sandboxevaluator doesn't permit the following methods. Scripts using these methods fail to execute in the sandbox.\n\n**Note:** The GlideSystem \\(gs\\) methods log\\(\\), logError\\(\\), and logWarning\\(\\) can be enabled for use with the script sandboxevaluator by setting the **glide.security.sandbox\\_no\\_logging** system property to `false`.\n\n<table id=\"table_ntx_d3s_mcb\"><thead><tr><th>\n\nClass\n\n</th><th>\n\nMethod\n\n</th></tr></thead><tbody><tr><td>\n\nGlideRecord\n\n</td><td>\n\n-   deleteMultiple\\(\\)\n-   deleteRecord\\(\\)\n-   getRowCount\\(\\)\n-   insert\\(\\)\n-   update\\(\\)\n-   updateMultiple\\(\\)\n\n</td></tr><tr><td>\n\nGlideSystem \\(gs\\)\n\n</td><td>\n\n-   addErrorMessage\\(\\)\n-   addInfoMessage\\(\\)\n-   addMessage\\(\\)\n-   eventQueue\\(\\)\n-   flushMessages\\(\\)\n-   getEscapedProperty\\(\\)\n-   getProperty\\(\\)\n-   log\\(\\)\n-   logError\\(\\)\n-   logWarning\\(\\)\n-   setProperty\\(\\)\n-   setRedirect\\(\\)\n-   setReturn\\(\\)\n-   workflowFlush\\(\\)\n\n</td></tr><tr><td>\n\nScopedGlideRecord\n\n</td><td>\n\n-   deleteMultiple\\(\\)\n-   deleteRecord\\(\\)\n-   insert\\(\\)\n-   update\\(\\)\n-   updateMultiple\\(\\)\n\n</td></tr><tr><td>\n\nScopedGlideSystem \\(gs\\)\n\n</td><td>\n\n-   addErrorMessage\\(\\)\n-   addInfoMessage\\(\\)\n-   debug\\(\\)\n-   eventQueue\\(\\)\n-   executeNow\\(\\)\n-   getProperty\\(\\)\n-   getSessionToken\\(\\)\n-   info\\(\\)\n-   setRedirect\\(\\)\n\n</td></tr><tr><td>\n\nGlideDateTime\n\n</td><td>\n\n-   add\\(\\)\n-   addDays\\(\\)\n-   addDaysLocalTime\\(\\)\n-   addDaysUTC\\(\\)\n-   addMonths\\(\\)\n-   addMonthsLocalTime\\(\\)\n-   addSeconds\\(\\)\n-   addWeeks\\(\\)\n-   addYears\\(\\)\n-   compareTo\\(\\)\n-   getDate\\(\\)\n-   getDayOfWeek\\(\\)\n-   getDayOfWeekUTC\n-   getDayOfWeekLocalTime\\(\\)\n-   getDayOfMonth\\(\\)\n-   getDayOfMonthLocalTime\\(\\)\n-   getDayOfMonthNoTZ\\(\\)\n-   getDayOfWeek\\(\\)\n-   getDayOfWeekLocalTime\\(\\)\n-   getDayOfWeekUTC\\(\\)\n-   getHourOfDayLocalTime\\(\\)\n-   getHourOfDayUTC\\(\\)\n-   getDaysInMonth\\(\\)\n-   getDaysInMonthUTC\\(\\)\n-   getDaysInMonthLocalTime\\(\\)\n-   getDisplayValueInternal\\(\\)\n-   getDisplayValue\\(\\)\n-   getLocalDate\\(\\)\n-   getMonthLocalTime\\(\\)\n-   getMonthNoTZ\\(\\)\n-   getMonthUTC\\(\\)\n-   getNumericValue\\(\\)\n-   getTime\\(\\)\n-   getTZOffset\\(\\)\n-   getYear\\(\\)\n-   getUserTimeZone\\(\\)\n-   getWeekOfYearLocalTime\\(\\)\n-   getWeekOfYearUTC\\(\\)\n-   getYearUTC\\(\\)\n-   getYearLocalTime\\(\\)\n-   isDST\\(\\)\n-   onOrAfter\\(\\)\n-   onOrBefore\\(\\)\n-   setDayOfMonthUTC\\(\\)\n-   setDisplayValue\\(\\)\n-   setMonth\\(\\)\n-   setNumericValue\\(\\)\n-   setTZ\\(\\)\n-   setValue\\(\\)\n-   setValueUTC\\(\\)\n-   subtract\\(\\)\n-   toString\\(\\)\n\n</td></tr><tr><td>\n\nGlideDate\n\n</td><td>\n\nGlideDate supports the same methods as GlideDateTime, as well as: -   getByFormat\\(\\)\n-   getDayOfMonthNoTZ\\(\\)\n-   getMonthNoTZint\\(\\)\n-   parseDate\\(\\)\n\n</td></tr><tr><td>\n\nGlideTime\n\n</td><td>\n\nGlideTime supports the same methods as GlideDateTime, as well as: -   getByFormat\\(\\)\n-   getHourLocalTime\\(\\)\n-   getHourOfDayLocalTime\\(\\)\n-   getHourOfDayUTC\\(\\)\n-   getMinutesLocalTime\\(\\)\n-   getMinutesUTC\\(\\)\n-   getSeconds\\(\\)\n\n</td></tr><tr><td>\n\nGlideSchedule\n\n</td><td>\n\n-   add\\(\\)\n-   isInSchedule\\(\\)\n-   Load\\(\\)\n-   whenNext\\(\\)\n\n</td></tr></tbody>\n</table>**Parent Topic:**[Script sandbox environment](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/scripts/script-sandbox-environment.md)\n\n**Related topics**  \n\n\n[Guarded script evaluator]()\n\n"}}