How do I remove the DocuSign watermark from a signed PDF? - c#

I have implemented DocuSign in my application for signing the PDF but after making signature some details regarding DocuSign information is displaying in PDF in red color. Please find the Image. Can anyone suggest me how to hide this information from the PDF after making signature?

The watermark in the upper right corner cannot be removed and will be applied to all documents signed in DocuSign's Demo environment. If you would like to have documents signed without that watermark you will need to go live and being making calls in the Production environment.

To elaborate upon Drew's answer:
You're seeing the red watermark on the documents because the Envelope was sent using DocuSign's "demo" environment, which is free and intended for use only as a development/testing environment. (They add the watermark to documents in the "demo" environment to discourage folks from using the "demo" environment for production scenarios without paying for the DocuSign service.)
If you want to send Envelopes and not have the red watermark appear on the documents, you'll need to pay for a DocuSign subscription, and then send your Envelopes using DocuSign's "production" environment.
Also worth noting: if you're using the DocuSign API to send and/or manage Envelopes, you'll need to complete the "API Certification" process to get your Integrator Key approved for use in the production environment, before your API calls will work against production endpoints. For information about that process, see the Go Live with Your DocuSign Integration section here: https://www.docusign.com/developer-center/api-overview#go-live.

Related

Upload document and set signatures with Docusign API

I am assuming with the Docusign developer API I will be able to list documents, their statuses, even have people sign documents within my app. However, I am wondering if the API covers uploading and setting the signature areas of the document.
It would be ideal if I can do everything through my Application.
Upload
List (w/ statuses)
Signatures
I am going to assume the upload and setting signature locations portion will all need to be done through the docusign site.
Yes, the DocuSign API enables you to do all of the workflows in your question.
Upload documents and sign them -- See the C# example and file Eg001EmbeddedSigningController.cs
List envelopes (transactions) and their status. See file Eg003ListEnvelopesController.cs
As an alternative to polling DocuSign for status, you can also add a webhook so DocuSign will make an HTTP POST to your server when an envelope's status changes.

DocuSign Rest API C# Proxy

I'm testing DocuSign integration and I've managed to work out most of the API, but I have one issue I can't resolve.
DESCRIPTION:
- Two documents are added to an envelope
- Each document has one recipient with a SignHere tab for each.
PROBLEM:
When I send the envelope, both recipients see BOTH documents, but I need each recipient to see only the document they have to sign.
STEPS TAKEN:
I read in DS documentation that you need to set the following, which I've done:
eDef.EnforceSignerVisibility = "true";
I also read that you need to enable "Document Visibility" on the account. But when I look at my account properties on the DS site, there is no "Document Visibility" option displayed anywhere.
Does anyone know how to fix this?
The Document Visibility feature is enabled by default on developer sandbox accounts for testing so you should be able to access it. The feature can be found in the Admin section under Sending Settings as seen below.
Can you confirm if you're seeing this option?
I would say that you need to call DocuSign support team and ask them to enable that option for you in your account.
enter image description here
Then, it will be available for your account in admin side.
I hope this help.
It's a little confusing. After contacting support I discovered there are two different ways to sign in to DocuSign, and they use different URL's and have different account numbers.
I was signing in using the standard free account, which apparently has a limited subset of properties available. Once I signed in to the "demo" account, I could see all properties including "Document Visibility."
https://account.docusign.com/#/username
https://account-d.docusign.com/#/username
The first URL is for using a standard account (free or live paid account). The second URL is for signing in using the demo account.
Both accounts have the same email address and password.

Google Maps Geolocation API key in Unity not working properly

I am building an application in Unity (5.4.4f1) that uses the Google Maps API.
It works perfectly so long as I don't add the API key. If I add the API key which I have created using console.developers.google.com I get this error: "You are trying to load data from a www stream which had the following error when downloading. 403 Forbidden". On google's website it is stated that "If you're using the API under the standard plan, you must use an API key set up in a project of your choice.". So although everything works great without having the API key added at the end of the address, I'm worried google might decide to block the app at some point because it is making unauthenticated requests.
The url I am using for making requests is:
http://maps.googleapis.com/maps/api/staticmap?center=____&zoom=____&size=____&scale=____&maptype=____
but if I add "&key=____" at the end, it breaks
I get the same thing if I use it in an empty project with no addons to interfere with the request so it's not from that.
Any suggestions on how to fix it and is it ok to leave it without a key even when I release it to be used by the general public?
I found the solution to my question. To get the "&key=____" to work I had to change some project settings which Google has added for additional security.
For people having the same problem - to fix it you need to do the following: in Google's API Manager you should go to Library then Google Static Maps API (since I'm using that) and then switch to the tab "URL signing secret". There you click "Allow unsigned usage" and you are done.
I tried using the "&signature=____" generated by the secret but that only works if you manually input it on each url change. I didn't see the encryption formula being shown there so I don't think you can script it to happen automatically

Complete Sample of video Creation and on demand token issuance in Azure Media Services

I'm trying to create an elearning system that has videos associated with lessons. When a user gets to a lesson a video needs to play. The videos should not play unless I authenticate that the user can play that video and can play it right now. I'm trying to accomplish this using the azure video player.
I can make this work with azure media services without encryption without issue.
However when I go to do the encryption, the samples are VERY week.
What I'm trying to do is encrypt the video so that it can play on all browsers and have everything that the azure video player needs.
Further, at the time that the user requests to play the video I want to use their authentication with our website to determine if the video should play, and then set the token on the media services.
I would have expected that media services would use oAuth 2 and I could point it at our endpoint with a specific claim required for the specific video the user requested and I would return an auth token or not. But it appears to work backwards from this.
So I've done the following:
Gone into the classic portal (because apparently this hasn't been updated to either use the new portal or the new way of doing storage...)
Created the Media Services account.
Gone to content protection as as best as I can figure from the videos enter Type token for both and json web token.
Under issuer for aes and playready I've put in the path to our oAuth provider, but I"m not at all sure what this should be and I can't find any documentation that explains what this should be.
Scope: Under ae, the samples have something similar to urn:Portal but under playready this has to be a full URI, which I can't figure out what's supposed to be there.
I created the verification keys for both types
I have no idea what to put in claims or how this is relevant.
License type = non-persistent
Passing Video Content to Unknown Outputs I have set to Allowed. I don't know what allowed with constriction does or how it should be setup.
Allow test devices is enabled for now.
Then in my encoding stuff I've put in the following after creating the asset from samples:
//Add encryption
var key = CreateEnvelopeTypeContentKey(context, finalAsset);
var tokenTemplateString = AddTokenRestrictedAuthorizationPolicy(context, key, audience, issuer);
CreateAssetDeliveryPolicy(context, finalAsset, key);
var tokenTemplate = TokenRestrictionTemplateSerializer.Deserialize(tokenTemplateString);
var rawKey = EncryptionUtils.GetKeyIdAsGuid(key.Id);
string testToken = TokenRestrictionTemplateSerializer.GenerateTestToken(tokenTemplate, null, rawKey);
But if I try and enable this stuff to get playready, wildvine AND BaselineHttp it all blows up and I cannot find examples of all 3 (which appear to be required for Chrome, Firefox and IE/Edge to work reliably) enabled and working in the code as you'd expect. (note the methods called above are directly from the samples)
Further I can't figure out how to use the verification keys from the portal in this code because I can't find any samples on this.
And presumably this sets up the asset to have it's own authentication. Although I can't tell. But what I want and need to do is have each asset be separately authentication by the asset and by the user and not have the bearer token be usable anywhere else.
At this point I'm completely lost, because the only code I can find to generate the JWT is the test stuff which obviously shouldn't be used in production.
What I'm looking for is code that doesn't use Azure AD and allows me to do my own, so that when a user wants to watch a video, they come to me, I say, yup, you're good, here's your token just for you and only you and no one else that is created just for you in C# in my web api that returns the token in the json response.
Then I want to set it in the security credentials (and put all of the permutations in!) so that it will just work on the browser in question (ie, edge, firefox, chrome, safari) and the player sends that along with the rest and the video just plays no matter what browser.
But since I can neither encrypt the video with the right keys, nor encrypt it for all permutations based on the samples nor find any example of creating the JTW properly based on the shared keys and whatever I need to store in my database based on the encryption process I'm stuck.
So is there a sample somewhere that takes you through this full process to make this work in any web browser when done and generate the encryption for all of them, and the token for the client on a per issue basis?
If not, can someone help answer these questions?
And if this is MS watching this, I'd suggest that you consider giving us the ability to have just the single url in the client, and pass our oAuth2 bearer token (not yours) and have you use that to single sign on with us, and demand a claim passing the asset id and getting a yea/nea to play the video with a timespan their authorized to play it on the specific client involved. If this is possible now, please provide a full sample or instructions on how this can be accomplished because it's very not clear at this point and everything is geared to AD which isn't useful and there are a ton of missing pieces.
Ultimately, I need to be able to live stream this content on the web and on mobile clients AND be able to download this content encrypted and play it on those same mobile clients offline but still encrypted and locked down. Those last pieces I don't have a clue how to do at this point and I can't find any documentation on either, but I'll ask that separately.
Thanks!
Bonus Reading
Resources found that are relevant but don't answer the question or only partially answer the question and break other parts:
Configure asset delivery policies with .NET SDK 🕗
Use AES-128 dynamic encryption and the key delivery service 🕗
Azure Media Player - Protected Content 🕗
Azure Media Player - Playback Technology ("Tech") 🕗
How to make Token authorized AES encrypted HLS stream working in Safari 🕗
Integrate Azure Media Services OWIN MVC based app with Azure Active Directory 🕗 (this one appears to be the closest but I've been unable to decouple it from Azure AD)
We don't have lot of samples to build customized Security Token Service (STS), because each business may have its own requirements and lots of customers are doing integration work (i.e. they already have a token issuer service).
As said, I am happy to help you to complete your workflow. You can email me at yanmf#microsoft.com and I could have a call to troubleshoot your workflow.
Cheers,
Mingfei Yan

How to get the pop up(disclaimer Request for signature.. I consent to Electronic...) in embedded docusigning?

I have completed the embedded signing in docusign for my asp.net mvc site. Thanks to folks on SO and docusign documentation I was able to get it all working and was able to get the user signed pdf to download as well.
I just happen to see an embedded signing example at http://loancosample.azurewebsites.net/ and noticed that there is a pop up that shows up prompting the user to consent to use of Electronic signature. I just wish to know if there is any special setting that I need to do to get this in my embedded signing experience ,because currently I am not shown any pop up .. just a continue button and once I hit continue, my document is shown where I need to fill out and sign.
Any help is appreciated as always!
Thanks,
S
One thing to note is in that example they are using the Classic Signing Experience, which gives a different look and feel of the disclosure page.
However, what I assume you are running into is your Consumer Disclosure Frequency set to "Once." If you are doing testing and using the same email address for a recipient then they will only need to accept the disclosure once and all following envelopes will allow you to simply "Continue." If you go to Preferences -> Features and change the Electronic Record and Signature Disclosure frequency to "Always" then you should have to accept it for every envelope.

Categories