Question: For a few reasons, the bunch I'm working for don't want to use certificates and don't like the idea of a service that can be accessed by anybody with a valid logon.

My question is how can I authenticate an application as being an official application suited for use with these wfc services without using certificates? 

They are trying to avoid a situation where inquisitive customers are clever enough to retrieve the service calls and have enough infrastructure to build their own clients to use them.

Answer: 
Unless I'm missing something, the code you've posted is correct. `fields` is an autoreleased object that gets retained when added to `self.tickerData`. `lines` is also autoreleased, so it isn't leaking (at least not in the code shown).

If you're leaking anywhere, it's because you're not properly cleaning up self.tickerData. If you comment out the `[self.tickerData addObject:fields];` line, are you still getting leaks reported? If not, make sure you're calling `[tickerData release]` (or something similar, like `self.tickerData = nil`) somewhere, probably in your `dealloc` implementation.
In these cases the best practice is to release your object's at the end of each loop, if you retained them. In this case your `fields` variable gets an `autorelease` object, the best option is to use an `NSAutoReleasePool` to release your objects at the end of the loop.

```
NSAutoreleasePool *pool;
pool = [[NSAutoreleasePool alloc] init];

NSString* rawTickerData = [[NSString alloc] initWithData: op.requestData encoding:NSUTF8StringEncoding];
NSArray* lines   = [rawTickerData componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];

for(NSString* line in lines)
{
    NSArray* fields = [line componentsSeparatedByString:@","];

    if([fields count] > 1)
    {
        [self.tickerData addObject:fields];
    }
    [pool drain];
}
[rawTickerData release];

```

This will flushes all the autoreleased objects if they are don't needed. If you dont use autorelease pool, your objects are living until your method terminates.
If this doesn't resolve your leak problem i suggest to initialize your array like this:

```
NSArray *lines = [[NSArray alloc]initWithArray:[line componentsSeparatedByString:@","]];
//and release at the end of the loop
[lines release];

```