How to find a way to detect if a device was open or not
EDIT2: Since your requirements are now changed/updated/edited compared to the original question without comments, I'll leave the irreversible ones on top and put the reversible ideas in a different section. For (no-power-needed-)reversible, scroll down to the next fat-printed head
You need a corruptible memory. If you need to only corrupt it once, it's easy:
Add a thin wire (gauge 40 or such) to your design. Add a small hook or similar construction to your case that is guaranteed to pick up that wire when you close it.
When you open it, the wire will snap and at any later power-up you can see that no current can go through it. 40-G is thin enough to be mistaken for a hair by non-EE persons and still thick enough to pull a weak-pull-up inside a uC to ground.
Other similar destructive systems exist that can also not easily be reproduced.
A long time ago I saw a small very thin custom made glass tube with a thin filament. If you broke the glass, by removing the PCB, the test current of the device would evaporate the filament, just like the ones in a light bulb. The device knows the resistance of the filament, which probably was super specific and sees if at 1mA or 10mA the right voltage falls over it. Since it wasn't a searchable part that makes replacing it with the right fake-resistor a lot harder once it's blown.
So a tiny hobby-bulb, if you can still find those could do. I have never seen those glass tubes in retail anywhere and these were definitely self-designed by the device manufacturer.
EDIT:
You can also try if you can get a piece of Flex PCB in a gap somewhere and make a construction that harpoons into a hole in the centre. By adding your own pattern of traces to it you can make it very specific. Then if it is opened again, the FPCB rips apart or away: connection broken.
All in all, it really depends on your domains of most-experience, the required specificity, reliability and the maximum production cost, really. There's a 1001 ways to do it.
(End of EDIT)
Reversible By you, but not others:
Electro-Magnetically resettable switch:
If you need many-time corruptible, you are looking at things with resettable nature. You could look for a switch that can be set through releasing pressure (like a micro switch) but only reset by activating a coil, once the lid is closed again. I'm sure I have seen one working the other way around: set by pushing in, reset by pulsing 12V on a coil.
Since the coil is connected to the PCB and the switch looks like a normal &quot;can't operate while opened&quot; most engineers will assume it's a normal switch till it's too late and you can then decide to either reset it or not with the coil, depending on your intentions.
Unfortunately I do not remember the brand of the switch I had seen, else I would have searched their catalogue for the opposite type.
I just had a look at Digikey and Omron, Omron has the type of switch, but only as a rocker, so they can always be reset by hand, but they call it &quot;Remote Resettable Switch&quot; maybe you will have more luck finding a brand with those words.
EDIT: Added:
Latching Relay
A Latching relay is a cool little toy, it works just like a toggle switch: You set it to one side and it stays there, when you activate a second coil or magnetise the coil the other way, it flips over.
How do you use that? Here's the trick:
You can buy a single-coil bi-stable relay or single-coil latching relay, such as this one:
Mouser Listing for a Single Coil Relay
KEMET's datasheet of that relay, in case Mouser discontinues and KEMET doesn't
If you look at its datasheet you see that Kemet also has other voltages, EE2-xxS???, where XX is the voltage, 3 for 3V, 5 for 5V, 12 for 12V and such. The S means single-coil latching, that's what you want, the ??? are connection options, I'll leave that to you to choose.
Now these relays use a magnet on the rocker inside the little plastic box, so if you power the coil one way, the magnet is pulled towards it, when you power it the other way, the rocker is pushed away.
Can you see it coming?
Mount a strong enough neodymium magnet in your box (shield it so it doesn't cause trouble on the outside) somewhere near where the relay is on the side of your PCB, such that it has to move past the relay to open the box.
To anyone who hasn't read this post it will look like some relay needed for operation of your circuit, especially if you mount a bogus reed-contact near the magnet (they might short your bogus reed, without avail). But when the lid moves off the box, the magnet moves past the relay and pulls the relay into its &quot;box has been opened&quot; position and by magnetising the relay through some secret code, function or whatever you can reset the status when you have serviced the device yourself.
NOTE: This is a trick that works with many single-coil latching relays, but not with all, some are shielded. The tiny ones like the KEMET one I linked usually aren't, but you must always test a specific relay type with your chosen magnet before you specify it as a mass-production item!
(And I feel a bit stupid for not thinking of the relay right away)
EDIT3:
Because I was curious, I tried the Relay solution with the EE2 type from NEC (I'm too lazy to see if KEMET and NEC are the same these days, but the type numbers work exactly the same), supplied by Farnell/Element14 and it works an absolute charm. You will probably need a good neodymium magnet, but it is powerless, resettable. I built a little test-rig with an old linear motor and a home built PC-USB controller and it reports 100% success rate with 500 tests.
Types tested:

EE2-3SNUH
EE2-5SNUH
EE2-12SNUH

It didn't work with my smallest magnet (the one I stock for signalling with tiny Reeds), and one step up was quite ridiculous (10x10x10mm). It worked better at the coil side, which is logical. I expect a 5x5x2mm magnet to be sufficient, but some experiments in your exact set-up will still be needed.