收取合同履约保证金是否合法需视情况而定。一般来说,在合理范围内收取是合法的。这是为了促使合同当事人履行合同义务,保障合同的顺利履行。如果履约保证金的金额合理,且双方在合同中明确约定,在一方不履行合同时,另一方有权按照约定处置保证金,那么这种约定通常具有法律效力。但如果存在以下情况则可能不合法:一是收取的保证金过高,明显超出合理范围,构成对当事人的不合理限制;二是收取保证金后未按约定用途使用,比如挪作他用;三是在合同履行完毕后,无故拖延退还保证金。所以,收取合同履约保证金本身不一定违法,但关键在于其约定是否合理、是否按约定执行等因素。
以上是律师的法律建议,如有疑问,欢迎进一步咨询。