When using Interbase, Firebird 2.5 or Firebird 3.0 Alpha 1, to improve the security I can successfully remove the body of the procedure source.
P.RDB$PROCEDURE_SOURCE = NULL
P.RDB$SYSTEM_FLAG = 0;
But I failed to do it in Firebird 3.0 Alpha 2 with an error message :
"Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements.
UPDATE operation is not allowed for system table RDB$PROCEDURES."