# Restricting initializer and calling \_disableInitializers in implementation contract deployed behind deployProxy

**URL:** <https://forum.openzeppelin.com/t/restricting-initializer-and-calling-disableinitializers-in-implementation-contract-deployed-behind-deployproxy/40730>\
**Category:** Upgrades\
**Tags:** proxies\
**Created:** [June 6, 2024, 4:03am UTC](https://forum.openzeppelin.com/t/restricting-initializer-and-calling-disableinitializers-in-implementation-contract-deployed-behind-deployproxy/40730 "2024-06-06T04:03:10Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![tibas](https://avatars.discourse-cdn.com/v4/letter/t/3ec8ea/32.png) [@tibas](https://forum.openzeppelin.com/u/tibas)\
**Post date:** [June 6, 2024, 4:03am UTC](https://forum.openzeppelin.com/t/restricting-initializer-and-calling-disableinitializers-in-implementation-contract-deployed-behind-deployproxy/40730/1 "2024-06-06T04:03:10Z")

</div>

When you have an implementation contract deployed behind deployProxy of openzeppelin, is allowed to:

1. Leave the implementation contract initialize function unrestricted?
2. Not call \_disableInitializers() in the implementation contract constructor?

---

<div class="post-metadata">

**Author:** ![ericglau](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/ericglau/32/15149_2.png) [@ericglau](https://forum.openzeppelin.com/u/ericglau)\
**Post date:** [June 7, 2024, 3:47pm UTC](https://forum.openzeppelin.com/t/restricting-initializer-and-calling-disableinitializers-in-implementation-contract-deployed-behind-deployproxy/40730/2 "2024-06-07T15:47:50Z")

</div>

1. Yes, but to prevent frontrunning, the initialize function should be called in the same transaction as the proxy deployment. This occurs by default when you use `deployProxy` from the Hardhat Upgrades plugin.
2. `_disableInitializers()` is recommended. See [What does `_disableInitializers();` function mean?](https://forum.openzeppelin.com/t/what-does-disableinitializers-function-mean/28730) for reasoning.
