safe_directive(:Directive) is semidet[multifile, library(sandbox)]
Hook to declare additional directives as safe. The argument is a term Module:Directive (without :- wrapper). In almost all cases, the implementation must verify that the Module is the current load context as illustrated below. This check is not performed by the system to allow for cases where particular cross-module directives are allowed.
sandbox:safe_directive(M:Directive) :-
    prolog_load_context(module, M),
    ...
 sandbox:safe_directive(+Directive) is semidet[multifile, library(tabling)]
Allow tabling directives that affect locally defined predicates.