Sealed virtual envelopes

Use the SVE system (will work only if you are already registered)

What sealed virtual envelopes are

A real sealed envelope is something that can have a label on the outside and some secret information inside. Someone can open the envelope and find out the secret but doing so breaks the seal, so it is obvious the secret is no longer secret.

A mechanism like this would be useful in some play-by-email (PBEM) games - and no doubt in other circumstances, but for the moment this system is intended just to assist PBEMers.

The virtual envelopes are just entries in a very simple database held on this webserver, accessed by perl scripts written by Peter Furniss. When a new envelope is created, the database stores two pieces of information - both free text - a "label" which identifies the envelope and the "contents". It also stores who created the envelope and when. Initially only the creator of the envelope can see the contents - someone else looking at the list of envelopes will see the label but instead of the contents, there is a checkbox marked "open". Clicking on the box and then on the "make changes" button on the page will redisplay the list of envelopes, but now showing the contents of that envelope. It will also show who opened the envelope and when - this is shown to the owner or anyone else when they look at the envelopes in future.

Who can use them

To use SVE you have to be registered. Since this is just a simple system, registration is just a matter of sending me (Peter Furniss, an email, telling me The password only gives you access to the sve system so it is no great secret. I will set up the user identity on the server (by hand, so if I am away it may not be immediate). Please make sure the subject includes "SVE" or the email might get junked as spam. After that you can do everything yourself - create new drawers, create envelopes, open envelopes, delete envelopes. (You will have to ask me to delete obsolete drawers, but I may get round to adding that to the things you can do).

Drawers and folders

The envelopes are grouped into "drawers" - these are expected to correspond to games, and each drawer is owned/shared by a number of users. Only those users can add envelopes to or see the envelopes already in a drawer. The list of users is determined when the drawer is created, by the user who creates it. Since the intention is that one drawer is one game, the creator can also say who is playing which side - though this is just used for information. The other users must already be registered when the game is created (another point for future enhancement perhaps). After the drawer is created, all of the users listed for it share it equally - the creator has no special powers.

Within each drawer, envelopes can be grouped into "folders". This could be used to distinguish game turns, although it is really just an extra level of label.

Using the SVE system

When you go to any of the sve pages you will be challenged for your user name and password. If you enter from the top drawer chooser page (which would be normal - a suitable page to link to), you will be offered a list of the drawers you are involved in - there is also a link to the form for creating a new drawer.

If you go to a particular drawer, you are presented with a list of the existing envelopes in the order they were created. Envelopes you created will show their contents, those created by others that you have opened will show the contents in bold, unopened ones will have a checkbox marked "open". Check the box if and only if you want to open it.

Below that is space to create two new envelopes, if you wish. Fill in whatever text you want.

Then are two buttons - "make changes" and "reset". "Reset" will clear all the fields of form back as they were before you changed them. "Make changes" will submit the changes and immediately and automatically update the drawer. It then redisplays the form - the envelopes you opened will now show the contents and the new ones will be added. Opening envelopes cannot be reversed. You can delete any of your own envelopes (but a timestamp is shown for when it was created, so you can't recreate an envelope from the past without it being noticeable)

Whenever the form is displayed you are offered space for two new envelopes, so if you need to add five, just add two, click "Make changes", then another two, click "Make changes", then one more and "Make changes".

You can tell if and when your envelopes have been opened because the user name and a timestamp are shown in the "opened" column.

The times of creating and opening envelopes are not shown directly, but by the file rewrite count. This starts at zero when the drawer is created and increases every time a change is made (actually each time "Make changes" is pressed and something really has changed). Choosing the link "Show who and when details for this drawer" will show a list of who was responsible for which rewrite and when it happened. All the times are in GMT, so they may be wrong for you (they will be wrong for me in the summer as well - Peter :-), but they will be self-consistent. Using the rewrite number avoids having to keep the time to the second, while still being sure of the sequence of creations and openings.


If anyone else would like to host a copy of the scripts, I would be happy to make them available. They are perl5 scripts using the module, and run under Apache. They don't use any special database software, just read and write text files. (The owner of the website can of course look at the database files on their own site and cheat, but I wouldn't do that for these ones, of course !)


I will not use the personal information (names and email addresses) of registered users for any purpose other than running the sve system or corresponding directly with you. I will not deliberately make the personal information accessible to anyone other than registered users. I will not supply or pass on the list of names or email addresses to any third party. The information is held on the webserver, though not in a directly-accessible file, and the statements above are dependent on the security of the server.

Page last modified by Peter Furniss, 3 March 2003
Home page
Original hosted under as sve/index.html