# [Python 2], 180 bytes

This is the fourth iteration of this answer.  Each of the last answers has was cracked via reseting the recursion depth.

<!-- language-all: lang-python -->

<pre><code>import sys
if set("".join(open(__file__).read().split('\n')[4:]))-set(' &amp;)(,.:[]a`cdfijmonrt~'):sys.setrecursionlimit(1)
for m in sys.modules:sys.modules[m]=None
del sys;f=lambda\

</code></pre>

[Try it online!][TIO-j5ahyy8n]

[Python 2]: https://docs.python.org/2/
[TIO-j5ahyy8n]: https://tio.run/##TY2xDoMgFEV3v4I4VEhakjadbPyF/oAaauWRPgM8Aji49Nepbt3ucM65Ycsf8rdS0AWKmaUtVWhYgszrWi6EnlMAz5UyaEEpISNMmguZgsXMm8E3or@3oxCXw2nYSfCzbPtxes3a4OLIx/xtRLuH5U5EmNeYkLxFt/tXURmKzDH0x7V0pFcLqf3bvRu7J3moNNiDeZjOTu6tp6Eq5Qc "Python 2 – Try It Online"

## What does this do?

For the purposes of helping you out a bit I'll explain what this does.  This code opens the source file and checks if the remainder of the code 
 is made solely of the characters <code> &)(,.:[]a`cdfijmonrt~</code>

If it fails the recursion limit is set to `1` meaning that any code you write will hit the recursion limit.

I've also disabled all of the modules, so you can't import anything.

There are no tricks here, I have written a solution that uses only these characters and no imports, I'm not doing anything subversive, but I will say that I think this will be pretty hard to crack.

To save you some time here is a short list of useful things you cannot do with this restriction

 - `+` well duh,

 - `eval`/`exec` Wasn't going to let you get away with that

 - Numbers, They might be more useful than you think

 - String literals

 - `len`

 - `=`, No assigning variables

 - `>`,`<`,`==`. . . I have left you with no comparisons

 - `*`,`-`,`/`,`%`,`^`,`|`,`>>`,`<<`  The only operators available are `~` and `&`

 - `__foo__`, None of those fancy double underscore methods are allowed.