PixConsent: Our iOS App for Image Rights, and What 3 Months of Development Taught Us

Neto Pompeu —

PixConsent: Our iOS App for Image Rights, and What 3 Months of Development Taught Us

On July 16, 2026, we shipped version 1.0.1 of PixConsent, our iPhone and iPad app that lets photographers and videographers collect image rights releases. Three months of development, 234 commits, one instructive Apple rejection, one feature deliberately frozen before submission — and two AI assistants from two different vendors working on the same repository.

Just like with JamBoard, here's an honest debrief: what worked, what cost us time, and the decisions no AI could have made on our behalf.

The problem: image rights are still handled on paper

Every professional photographer knows the scene. The shoot wraps up, and now you need a signed image release. You pull out a printed sheet, have it filled in by hand, scan it that evening, file it away in a folder — and six months later, when a client wants to use the photo in a campaign, you have to dig the paper back out. Count on five minutes per person, and a stack of documents whose evidentiary value depends on how good the scan was.

The need is real, and so is the market: in France, an estimated 200,000 professionals are affected — wedding and event photographers, corporate videographers, content creators, journalists and documentary makers, but also schools, sports clubs and associations that publish photos of their members.

What PixConsent does

The principle: the photographer creates a project — a wedding, a shoot, an event — and gets the people being photographed to sign. Thirty seconds instead of five minutes. Two collection modes:

  • On site: the person signs directly on the iPhone or iPad, with a finger or a stylus, along with a selfie that attests to their identity. Everything works offline, which matters when you're shooting somewhere with no signal.
  • Remotely via QR code: the person scans a code, opens the form on their own phone and signs. No app to install on their end. For an event, a single QR code can stay valid anywhere from two hours to a year.

At the end of the flow, a PDF is generated with the date, time and location — automatically pre-filled — plus the legal clauses, the selfie and the signature.

The trickiest case, and the one that took the most work, is a signature on behalf of a minor. The flow collects the legal guardian's full identity, their photo, their signature and their sworn statement under article 441-1 of the French Criminal Code — and, if the child is 13 or older, their own signature as well, in line with article 388-1-1 of the French Civil Code. This is exactly the kind of detail you can't guess: you have to go looking for it in the law, not in the technical documentation.

The technical bet: your data never leaves your phone

The defining decision of the project was to build everything local-first. On the Free and Pro plans, signers' personal data — name, photo, signature — never leaves the device. It's stored in the iPhone's local database, not on our servers. The cloud only comes into play on the Team and Agency plans, when several photographers need to share the same files.

It's an uncomfortable choice technically: syncing, backups and sharing all become far harder to write. But it's the only coherent position for a tool whose entire job is to protect sensitive personal data. The best way not to leak data is not to collect it. And commercially, it's an argument our cloud-based competitors can't copy without rewriting their product.

Evidentiary value: sealing the document without overpromising

A signed PDF is only worth something if it holds up as evidence. So every generated document is sealed with a SHA-256 cryptographic hash, and the PDF includes an "integrity certificate" page that lets anyone verify it hasn't been altered after signing.

This is where we made a call I think matters: spelling out in black and white, inside the document itself, the limits of what we guarantee. The certificate states that the document complies with the European eIDAS regulation at the simple level, and specifies that an advanced or qualified level would require a certificate issued by a trust service provider. We could have stayed vague and let people assume it was a qualified electronic signature. Plenty of companies do. But a legal tool that overpromises its own legal weight is a trap for its user — the person who'd discover the nuance in court is the photographer, not us.

The Apple rejection no AI would have seen coming

Our build 52 was rejected under Guideline 2.1(b): the Apple reviewer couldn't purchase the subscription. Diagnosing it took a while, because on our side everything worked.

The explanation: our 7-day free trial was configured for France only. One territory out of 175. The reviewer was working from another country, where the trial offer therefore didn't exist — hence the failed purchase. We fixed it across all 175 territories, and took the opportunity to make the button label honest: "Start free trial" now only appears if a trial actually exists in the user's country.

No code analysis tool could have caught that: the bug wasn't in the code, it was in a commercial configuration in App Store Connect. It's exactly what I described in our article on shipping an app to the App Store and Google Play: the weeks you lose are almost never lost on the technical side.

Knowing when to freeze a feature before submission

We had built a second document type: the location release, for getting the owner of a set or venue to sign rather than the person being filmed. The code worked. We hid it before submitting.

The reason is simple: the legal text hadn't yet been reviewed by a lawyer, and it still carried a "draft" label. Shipping a half-baked location release meant exposing our users to a worthless document at the exact moment they'd need it. The feature is ready; it will ship once the text is validated. Deciding not to ship is a product skill too — and it's a decision no AI assistant will make for you, because it rests on a risk trade-off, not a technical criterion.

Two AIs on the same repository

Of the project's 234 commits, roughly three out of four were made with the help of an AI assistant. What made PixConsent unusual is that we had two assistants from two different vendors working on the same code: Claude Code from Anthropic and Codex from OpenAI.

To make that work, we wrote a shared working contract — a single document, duplicated under the file names each tool knows how to read, laying out the project's rules, the priorities and above all the hierarchy of sources of truth: a product decision validated by a human beats the development log, which beats the code, which beats the mockup.

And crucially, we set explicit guardrails: no assistant pushes code, deploys to production or submits a build to Apple without explicit human approval. That's the rule that makes the whole setup usable. AI multiplies your execution speed; it must never become the last party to sign off before something reaches your users.

The concrete result: an app with more than 60 screens, translated into six languages (French, English, Spanish, Brazilian Portuguese, German, Italian), with its automated test suite, built in three months. Without AI, that scope would easily have taken twice as long.

The plans

PixConsent is available on the App Store. The free version covers two active projects and five documents per rolling 30 days — enough to test it in real conditions. The Pro plan at 4,99 €/month (with a 7-day trial) unlocks unlimited projects and documents. The Team plan at 11,99 €/month adds sharing across three users and cloud storage, for studios and agencies.

How we work at Primo-Studio

At Primo-Studio, we build iOS apps for our clients and for ourselves — JamBoard, PixConsent, Igara, AutoCare — by combining:

  • Over 8 years of digital experience — websites, mobile apps, digital marketing, audiovisual production
  • iOS technical expertise: SwiftUI, SwiftData, Firebase, StoreKit 2, Sign in with Apple, App Store Connect API
  • A firm grasp of the App Store process, and of the pitfalls that cost you weeks: demo account, Privacy Manifest, in-app purchase configuration per territory
  • GDPR compliance treated as a feature, not a checkbox: right to erasure, data export, automatic purging
  • Heavy but deliberate use of AI, without ever handing it the key decisions

If you have an iOS or Android app project for your company in French Guiana, we can help: full development, an audit of a project already underway, or training for your technical teams.

Who's behind Primo-Studio

Néto Pompeu, founder. I grew up in Saint-Laurent-du-Maroni. I studied on a work-study program in mainland France, and earned an MBA in Digital Marketing at EDC Paris. I did my work-study placement at Siemens, where I helped set up the digital marketing division of the Siemens Digital Industries subsidiary.

I moved back to French Guiana in 2022, post-Covid, and founded Primo-Studio (SAS) in 2024 with a clear goal: bring European-standard quality to French Guiana. Primo-Studio is the first marketing agency headquartered in Saint-Laurent-du-Maroni, serving all of western French Guiana — as well as clients across the territory, in mainland France and internationally.

Got an app project?

Get in touch and let's talk about it. Whether you're at the idea stage, writing specs, or stuck mid-development, we'll look together at where you can accelerate — and where AI can, or can't, help you.