首选,竞业禁止的期限为两年,超过两年的限制不具有法律效力。但是保密义务没有法定期限。
其次,约定竞业禁止的,应当在竞业禁止的两年内按月支付竞业禁止补偿金。这个需要在离职后支付。在职期间支付的工资不能代替离职后应支付的补偿金。
保密是不需要支付保密费的。
签字了就有效。因为你已经承认在工资里收了保密费和竞业补偿了。
如未将支付竞业限制补偿金和保密金作为劳动合同的生效要件的话,则劳动合同有是效的。如果没有支付竞业限制补偿金和保密金,可能存在违反合同约定的违约责任,但并不当然影响劳动合同本身的效力。