Bill Dollins wrote an excellent paean to the positive aspects of vendor lock-in, which is worth a few minutes of your time:

Lock-in is a real thing. Lock-in can also be a responsible thing. The organizations I have worked with that make the most effective use of their technology choices are the ones that jump in with both feet and never look back. They develop workflows around their systems; they develop customizations and automation tools to streamline repetitive tasks and embed these in their technology platforms; they send their staff to beginning and advanced training from the vendor; and they document their custom tools well and train their staff on them as well. In short, they lock themselves in.

I think locking yourself into a good technology could have all the positive knock-on effects Bill lists. But, we never quite know what we’re getting, good or bad, until we’ve spent some time with it. Which to me means being carefully modular and standards-oriented in design (which is to say, the opposite of how most vendors will architect a solution).

The BC Integrated Case Management (ICM) project yet again provides an excellent example of the negative aspects of vendor worship. In this case, ICM chose their software vendor first (way back in the single-digit 2000’s they chose Seibel) and then chose their system integrator (Deloitte) and finally began to get the first major phases of delivery a couple years ago. One result of this slow motion train wreck is that the Seibel software is dragging other aspects of the Ministry’s technology base down to its level.

For example, among the limitations (scroll to the bottom) ICM (Seibel) imposes are:

  • “Using any version of IE other than IE 8 may result in unexpected behavior”. So no IE 9, 10, or 11. Also, no Windows 8 support, since IE 8 only works on Windows 7 or less. Also no browser other than IE.
  • “The 32-bit ActiveX Seibel plug-in does not work with 64-bit IE”. So all sorts of potential collisions between 64-bit/32-bit libraries. (The sysadmins weep.)

Only a few years after launch, ICM is already locking the Ministry to desktop technology that is several versions out of date, which will in turn restrict flexibility for doing more modern work in the future. This is one of the the downsides of lock-in.

BC IT Outsourcing 2013/14

“O frabjous day! Callooh! Callay!

The BC Public Accounts came out today, so it’s time to update the statistics and see how the IT consulting racket shaped up in BC last year. Judging from the sharp suits on the streets and general perkiness of the local IT labour market, I’d guess “pretty peachy”, but there’s something to be said for actually checking the numbers.

Totalling up all the Usual Suspects, I am pleased to report that 2013/14 was another record-breaking year in technology outsourcing: a $435,350,420 spend, that’s up 11% over last year! Rockin’ it!

Let’s put that in perspective, shall we?

  • IT sourcing rocked it with an 11% gain.
  • Overall government spending was up $174M on a budget of $43B, for a gain of 0.4%.
  • The government recently offered the teachers a contract with a 1.1% (average) annual wage lift.
  • Canadian inflation in 2013 was 1.24%.
  • BC education spending increased 2.6% over last year.
  • BC health care spending increased 2.1% over last year.

I said it last year, and I’ll say it again this year: suck on that, children and sick people! Who’s the boss? IT people are the boss!

Once again, in the individual category, HP Advanced Solutions reigns supreme, billing out $138,407,858, a 6.8% gain. HP’s growth is slowing though and my favourite systems integrator, Deloitte, just closed a monster year with 51% year-over-year billings growth and a take of $54,294,507. Look out HP, someone hungry is on your heals!

I recently discovered that there’s a significant government IT spend in the health authorities, so I’m looking forward to adding some new stats over the summer. In addition, I feel like leaving Telus out of the accounting is an increasingly hard call: while much of their billing is infrastructure stuff like group cell phone plans and connectivity, they also have a huge new outsourcing arm doing all sorts of not-at-all-like-a-telephone stuff: Telus Health, anyone?

Until next year, keep on spending, British Columbia!

Some Privacy is More Private Than Others

One of the things that struck me in researching the long and tortuous story of how the government is trying to move British Columbian’s private data into off-shore cloud computing services was the odd choice of the pilot project for the whole scheme: STADD.

What’s STADD? It’s “Services to Adults with Developmental Disabilities”.

That’s right, adults with developmental disabilities are the subjects of the BC government’s experiment to see “hmm, I wonder if we can offshore private data using fancy tokenization software”.

Let me put some icing on the cake.

The BC Liberal caucus has to manage information about the citizens who access services via their constituency offices. These are their “customers” and they use a “customer relationship management” (CRM) system to hold the information.

Are they storing this personal information offshore? Are they trying to shoehorn it into using tokenization software to avoid FOIPPA restrictions and protect their constituents from the PATRIOT Act?

No, that would be risky, that’s the kind of thing that STADD can pilot. The BC Liberal caucus uses a product called “Maximizer CRM”. Designed, built and hosted in… Vancouver, British Columbia.

FOSS4G 2014 in Portland, Oregon, September 2014

Just a quick public service announcement for blog followers in the Pacific Northwest and environs: you’ve got a once in a not-quite-lifetime opportunity to attend the “Free and Open Source Software for Geospatial” (aka FOSS4G) conference this year in nearby Portland, Oregon, a city so hip they have trouble seeing over their pelvis.

Anyone in the GIS / mapping world should take the opportunity to go, to learn about what technology the open source world has available for you, to meet the folks writing the software, and the learn from other folks like you who are building cool things.

September 8th-13th, be there and be square.

Tokenization and Your Private Data (5)

Recapping (last time):

  • (Day 1) The government is interested in using the CRM and other USA cloud applications, but the BC FOIPPA Act does not allow it.
  • (Day 2) So, the BC CIO has recommended “tokenization” systems to make personal information 100% obscured before storage in USA cloud applications.
  • (Day 3) But, using truly secure tokenization renders CRMs basically useless, so software vendors are flogging less secure forms of tokenization hoping that people won’t notice the reduced security levels because they still call it “tokenization”.
  • (Day 4) And, the BC Freedom of Information & Privacy Commissioner distinguishes between “encryption” (which is considered inadequate protection for personal information held outside Canada) and “tokenization” (which is considered adequate (but only where the “tokenization” itself is “adequate” (which seems to mean “fully random”))).

While this series on tokenization has been a bomb with regular folks (my post on the BCTF and social media got 10x the traffic) one category of readers have really taken notice: tokenization vendors. I’ve gotten a number of emails, and some educational comments as well. (Hi guys!)

For the love of the vendors, I’ll repeat yesterdays postscript. I think I have been overly harsh on the cloud security vendors, because there are really two questions here, which have very different answers:

  • Is less-than-perfect tokenization better than nothing? Yes, it’s a lot better than nothing. Even with less-than-perfect tokenization, employees of the cloud software companies can’t just casually read records in the database, and an entity wanting to break the security of the records would need to extract a pretty big corpus of records to analyze them to find information leaks and use them to break in.
  • Is less-than-perfect tokenization acceptable for BC? No, because of the FOIPPA law, and because the Commissioner has already set a very very very high bar by not allowing standard symmetric encryption (which can be very very secure) to be used to host personal data outside of Canada.

It’s worth re-visiting the two key phrases in the OIPC guidance, which are:

Tokenization is distinct from encryption; while encryption may be deciphered given sufficient computer analysis, tokens cannot be decoded without access to the crosswalk table.

What I take from this is that the OIPC is saying that “encryption” is vulnerable (it “may be deciphered”), and “tokenization” is not (it “cannot be decoded”). Now, as discussed on day 3, the “cannot be decoded” part is only true for a very small sub-set of “tokenization”, the kind that uses fully random tokens. And the OIPC is aware of this, though they only barely acknowledge it:

Public bodies may comply with FIPPA provided that the personal information is adequately tokenized and the crosswalk table is secured in Canada.

If you take “adequately” to mean “adequately” such that “tokens cannot be decoded without access to the crosswalk table” then you’re talking about an extremely restrictive definition of tokenization. A lot more restrictive than what vendors are talking about when they come to sell you tokenization.

The vendors who are phoning me and commenting here are worried that readers will see my critique and think “huh, tokenization is insecure”. And that’s not what I’m saying. What I’m saying is:

Practical use of tokenization in a USA cloud CRM is not consistent with the British Columbia OIPC’s incredibly narrow definition of an acceptable level of data security for personal information stored in foreign jurisdictions or under foreign control.
– Paul Ramsey, Just Now

If you’re just looking for a reasonable level of surety that your data in a cloud service cannot be easily poked and prodded by a third party (or the cloud service itself), and you don’t mind adding the extra level of complexity of interposing a tokenization service/server into your interactions with the cloud service, then by all means, a properly configured tokenization system would seem to fit the bill nicely.