diff --git a/code/WorkInProgress/computer3/NTOS.dm b/code/WorkInProgress/computer3/NTOS.dm
index 0b921ad43b..f6dc2697a8 100644
--- a/code/WorkInProgress/computer3/NTOS.dm
+++ b/code/WorkInProgress/computer3/NTOS.dm
@@ -22,20 +22,21 @@
var/dat = "
"
var/i = 0
for(var/datum/file/F in filelist)
- i++
- if(i==1)
- dat += ""
- if(i>= 6)
- i = 0
- dat += "
"
- continue
- dat += {"
-
-
- 
- [F.name]
-
- | "}
+ if(!F.hidden_file)
+ i++
+ if(i==1)
+ dat += ""
+ if(i>= 6)
+ i = 0
+ dat += "
"
+ continue
+ dat += {"
+
+
+ 
+ [F.name]
+
+ | "}
dat += "
"
return dat
diff --git a/code/WorkInProgress/computer3/computers/camera.dm b/code/WorkInProgress/computer3/computers/camera.dm
index 4da54340c1..0883680f5c 100644
--- a/code/WorkInProgress/computer3/computers/camera.dm
+++ b/code/WorkInProgress/computer3/computers/camera.dm
@@ -275,3 +275,7 @@
else
usr << "The screen turns to static."
return
+
+ // Atlantis: Required for camnetkeys to work.
+/datum/file/program/security/hidden
+ hidden_file = 1
\ No newline at end of file
diff --git a/code/WorkInProgress/computer3/file.dm b/code/WorkInProgress/computer3/file.dm
index 3693579067..849312ec50 100644
--- a/code/WorkInProgress/computer3/file.dm
+++ b/code/WorkInProgress/computer3/file.dm
@@ -13,7 +13,7 @@
var/image = 'icons/ntos/file.png' // determines the icon to use, found in icons/ntos
var/obj/machinery/computer3/computer // the parent computer, if fixed
var/obj/item/part/computer/storage/device // the device that is containing this file
-
+ var/hidden_file = 0 // Prevents file from showing up on NTOS program list.
var/drm = 0 // Copy protection, called by copy() and move()
var/readonly = 0 // Edit protection, called by edit(), which is just a failcheck proc
diff --git a/code/WorkInProgress/computer3/lapvend.dm b/code/WorkInProgress/computer3/lapvend.dm
index d36af863d1..747078edcd 100644
--- a/code/WorkInProgress/computer3/lapvend.dm
+++ b/code/WorkInProgress/computer3/lapvend.dm
@@ -320,6 +320,8 @@
newlap.spawn_files += (/datum/file/camnet_key/creed)
newlap.spawn_files += (/datum/file/program/arcade)
newlap.spawn_files += (/datum/file/camnet_key/entertainment)
+ //Atlantis: Each laptop gets "invisible" program/security - REQUIRED for camnetkeys to work.
+ newlap.spawn_files += (/datum/file/program/security/hidden)
newlap.update_spawn_files()
/obj/machinery/lapvend/proc/calc_reimburse(var/obj/item/device/laptop/L)