Skip to content

rfi-irfos/invisible-layer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

invisible layer

experiments sensors fingerprints languages install data collected runs on license

"Is it too late?" — that is the wrong question. It has been past that since 2020.

The right question is: now that you see it, what do you do?


"Wenn du siehst, dass ein Blinder auf einen Brunnen zugeht, ist es eine Sünde, still zu bleiben."

— Saadi Shirazi, Golestan (Persia, 13th century)

"If you see a blind man walking toward a well — it is a sin to stay silent."

The same weight sits in scripture across traditions. Silence in the face of visible harm is not neutrality. It is complicity — and accountability for that silence does not disappear because the harm is digital.

Data collection has reached dimensions that were not conceivable in 2015. Four hundred and fifty million data points per user per day. Behavioral models precise enough to predict your next purchase, your political lean, your emotional state — before you consciously form the thought. Digital twins updated in milliseconds. None of it required your signature. Just your attention.

The entities doing this know exactly what they are building. The people it is being built on, mostly do not.

invisible layer is our answer to the question nobody is asking loud enough.

Not an app. Not a product. Not a company with a privacy policy nobody reads. A mirror. Open it on your phone, and for the first time you see what has been running silently this entire time.

open on your phone

open on your phone. no install. no account. no data collected. just the truth.


what this is

37 browser-based experiments that use your phone's built-in sensors and browser APIs to reveal the hidden layers of physical reality — and one profile page that shows you exactly how you look to the systems that are watching.

No app install. No account. No server. Everything runs locally in your browser.

Each experiment answers one question: what is your phone already measuring that you didn't know about?

The profile page answers a different question: what do they already know about you?

meta layer AR overlay home screen DE experiments list DE deletion linktree

experiments

electromagnetic & radio

experiment sensor status
BLE broadcast scanner Bluetooth LE live
EM field detector magnetometer live
compass anomalies magnetometer partial
WiFi density map WiFi RSSI live

acoustic

experiment sensor status
full spectrum FFT microphone live
mains hum detector microphone live
ultrasonic pest repellers microphone live
room size from echo microphone live
infrasound microphone live

motion & structural

experiment sensor status
surface resonance accelerometer live
surface resonance v2 accelerometer partial
gait biometric accel + gyro live
micro-seismic logger accelerometer live
floor-by-floor altimeter barometer live
keystroke timing biometric keyboard events live
touch biometric touch events live

light & optical

experiment sensor status
LED flicker detector camera live
LED quality meter camera partial
screen PWM dimming camera live
retroreflector finder camera + flash live
sky polarization camera live

the meta layer — what you reveal

experiment sensor status
your passive telemetry all sensors live
what apps infer from motion accel + gyro live
network fingerprint navigator API live
urban canyon detector GPS accuracy live
human density from WiFi WiFi probes live
font enumeration font API live
network timing fetch timing live
the full picture everything live

digital fingerprint

experiment sensor status
device identity navigator API live
canvas fingerprint canvas API live
GPU identity WebGL API live
audio fingerprint AudioContext live
installed voices speech API live
codec map media API live
WebRTC IP leak WebRTC live
battery API battery API live
storage quota fingerprint storage API live
clipboard access clipboard API live
WebRTC TURN leak WebRTC live

run locally

git clone https://github.com/rfi-irfos/invisible-layer
cd invisible-layer
python3 -m http.server 8080
# open http://localhost:8080 on your phone (same network)

HTTPS is required for sensor permissions. For local testing over USB:

adb reverse tcp:8080 tcp:8080
# then open http://localhost:8080 on your phone

browser support

feature android chrome ios safari firefox
accelerometer/gyro ✓ (permission dialog)
magnetometer partial partial
microphone
camera
web bluetooth (BLE)
barometer

contributing

Each experiment is a single self-contained HTML file in docs/experiments/<name>/index.html. Add one, open a PR.

docs/experiments/your-experiment/
  index.html     ← everything in one file

license

MIT — use it, fork it, teach with it. The only thing we ask is that you keep pointing people toward the delete buttons.


WARNING — we are showing you a fraction

invisible layer covers ~8 of the sensors in your pocket. Your phone has dozens more.

This is not the full picture. This is the tip.

Every sensor listed below can be read — by apps, by browsers (with or without asking), by the OS itself, and by data brokers whose entire business model is stitching these streams together into a behavioral model with your name on it.

what your phone can actually sense

motion & position

  • Accelerometer — 3-axis, 100–800 Hz sampling, detects typing rhythm, heartbeat, sleep position, transport mode
  • Gyroscope — 3-axis rotation, used for gait signature, identity from walk pattern alone
  • Magnetometer — compass + EM field, maps your indoor position to specific rooms
  • Barometer — floor-level altitude, knows which floor of which building you are on
  • GPS — sub-3m outdoor, combined with cell/WiFi → sub-1m indoor triangulation
  • Step counter / pedometer — continuous, no permission needed on Android
  • Gravity sensor, linear acceleration, rotation vector — all derived, all logged
  • Significant motion detector — wakes apps when you start moving without your knowledge

radio & proximity

  • WiFi scanner — sees every access point in range, maps your physical location to a building, room, crowd density; probe requests broadcast your device's movement history
  • Bluetooth LE — passive scanner sees every BLE beacon in range; your own BLE broadcasts are heard by every receiver you walk past
  • Cell tower — carrier, tower ID, signal strength; triangulates without GPS, works indoors, works with airplane mode off
  • NFC — contactless payment logs, transit card reads, location inference from NFC tags
  • UWB (Ultra-Wideband) — iPhone 11+, Pixel 6+: centimeter-precision ranging between devices

optical & environmental

  • Camera (rear + front) — full resolution, video, IR on some devices; background access possible with certain permissions
  • LiDAR — iPhone 12 Pro+, iPad Pro: full 3D point-cloud scan of every room you enter
  • Ambient light sensor — reads your screen content indirectly; detects TV programs you watch, monitors you face
  • Proximity sensor — knows when phone is at your ear, infers calls without microphone
  • Thermometer — CPU/battery temperature leaks ambient temperature and physical activity
  • Humidity sensor (select models) — present in Samsung flagships, some Xiaomi

biometric & audio

  • Microphone — continuous background access possible; ultrasonic beacons (17–22 kHz, inaudible) are broadcast in retail stores, airports, stadiums to track your movement between zones silently
  • Fingerprint scanner — biometric template stored on-device, but authentication events are logged
  • Face ID / depth camera — TrueDepth maps 30,000 infrared dots onto your face 30× per second
  • Heart rate sensor (select models) — Samsung Galaxy Watch, Pixel Watch: continuous

software-layer sensors (no hardware permission needed)

  • Touch pressure, touch area, touch coordinates — continuous, sampled at input rate
  • Screen orientation, screen state, screen brightness
  • Battery level, voltage, temperature, charge current, charging source
  • Clipboard contents — accessible to any app in focus (and in the background on older OS versions)
  • Keyboard timing patterns — latency between keystrokes is a biometric; identifies you without reading the content
  • App usage patterns — foreground/background events; which apps, how long, in what sequence
  • Network request timing — SSL/TLS fingerprint, HTTP/2 stream patterns; identifies you at the network layer even with VPN
  • Canvas fingerprint — GPU renders a scene; the sub-pixel result is unique per device
  • WebGL fingerprint — GPU model, driver version, shader precision; device identity without cookies
  • AudioContext fingerprint — DAC characteristics, speaker resonance; unique per hardware unit
  • Font enumeration — what fonts are installed narrows your OS, region, corporate profile
  • Speech synthesis voices — installed voices reveal locale, accessibility settings, enterprise config
  • Installed codecs — media format support list is a partial device fingerprint
  • Storage quota — available disk space correlates with device model and usage patterns

what invisible layer covers: accelerometer · gyroscope · magnetometer · barometer · microphone · camera · BLE · GPS accuracy · navigator fingerprint

That is 9 streams out of the above list.

To see the full sensor stack on your own device: download Phyphox (open source, RWTH Aachen University). It exposes every hardware sensor your phone physically has, with live graphs, raw data export, and no data collection. It is the honest version of what every data broker does silently.

The difference between Phyphox and a data broker is one thing: Phyphox shows you the data. The broker sells it.


built by rfi-irfos · no VC funding · no data collected · no regrets

The data brokers have a 450-million-point behavioral model on you. You now have one URL to start deleting it. Seems like a fair trade.

About

your phone is a military-grade sensor array.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors