Teleb
v1.0.0
File transfer over light
Two phones, a screen and a camera. No internet, Wi-Fi, Bluetooth, NFC, pairing, account or server.
On iOS · Android coming
A sender broadcasting, a receiver rebuilding. Illustration, not a live transfer.
What it is
The only channel is photons
- 01
No network, by design
On Android the app ships without the INTERNET permission, so the system would refuse a connection even if the app tried to open one.
- 02
The camera is the receiver
Reading the other phone’s screen is how the file arrives. The camera runs only while a transfer screen is open, and records nothing.
- 03
About twenty centimetres
Hold both phones steady, facing each other, the code filling the frame. Glare is the usual reason a transfer stalls.
Contents
Nothing to collect
No sign-up, no analytics, no third-party SDKs that collect data. On Android the app ships with no network permission at all, which you can verify in system settings.
I · How it works
A screen and a camera
One phone fills its screen with a stream of codes. The other points its camera at it and rebuilds the file byte for byte.
- 01Encrypted on the sending phone
- 02Shown as a stream of codes
- 03Carried across as light
- 04Read by the other camera
- 05Rebuilt byte for byte
- 01Frames go one way, and never back
- 02Some never land
- 03Any big enough set rebuilds the file
II · Missing a frame costs time, never the file
Lose a frame. Keep the file.
A one-way channel cannot ask for a resend. Teleb does not need to: any big enough set of frames rebuilds the whole file.
- Frames sent
- 0
- Never arrived
- 0
- File
- 0%
Frames arriving. Some will not.
III · Encrypted, and verifiable
Both phones show the same three words.
cinder harbor violet
If they match, you are connected to the phone in front of you. If they differ, someone is in the middle, and nothing has been sent yet. Each transfer is encrypted with X25519 and XChaCha20-Poly1305, using keys that exist only on those two devices for that one transfer.
- Key agreement
- X25519
- Encryption
- XChaCha20-Poly1305
- Verification
- Three-word SAS
IV · Limits
What it refuses to do
These limits are deliberate.
Video
A short clip would take most of an hour on this channel, so Teleb refuses before you start.
Large files
Above one size Teleb warns. Above a higher one it refuses. Use a cable.
Claiming delivery
Once the transfer starts there is no back-channel, so the sender cannot know whether anything arrived. It ends on Stopped, never Sent, and its progress is labelled an estimate.
Speed
Light through a camera lens is a narrow channel. It is slower than AirDrop, and works where AirDrop cannot.
Where it fits
When this is the right tool
Where there is no signal
On a plane, underground, or anywhere off-grid.
Across an air gap
Where a network connection is not permitted, or on a guest network you do not trust.
Between an iPhone and an Android phone
With no shared app, no account, and nothing handed to a cloud service.
Back matter
Under the light
- Key agreement
- X25519
- Encryption
- XChaCha20-Poly1305
- Coding
- LT fountain codes
- Transport
- Base45 over animated QR
- Verification
- Three-word SAS
- Permissions
- Camera · photo library optional
- Network
- None
- Platforms
- iOS · Android coming
- Age rating
- 4+
- Export
- ECCN 5D992.c · mass market
Legal and support
Teleb is built by JimmyLabs (지미랩스). sgyeom0319@gmail.com