1

I am currently working for a small startup. I was previously under contract, now I am working for equity (no pay). The thing is, there is not yet a signed agreement in place as the details are being worked out. I may finish development before the contract is ready.

I'm not currently under any contract or agreement, so the other party doesn't have any legal claim (that I know of) to the code I'm writing now, other than NDA (which just precludes me from cutting him out and releasing on my own). He already has the old code that I wrote under contract. I've made it clear to the other party that I won't submit the app or turn over the code until there's something signed to protect my interests. I've stopped pushing commits to the company repo (I'm now the only developer actively working on the project).

However, I would still like to send builds over TestFlight for feedback and testing purposes. The other party has access to the developer portal and iTunes Connect for code signing, etc. Things are amicable and I don't foresee getting burnt on this, but I'm not going to put myself in that position. My concern is that if I send a finished build via TestFlight, it could be extracted and submitted to the app store without my participation. They wouldn't have the source for future maintenance and updates, of course, but it could be reverse-engineered by another developer later working from the old code base.

Is this technically feasible at all? If so, is there a way I can send builds for testing while protecting my interests?

2
  • Generally, working for equity is a fool's game, especially if they're delaying like this on contracts. There are plenty of good jobs for good developers that don't require you to worry like this. Commented Oct 23, 2013 at 23:31
  • You're very right, as it turns out. I've since left the project. :)
    – Reid
    Commented Nov 1, 2013 at 16:57

1 Answer 1

1

If you are concerned about the binary, and other assets, within an Ad Hoc distributed app being repackaged and submitted to the App store before it is reversed engineered, then including one or more checks for an expiration date a few days out may be suitable. Perhaps have the expiration send the user back to TestFlight to encourage them to test only your latest builds. Another possibility is for the Ad Hoc deployed test version to include incidental use of several private or disallowed APIs (UDID, etc.) that may cause Apple to reject a submitted app.

You might also consider the appearance of an Easter-egg copyright notice (suitably obfuscated in code) to which the other party is not legally entitled to display.

But after any reverse engineering of an app's binary, all bets are off.

1
  • Thanks! Those all make sense. I've since left this project, but I will definitely keep those things in mind in the future when I do contract work. It would be nice to be able to have a "time bomb" that will brick the app if the other party decides to stiff me. Wonder if this is a common practice?
    – Reid
    Commented Nov 1, 2013 at 16:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.