Transparency
Transparency Center
How PhotoLens behaves, what it cannot do, and how to hold the project accountable.
Transparency Center
PhotoLens exists to help blind and low-vision users understand the photographs in their phones — without surrendering those photographs to anyone. That promise is only meaningful if it is testable, repeatable, and honestly maintained. This page is where I document what is happening inside the application, what is not happening, and what you should expect from the AI that powers it.
If anything below ever stops being true, this page is the first thing that gets updated.
1. Our transparency principles
- Architectural truth over marketing claims. Privacy and accessibility commitments are encoded in the code itself, not in a paragraph on a website.
- Plain-language disclosure. Every limitation, failure mode, and known weakness is written in language a user can understand without a legal or engineering background.
- Source-available behaviour. The application's source code is publicly accessible so any researcher, advocate, or curious user can inspect what it does — and what it does not do.
- Accessibility failures are bugs, not features. Anything that breaks for a screen-reader user is treated with the same seriousness as a security incident.
2. Honest expectations from the AI
PhotoLens uses Google's open-weight Gemma 4 multimodal model, running entirely on your device through the LiteRT-LM runtime. This is a powerful model. It is not a perfect one.
What it does well:
- Describes the overall scene, mood, lighting, and composition of a photograph
- Names common objects, settings, and activities
- Reads printed text and many forms of handwritten text
- Summarises documents, signs, and labels in natural language
What it cannot do:
- Identify specific individuals by name
- Make medical, legal, financial, or safety-critical decisions
- Replace a human description for high-stakes content
- Guarantee accuracy on every photograph
Treat every description as a first reading of an image. For anything that affects your health, your money, or your safety, please verify the details with a person you trust.
3. Potential bias and harmful responses
Large language models — including Gemma 4 — are trained on data drawn from the public internet. That data contains human bias, cultural assumptions, and gaps in representation. As a result, even a well-built model can produce descriptions that are:
- Skewed by cultural defaults — for example, defaulting to Western names, settings, or norms when describing a scene.
- Less accurate for under-represented subjects — including certain skin tones, regional clothing, scripts, religious imagery, or assistive devices.
- Confidently wrong. The model will sometimes describe something that is simply not in the photograph, and it will do so in fluent, convincing language. This is a known property of generative models.
- Inappropriate or insensitive in rare edge cases — including content that misgenders subjects, misreads context, or stereotypes.
PhotoLens does not attempt to hide these limitations. They are real, and you should know about them when you are deciding how much to trust a description.
4. What PhotoLens does to reduce harm
- No identity recognition. The application is configured to describe people only by visible attributes (clothing, posture, setting), never to name individuals.
- No off-device processing. The model cannot leak your photos to a third party because the application contains no network code that transmits image data.
- Thinking Mode. Optional reasoning trace that lets you see how the model arrived at a description, so you can spot when the chain of reasoning is shaky.
- Regenerate. A second pass on the same photo often produces a different, more accurate description.
- Conservative defaults. The model is prompted to acknowledge uncertainty rather than fabricate detail when an image is ambiguous.
5. Reporting a harmful, biased, or dangerous description
If a description is harmful, biased, dangerously inaccurate, or breaks accessibility in any way, please report it. Accessibility-impacting failures are treated as the highest-priority bugs in the project.
You can report through any of the channels on the Help & Support page. When reporting, the following details help most:
- A short description of what the photo contains
- What the AI said about it
- What you expected it to say
- The device model and Android version you were using
You do not need to share the photograph itself. A description of the issue is enough.
6. Independent inspection
The PhotoLens source code is published openly and can be inspected, audited, and forked at any time:
- Source repository: github.com/docwiser/photolens
- Latest release notes: github.com/docwiser/photolens/releases/latest
Researchers, accessibility advocates, and security professionals are warmly invited to review, raise issues, and submit improvements.
7. Changes to this page
Material changes to PhotoLens that affect privacy, accessibility, or model behaviour will be reflected here within a reasonable time of release. Smaller engineering changes will not be re-documented every time, but the source repository is the canonical record of every change shipped.
Last reviewed: alongside the public release of this website.