THE WELCH COMPANY
440 Davis Court #1602
San Francisco, CA 94111-2496
415 781 5700


S U M M A R Y


DIARY: May 2, 2003 12:40 PM Friday; Rod Welch

Modify SDS records to suppress contacts.

1...Summary/Objective
2...070405 Suppress All Phone Numbers from Publication
3...070405 Suppress Email Address from SDS Records Published
4...0501 Suppress Personal Email Address to Correspondence
5...0122 Remove Email Address from Publishing on Internet


..............
Click here to comment!

CONTACTS 

SUBJECTS
Confidentiality Contacts Suppress Publication on Internet
Contacts Remove Personal Phones, Beepers
Personal Phones in Contacts Remove from Published Records
Cell Phones in Contacts Remove from Published Records
Phones Remove from Published SDS Records on Web
Telephone Numbers Email Address Suppress Publication in SDS Records o
Email Address Suppress Publication in SDS Records on Internet Cell Ph

0809 -
0809 -    ..
0810 - Summary/Objective
0811 -
081101 - Follow up ref SDS 3 0000.
081102 -
081103 - Removed all phone numbers and email addresses from contact field of
081104 - SDS records published on the Internet.  This strengthens
081105 - confidentiality. ref SDS 0 PPUY
081107 -  ..
081108 - Is this adequate?
081110 -  ..
081111 - We could remove the entire Contact section from published records?
081112 -
081113 -     Should remove personal phone numbers and email address from
081114 -     formal correspondence published on Internet.
081115 -
081116 -     Planning and work is shown below. ref SDS 0 1G4L
081118 -  ..
081119 - In that case, there is an issue of when internal distribution is made
081120 - on an Intranet?  People want a simple, common way to get contact
081121 - information.  Perhaps this could be by creating a supplemental contact
081122 - file that points to attendees of a meeting, as Gary suggested the
081123 - other day.  This would be an extra step, but wouldn't take long to
081124 - grab from the Contact field and put it in a file for reference when
081125 - needed.
081126 -
081127 -
081129 -  ..
0812 -
0813 -
0814 - Background
0815 -
081501 - On 980331 Morris suggested removing personal contact information like
081502 - home phone and cell phones from SDS records published on the Internet.
081503 - ref SDS 1 0001
081505 -  ..
081506 - This was done at that time on 980331. ref SDS 1 MK45
081508 -  ..
081509 - Recently on 040417 Geoff Raines at DOD reported that posting email
081510 - addresses results in people getting a lot of unsolicited sales
081511 - contacts, called spam. ref SDS 3 0001  This suggests a further
081512 - improvement would be to avoid posting email addresses on the Internet.
081513 - Evidently, there are "engine" software programs that search the
081514 - Internet for email addresses and then automatically send sales and
081515 - other invasive and intrusive mailings, continuously.
081517 -  ..
081518 - We can address this by also suppressing the email address from SDS
081519 - records and other documents published on the Internet, like formal
081520 - correspondence.
081521 -
081522 -
081523 -
081525 -  ..
0816 -
0817 -
0818 - Progress
0819 -
081901 - 070405  Suppress All Phone Numbers from Publication
081902 -
081903 - Line 900, ref OF 3 PQ5K, -label celL2
081904 -
081905 -    Decided to go ahead and remove all phone numbers for individuals
081906 -    from contacts published on the Internet, including main phone
081907 -    number of a business.
081908 -
081909 -
081911 -  ..
081912 - 070405  Suppress Email Address from SDS Records Published
081913 -
081914 - Line 930, ref OF 3 MV5K, -label celL2 in 070405
081915 -
081916 -    fr/@/
081917 -    -if @0 = 2 immed d
081918 -
081919 -        Look for @ symbol in a contact line, and if there, remove the
081920 -        line.
081921 -
081922 -
081923 -
081924 -
0820 -

SUBJECTS
Email Address in Signature Block Macro 0501
Addressee Address and Salutation, 0501
Email Address in Addressees Address and Salutation, 0501
Suppress Email Address in Published SDS Records
Planning Address
Confidentiality Prevent Publication on Internet of Entire Document, 0
Publication Prevent on Internet Email Address Confidentiality 030502
Access to Directories, Records on the Web
Email Address

171101 -  ..
171102 - 0501  Suppress Personal Email Address to Correspondence
171103 -
171104 - Follow up ref SDS 2 ZE7F.
171105 -
171106 - Current theory is to enter email address in two ways....
171107 -
171108 -    1.  Addressee, since email has become a principal form of address.
171110 -         ..
171111 -    2.  Signature block.
171113 -         ..
171114 -    3.  Copy to listing
171116 -         ..
171117 -    4.  Text of correspondence.
171119 -  ..
171120 - This is handy, but the problem is that when correspondence is
171121 - published on the Internet marketing and virus search engines look for
171122 - email addresses to send improper transmissions that cause harm to the
171123 - people we are trying to help.
171125 -  ..
171126 - Therefore, for the time being will suppress using the email address
171127 - as part of formal correspondence.
171129 -  ..
171130 - On 021013 macro file 0501 was modified to call macro 1305 in 000009 to
171131 - enter an email in the addressee's address and in the sender's
171132 - signature block. ref SDS 2 TI9H
171134 -  ..
171135 - We could suppress this code to avoid publishing email address.  We
171136 - could go ahead and enter it, then delete from publication in macro
171137 - file 0122.  This would provide a record of having sent the document
171138 - via email, which might be important in some situations.
171140 -  ..
171141 - Instead, will identify when a formal correspondence file exists, and
171142 - only in that case will email addresses be suppressed.  Publications
171143 - and other files taken from the Internet that already have email
171144 - addresses, will assume there is permission and intent to publish.
171146 -  ..
171147 - Line 410, ref OF 2 P96F, -label npcN in 0501 about 30 lines below
171148 -
171149 -    setcnt 113 661
171150 -    setgbl 113 661
171151 -
171152 -        Counter 113 sets flag to identify formal correspondence.
171153 -
171154 -
171155 -
171157 -  ..
171158 - 0122  Remove Email Address from Publishing on Internet
171159 -
171160 -    Considered adding here code to remove email addresses from
171161 -    publication on the Internet.
171163 -     ..
171164 -    This can be accomplished by looking for @ and . on the same line
171165 -    and with char on both sides.  This is a fairly unique condition.
171166 -    However, we want to treat two circumstances differently.  The line
171167 -    with an email address that is part of an addressee's address or for
171168 -    the sender's signature block in those cases the entire line should
171169 -    be deleted in order to maintain the format.  In the case of an
171170 -    email address that is part of a "Copy to" line, only the email
171171 -    address should be deleted, and not the entire line.  We don't have
171172 -    to treat BCC condition, because those lines are removed before this
171173 -    operation runs.  There is an issue of when an email address is
171174 -    beneath the name in a Copy to list, which is a format that is
171175 -    supported by SDS letter writing operations.  We can test for line
171176 -    length and where the line is blank after splitting off the email
171177 -    address will delete that line.
171179 -     ..
171180 -    Another condition is when there is an email address in the body of
171181 -    the document, as when an email address is part of the message.  We
171182 -    are probably okay deleting this from publication on the Interent,
171183 -    then we need to verify that only the email address is deleted and
171184 -    not anything else.
171186 -     ..
171187 -    Decided simple way to handle this is to delete entire line if email
171188 -    address begins on column 1, and to clear the email address after
171189 -    splitting anything to the right of it, when the email address does
171190 -    not begin on column 1, and in this case, join the split portion.
171192 -     ..
171193 -    Another problem is how to maintain a return email address for
171194 -    rodwelch, which is a form of advertising to get feedback.  We could
171195 -    test for the name of the sender, in my case it would be rodwelch,
171196 -    and further could limit the operation of this code to only
171197 -    correspondence.  That way we can put a return email address in
171198 -    foundational documents.
171200 -     ..
171201 -    Decided to test for both formal correspondence and rodwelch.  Email
171202 -    address will only be removed in formal correspondence when 113 =
171203 -    661, and when the email address is not rodwelch. ref SDS 0 SE5H
171204 -
171206 -  ..
171207 - Line 2520, ref OF 1 9360, -label addr in 0122
171208 -
171209 -    -if @113 != 661 -goto cadres
171210 -
171211 -        If this is not a correspondence file, then skip operation to
171212 -        suppress email addresses.  113 = 661 is set in 0501, per above.
171213 -        ref SDS 0 6Z48
171215 -     ..
171216 -    z 1 90
171217 -
171218 -        Zone wide enough in case something strange occurs.
171220 -     ..
171221 -    -label lpead1
171222 -    setcnt 0 0
171223 -    l /@/
171224 -
171225 -        Find @ to evaluate for an email address.
171227 -     ..
171228 -    -if @0 > 0 -goto sndra
171229 -
171230 -        When all @ char are processed, go do the letterhead op.
171232 -     ..
171233 -    loc_cur 0 1
171234 -    fr /@/
171235 -
171236 -        Always start find right from col 1, and look for @ position to
171237 -        test condition for email format.
171238 -
171239 -    -if @0 > 0 -goto sndra
171240 -
171241 -        When all @ symbols are processed, do next op to process
171242 -        letterheads.
171244 -     ..
171245 -    loc_cur 0 1
171246 -    fr /@/
171247 -    *&
171248 -    *&  Enter email name left of @ symbol to remain in correspondence
171249 -    *&
171250 -    fl /rodwelch/
171251 -    -if @0 = 0 -goto lpead1
171252 -    setcnt 0 0
171253 -
171254 -        Start cursor on column 1 and look for @ symbol along the line
171255 -        to move cursor for verifying the @ symbol is used for an email
171256 -        address.  Once positioned beyoned the @ symbol look for
171257 -        rodwelch to the left, and if it is there skip the operation to
171258 -        remove the email address by going to look for another @ symbol,
171259 -        per above, ref SDS 0 KQ4H, so we can use rodwelch as
171260 -        advertising to get feedback.  If rodwelch is not found, then
171261 -        reset error flag so follow on code runs correctly.
171262 -
171264 -  ..
171265 - Line 2540, ref OF 1 B55I, -label lfad2 in 0122
171266 -
171267 -    -label lfad2
171268 -    chrcnt 2 0
171269 -    rel_cur 0 -2
171270 -    chrcnt 1 0
171271 -    -if @1 > 32 -if @2 > 32 -goto lfad3
171272 -
171273 -        Test char in front of and after @ symbol, and if both
171274 -        positions are not a space, keep testing for email address.
171275 -
171276 -    -goto lpead1
171277 -
171278 -        This means either of the positions was a space, and so assume
171279 -        not an email address, go look for another @ to test for email
171280 -        address again. ref SDS 0 02P0
171281 -
171282 -
171284 -  ..
171285 - Line 2550, ref OF 1 ZO6N, -label lfad3 in 0122
171286 -
171287 -    -label lfad3
171288 -    -if @0 = 945 -goto tiaea
171289 -
171290 -        If this is a second pass based on flag 0 = 945 set below, go
171291 -        and test for dot condition. ref SDS 0 6Q4F
171293 -     ..
171294 -    savescr 4
171295 -    fr /./
171296 -
171297 -        Save location in front of @ symbol and look for dot on same
171298 -        line.
171299 -
171300 -    -if @0 > 0 -goto lpead1
171301 -
171302 -        If no dot on the line, then this cannot be an email address, so
171303 -        go look for another @ to test for email address. ref SDS 0 02P0
171304 -
171306 -     ..
171307 -    setcnt 0 945
171308 -    -goto lfad2
171309 -
171310 -        Found a dot, so set flag using 0, since this is reset often and
171311 -        can used for this purpose without requiring a line of code to
171312 -        reset. Go up and use same test for @ to check a char on either
171313 -        side to verify it is a continuous string that connotes an email
171314 -        address. ref SDS 0 H24O
171315 -
171317 -     ..
171318 -    -label tiaea
171319 -                                    Reset error counter and pop cursor back to in
171320 -                                    front of the @ symbol to scroll the cursor to
171321 -                                    the left until either the left side of the
171322 -                                    file is encountered, which is established by
171323 -                                    an error message, or a space char occurs.
171324 -    errorcnt 0 0
171325 -    getscr 4
171326 -
171327 -    -label lpcfsc
171328 -    rel_cur 0 -1
171329 -    -if @0 > 0 -goto idtln
171330 -
171331 -                                        Test the char, and if not blank, do loop
171332 -                                        to test next char to the left.
171333 -    chrcnt 1 0
171334 -    -if @1 > 32 -goto lpcfsc
171335 -
171336 -                                        We found a blank, so move forward one
171337 -                                        position to do a fr so the cursor does not
171338 -                                        find itself.  We need to locate the end of
171339 -                                        the email string and shear off any actual
171340 -                                        text needed for the file.
171341 -    rel_cur 0 1
171342 -
171343 -    -label idtln
171344 -    pushc
171345 -    fr / /
171346 -    chrcnt 1 0
171347 -    -if @1 > 32 split
171348 -    popc
171349 -    -if @0 > 0 -goto dnstl
171350 -    split
171351 -    rel_cur 1 0
171352 -
171353 -    -label dnstl
171354 -    immed d
171355 -    -if @0 > 0 -goto lpead1
171356 -    rel_cur -1 0
171357 -    -if @1 > 32 join
171358 -    -goto lpead1
171359 -
171360 -
171361 -
171362 -
171363 -
171364 -
171365 -
171366 -
171367 -
171368 -
171369 -
171370 -
1714 -