I wouldn't really say it was obvious, but when you start writing the code the script editor does help a bit in identifying types. The sImage is a Bitmap type, in this example it's being created dynamically based on image data retrieved from a Form field, which is in turn created by an HTML canvas element, so I'm not sure you'd need to go that route.
In your case it sounds like you'd be using pre-generated stamps, so you'd probably want to use the StampInfo object. You can retrieve StampInfo objects either by Id, or by name.
Id is something you'd need to find ahead of time either by checking the database or by running a script to search for it, so name may be the easiest.
What you'd do to prepare is sign into the repository as the user Workflow uses to connect to the repository and creating the stamps under that user.
So if you use an account like WorkflowUser for your connection profile, sign into the repository as that user and create all your "secure" stamps under that account and set them to private (It sounds like you already did this, but I'm including it anyway in case someone else stumbles across this).
Now, they'll belong to that user and you should be able to retrieve them by name using the Stamp.GetInfoPersonal method like so,
// set stamp position
LfSize sSize = new LfSize(sWidth, sHeight);
LfPoint sPoint = new LfPoint(x,y);
// get stamp by name
StampInfo sInfo = Stamp.GetInfoPersonal("STAMP",RASession);
// apply stamp
StampAnnotation stamp = new StampAnnotation(docInfo,pageNumber,sInfo);
stamp.Coordinates = new LfRectangle(sPoint,sSize);
stamp.Color = LfColor.BLACK;
stamp.ZOrder = 9999999;
stamp.Save();
The key here is making sure of the following:
- The connection profile is using the same account you used to log in and created the stamps
- Your stamp names match the stamps you created