Basically, it's stating the code for the contract is pubic facing which is mostly bytecode that can be converted to an instruction set and in some cases it's completely plain in solidity and on top of this the code cannot be modified. When interacting with websites you have no transparency of what the code on the back-end is doing and when you sign a contract in real life the contract can be subject to change where as in Solidity both of these don't apply.
This basically means interacting with a contract is explicit and nothing underhanded can happen unless the contract is misread, but that's at the user's discretion.
Here's an example in code:
First wallet:
pragma solidity ^0.4.0;
contract DodgyWallet {
mapping (address => uint) _balances;
function deposit() public payable {
// This is skimming 10% of the value deposited
_balances[msg.sender] += msg.value / 100 * 90;
}
function withdraw(uint amount) public {
require(amount <= _balances[msg.sender]);
msg.sender.transfer(amount);
_balances[msg.sender] -= amount;
}
}
Second wallet:
pragma solidity ^0.4.0;
contract FairWallet {
mapping (address => uint) _balances;
function deposit() public payable {
// No modification of the value
_balances[msg.sender] += msg.value;
}
function withdraw(uint amount) public {
require(amount <= _balances[msg.sender]);
msg.sender.transfer(amount);
_balances[msg.sender] -= amount;
}
}
In the first wallet we can see that the value being deposit is skimming 10% off the value being deposited in the deposit function. In the second contract there is no modification to the value being deposited. Thus making transactions completely transparent and down to the user to understand the implications of depositing into each wallet.