A method and computer program product for securely uploading and
downloading data from a client to a remote data storage location under
control of a remote application program. The data is stored in encrypted
form so that the data server has no access to the data. The data is
associated with a bill of material (BOM) and may be accessed by users
without providing access to the data space of the client. Also disclosed
is a method and computer program so automatically assign access
privileges to one or more users of data in a bill of material stored in a
shared database such that the step of refining a role for the user for a
data item automatically assigns access privileges for the user for the
data and other related data items. Also described is linking BOMs to
provide peer-to-peer access and views to different users. Also described
is a method and software program that provides of propagation of data
through the supply chain via one or more bills of materials.