anchor.diff:          return mdFile.readAsString();
         }
       })
  -    .then((String markdown) => ctx.sendJson(buildResponse('handlePostMarkdownFetch', { "markdown": markdown })))
  +    .then((String markdown) {
  +      if (post != null && !post.isPublic()) {
  +        // post exists && private post
  +        markdown = '';
  +      }
  +      ctx.sendJson(buildResponse('handlePostMarkdownFetch', { "markdown": markdown }));
  +    })
       .catchError((e, trace) {
         PinUtility.handleError(e, trace);
         ctx.sendJson(buildResponse('handlePostMarkdownFetch', { "error": "Error encountered in handling markdown fetch!" }, valid: false));
  
positive.code:       if (!PinUtility.isUuid(uuid)) {
          throw new Exception('[CartAction] handlePostMarkdownFetch: Invalid post uuid: ${uuid}');
        }
        CartPost post = CartModel.instance.postList.find(uuid);
        if (post == null) {
          return new Future.value(null); // post not exists, null return
        } else {
  
negative.code:     if (!CartSystem.instance.actionPreProcess(ctx)) {
        return;
      }
      bool isUserMaster = isMaster(ctx);
  
      String uuid;
      CartPost post;
      File mdFile;
  
      HttpBodyHandler.processRequest(ctx.req)
  