In this FAQ, we answer any questions you have around Windward and security. If anything is not answered, please contact us at firstname.lastname@example.org.
The company Windward does not have access to your data.
The Windward program only reads from your data, with the following caveat. A user can write any select for a tag and that tag could include a command to to change the datasource. Therefore, we recommend that you provide read-only credentials to any datasource you pass to Windward to enforce this restriction.
With SQL and OData (JSON & XML are read-only files so not an issue), there are three modes you can specify for setting parameter values.
1) Always use the connector setParameter() call - which precludes any injection attack.
2) Always use string substitution - which will allow an injection attack.
3) Mixed mode where parameter names starting with an _ like _var are string substitution and the rest are setParameter().
The default is the third mode which assumes the template designers will use _var carefully and appropriately.
The designer stores the credentials to each datasource in the template one of three ways.
1) In clear text (uuencoded, but no encryption).
2) They are encrypted for the logged in user using System.Security.Cryptography.ProtectedData and on subsequent use decrypted, only for that same user.
3) They are not stored and have to re-entered each time the template isopened.
The default is mode 1 which assumes designers point to a sample datasource.
First, if you turn on verbose logging, that will include template and data content. And even error or fatal logging can include template content and/or data in the exception information logged. The logging does try to scrub passwords from the info logged, but it works based on expected patterns for a password (i.e. "password=secret"). Second, the XPath 1.0 libraries are susceptible to XXE attacks. Always use the XPath 2.0 (Saxon) libraries for XPath datasources.
We believe so (is anyone 100% sure?). We do this by not seeing or touching your data in any way.
We never have access to your data. The Windward program runs on your system and the data it reads is merged into the generated report - and that's it.