230 lines
7.6 KiB
Plaintext
230 lines
7.6 KiB
Plaintext
============================================================
|
|
LOCKDOWN MODE DETECTOR REPORT
|
|
2026-04-06T23:40:58.170Z
|
|
============================================================
|
|
|
|
VERDICT: Lockdown Mode Likely Active
|
|
8 of 12 key APIs are blocked, consistent with iOS/macOS Lockdown Mode.
|
|
Score: 70% (8/12 key APIs blocked)
|
|
|
|
============================================================
|
|
API TEST RESULTS (detailed)
|
|
============================================================
|
|
|
|
------------------------------------------------------------
|
|
[BLOCKED] IndexedDB (weight: 3)
|
|
Client-side structured storage
|
|
Result: Can't find variable: indexedDB
|
|
Diagnostics:
|
|
uncaught: Can't find variable: indexedDB
|
|
|
|
------------------------------------------------------------
|
|
[BLOCKED] WebAssembly (weight: 2)
|
|
Binary instruction execution
|
|
Result: WebAssembly is undefined
|
|
Diagnostics:
|
|
typeof WebAssembly: undefined
|
|
WebAssembly global does not exist
|
|
|
|
------------------------------------------------------------
|
|
[BLOCKED] Web Locks API (weight: 3)
|
|
Cross-tab resource coordination
|
|
Result: navigator.locks is undefined
|
|
Diagnostics:
|
|
typeof navigator.locks: undefined
|
|
'locks' in navigator: false
|
|
navigator.locks is falsy
|
|
|
|
------------------------------------------------------------
|
|
[BLOCKED] Speech Synthesis (weight: 3)
|
|
Web Speech API (text-to-speech)
|
|
Result: window.speechSynthesis is undefined
|
|
Diagnostics:
|
|
typeof window.speechSynthesis: undefined
|
|
'speechSynthesis' in window: false
|
|
typeof SpeechSynthesisUtterance: undefined
|
|
speechSynthesis is falsy
|
|
|
|
------------------------------------------------------------
|
|
[BLOCKED] FileReader API (weight: 2)
|
|
Local file reading interface
|
|
Result: FileReader is undefined
|
|
Diagnostics:
|
|
typeof FileReader: undefined
|
|
FileReader constructor does not exist
|
|
|
|
------------------------------------------------------------
|
|
[AVAILABLE] File Constructor (weight: 2)
|
|
File object creation
|
|
Result: File created: name=test.txt size=4
|
|
Diagnostics:
|
|
typeof File: function
|
|
calling new File(['test'], 'test.txt', {type:'text/plain'})...
|
|
succeeded
|
|
f.name: test.txt
|
|
f.size: 4
|
|
f.type: text/plain
|
|
f instanceof Blob: true
|
|
|
|
------------------------------------------------------------
|
|
[BLOCKED] WebGL (weight: 2)
|
|
GPU-accelerated graphics
|
|
Result: all WebGL contexts returned null
|
|
Diagnostics:
|
|
getContext('webgl2'): null
|
|
getContext('webgl'): null
|
|
getContext('experimental-webgl'): null
|
|
|
|
------------------------------------------------------------
|
|
[BLOCKED] WebGL2 (weight: 1)
|
|
Advanced GPU graphics context
|
|
Result: getContext('webgl2') returned null
|
|
Diagnostics:
|
|
getContext('webgl2'): null
|
|
|
|
------------------------------------------------------------
|
|
[BLOCKED] Service Worker (weight: 1)
|
|
Background script registration
|
|
Result: navigator.serviceWorker not present
|
|
Diagnostics:
|
|
'serviceWorker' in navigator: false
|
|
typeof navigator.serviceWorker: undefined
|
|
|
|
------------------------------------------------------------
|
|
[BLOCKED] Web Share API (weight: 0)
|
|
Native sharing interface
|
|
Result: navigator.share is undefined
|
|
Diagnostics:
|
|
typeof navigator.share: undefined
|
|
typeof navigator.canShare: undefined
|
|
|
|
------------------------------------------------------------
|
|
[BLOCKED] Gamepad API (weight: 1)
|
|
Game controller input
|
|
Result: navigator.getGamepads not present
|
|
Diagnostics:
|
|
'getGamepads' in navigator: false
|
|
|
|
------------------------------------------------------------
|
|
[BLOCKED] WebRTC (weight: 2)
|
|
Real-time peer communication
|
|
Result: RTCPeerConnection is undefined
|
|
Diagnostics:
|
|
typeof RTCPeerConnection: undefined
|
|
typeof webkitRTCPeerConnection: undefined
|
|
|
|
------------------------------------------------------------
|
|
[AVAILABLE] FontFace API (weight: 1)
|
|
Dynamic font loading
|
|
Result: status: loaded
|
|
Diagnostics:
|
|
typeof FontFace: function
|
|
new FontFace() succeeded
|
|
ff.status: unloaded
|
|
ff.family: test
|
|
ff.status after load: loaded
|
|
|
|
------------------------------------------------------------
|
|
[AVAILABLE] Remote Fonts (weight: 2)
|
|
Loading fonts from network via data URI
|
|
Result: API works, load rejected: A network error occurred.
|
|
Diagnostics:
|
|
FontFace created with data URI
|
|
ff.status before load: unloaded
|
|
caught: DOMException: A network error occurred.
|
|
|
|
------------------------------------------------------------
|
|
[AVAILABLE] JIT Compilation (weight: 2)
|
|
JavaScript JIT optimization heuristic
|
|
Result: 99.0ms for 1M iterations (JIT likely)
|
|
Diagnostics:
|
|
running 1,000,000 iterations of Math.sqrt*Math.sin...
|
|
elapsed: 99.00ms
|
|
sum (to prevent dead-code elimination): -681.7597
|
|
threshold: <150ms suggests JIT active
|
|
verdict: likely JIT
|
|
|
|
------------------------------------------------------------
|
|
[BLOCKED] Notifications API (weight: 1)
|
|
Push notification permission
|
|
Result: Notification not in window
|
|
Diagnostics:
|
|
'Notification' in window: false
|
|
typeof Notification: undefined
|
|
|
|
------------------------------------------------------------
|
|
[BLOCKED] WebCodecs (weight: 1)
|
|
Low-level VideoDecoder API
|
|
Result: VideoDecoder is undefined
|
|
Diagnostics:
|
|
typeof VideoDecoder: undefined
|
|
typeof VideoEncoder: undefined
|
|
typeof AudioDecoder: function
|
|
|
|
------------------------------------------------------------
|
|
[AVAILABLE] PDF Embed (weight: 2)
|
|
Inline PDF rendering via embed/pdfViewerEnabled
|
|
Result: pdfViewerEnabled is true
|
|
Diagnostics:
|
|
navigator.pdfViewerEnabled: true
|
|
typeof navigator.pdfViewerEnabled: boolean
|
|
created and appended <embed type=application/pdf>
|
|
navigator.mimeTypes['application/pdf']: [object MimeType]
|
|
|
|
------------------------------------------------------------
|
|
[BLOCKED] SharedArrayBuffer (weight: 1)
|
|
Shared memory between workers
|
|
Result: SharedArrayBuffer is undefined
|
|
Diagnostics:
|
|
typeof SharedArrayBuffer: undefined
|
|
requires COOP/COEP headers to be present; may not indicate Lockdown Mode specifically
|
|
|
|
------------------------------------------------------------
|
|
[BLOCKED] Cache API (weight: 1)
|
|
Programmatic HTTP cache (CacheStorage)
|
|
Result: caches not in window
|
|
Diagnostics:
|
|
'caches' in window: false
|
|
typeof caches: undefined
|
|
|
|
------------------------------------------------------------
|
|
[BLOCKED] OPFS (weight: 2)
|
|
Origin Private File System (navigator.storage.getDirectory)
|
|
Result: navigator.storage.getDirectory is not a function
|
|
Diagnostics:
|
|
typeof navigator.storage: object
|
|
typeof navigator.storage.getDirectory: undefined
|
|
getDirectory method does not exist
|
|
|
|
============================================================
|
|
NAVIGATOR INFO
|
|
============================================================
|
|
|
|
userAgent: Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1
|
|
platform: iPhone
|
|
vendor: Apple Computer, Inc.
|
|
language: en-US
|
|
languages: en-US
|
|
cookieEnabled: true
|
|
doNotTrack: null
|
|
maxTouchPoints: 5
|
|
hardwareConcurrency: 4
|
|
deviceMemory: N/A
|
|
pdfViewerEnabled: true
|
|
webdriver: false
|
|
connection: unavailable
|
|
mediaDevices: unavailable
|
|
storage: available
|
|
serviceWorker: unavailable
|
|
credentials: available
|
|
bluetooth: unavailable
|
|
gpu (WebGPU): unavailable
|
|
screenWidth: 393
|
|
screenHeight: 852
|
|
devicePixelRatio: 3
|
|
colorDepth: 24
|
|
|
|
============================================================
|
|
END OF REPORT
|
|
============================================================
|