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, firstname.lastname@example.org) 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).
your name (used for others to identify when selecting who else has access to the same drawer = who else is in the game)
your email address
some short user name you want to use (I suggest your initials)
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
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 CGI.pm 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
Original hosted under www.furniss.co.uk